Sorry, forgot to attach details.
# Bullseye/testing amd64 qemu VM 2020-01-08


apt update
apt dist-upgrade


apt install systemd-coredump xserver-xorg sddm openbox xterm net-tools mc 
fakeroot gdb navit navit-dbgsym libgps25-dbgsym
apt build-dep navit

reboot



mkdir /home/benutzer/source/libgps25/orig -p
cd    /home/benutzer/source/libgps25/orig
apt source libgps25
cd

mkdir /home/benutzer/source/navit/orig -p
cd    /home/benutzer/source/navit/orig
apt source navit
cd




systemctl start gpsd.service


export DISPLAY=:0

gdb -q --args navit

set width 0
set pagination off
set breakpoint pending on
directory /home/benutzer/source/libgps25/orig/gpsd-3.20
directory /home/benutzer/source/navit/orig/navit-0.5.3+dfsg.1/navit/vehicle/gpsd
b gps_open
run
print gpsdata
print sizeof(*gpsdata)
print sizeof(struct gps_data_t)
up
print priv->gps
print sizeof(*priv->gps)
print sizeof(struct gps_data_t)

down
set logging file /tmp/libgps25-ptype-struct-gps_data_t.txt
set logging on
ptype /o struct gps_data_t
set logging off
up
set logging file /tmp/navit-ptype-struct-gps_data_t.txt
set logging on
ptype /o struct gps_data_t
set logging off







benutzer@debian:~$ gdb -q --args navit
Reading symbols from navit...
Reading symbols from 
/usr/lib/debug/.build-id/ad/4c802fbe455074f8a5eb217f3ade9bddb73bd5.debug...
(gdb) set width 0
(gdb) set pagination off
(gdb) set breakpoint pending on
(gdb) directory /home/benutzer/source/libgps25/orig/gpsd-3.20
Source directories searched: 
/home/benutzer/source/libgps25/orig/gpsd-3.20:$cdir:$cwd
(gdb) directory 
/home/benutzer/source/navit/orig/navit-0.5.3+dfsg.1/navit/vehicle/gpsd
Source directories searched: 
/home/benutzer/source/navit/orig/navit-0.5.3+dfsg.1/navit/vehicle/gpsd:/home/benutzer/source/libgps25/orig/gpsd-3.20:$cdir:$cwd
(gdb) b gps_open
Function "gps_open" not defined.
Breakpoint 1 (gps_open) pending.
(gdb) run
Starting program: /usr/bin/navit 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Breakpoint 1, gps_open (host=host@entry=0x5555556bc137 "localhost", port=0x0, 
gpsdata=0x5555556d4a50) at libgps_core.c:73
73          if (!gpsdata)
(gdb) print gpsdata
$1 = (struct gps_data_t *) 0x5555556d4a50
(gdb) print sizeof(*gpsdata)
$2 = 24008
(gdb) print sizeof(struct gps_data_t)
$3 = 24008
(gdb) up
#1  0x00007ffff56555c3 in vehicle_gpsd_try_open 
(priv=priv@entry=0x55555568f510) at ./navit/vehicle/gpsd/vehicle_gpsd.c:225
warning: Source file is more recent than executable.
225         if (gps_open(source + 7, port, priv->gps)) {
(gdb) print priv->gps
$4 = (struct gps_data_t *) 0x5555556d4a50
(gdb) print sizeof(*priv->gps)
$5 = 20800
(gdb) print sizeof(struct gps_data_t)
$6 = 20800
(gdb) 



benutzer@debian:~$ diff -ty /tmp/libgps25-ptype-struct-gps_data_t.txt 
/tmp/navit-ptype-struct-gps_data_t.txt | head -n 20
/* offset    |  size */  type = struct gps_data_t {                /* offset    
|  size */  type = struct gps_data_t {
/*    0      |     8 */    gps_mask_t set;                         /*    0      
|     8 */    gps_mask_t set;
/*    8      |    16 */    timespec_t online;                   |  /*    8      
|     8 */    timestamp_t online;
/*   24      |     4 */    socket_t gps_fd;                     |  /*   16      
|     4 */    socket_t gps_fd;
/* XXX  4-byte hole */                                             /* XXX  
4-byte hole */
/*   32      |   360 */    struct gps_fix_t {                   |  /*   24      
|   256 */    struct gps_fix_t {
/*   32      |    16 */        timespec_t time;                 |  /*   24      
|     8 */        timestamp_t time;
/*   48      |     4 */        int mode;                        |  /*   32      
|     4 */        int mode;
/* XXX  4-byte hole */                                          |  /* XXX  
4-byte hole */
/*   56      |     8 */        double ept;                      |  /*   40      
|     8 */        double ept;
/*   64      |     8 */        double latitude;                 |  /*   48      
|     8 */        double latitude;
/*   72      |     8 */        double epy;                      |  /*   56      
|     8 */        double epy;
/*   80      |     8 */        double longitude;                |  /*   64      
|     8 */        double longitude;
/*   88      |     8 */        double epx;                      |  /*   72      
|     8 */        double epx;
/*   96      |     8 */        double altitude;                 |  /*   80      
|     8 */        double altitude;
/*  104      |     8 */        double altHAE;                   |  /*   88      
|     8 */        double epv;
/*  112      |     8 */        double altMSL;                   |  /*   96      
|     8 */        double track;
/*  120      |     8 */        double epv;                      |  /*  104      
|     8 */        double epd;
/*  128      |     8 */        double track;                    |  /*  112      
|     8 */        double speed;
/*  136      |     8 */        double epd;                      |  /*  120      
|     8 */        double eps;







https://buildd.debian.org/status/fetch.php?pkg=gpsd&arch=amd64&ver=3.20-1&stamp=1578160890&raw=0
gcc -o libgps_core.o -c -pthread -Wall -Wcast-align -Wextra 
-Wimplicit-fallthrough -Wmissing-declarations -Wmissing-prototypes 
-Wno-missing-field-initializers -Wno-uninitialized -Wpointer-arith 
-Wreturn-type -Wstrict-prototypes -Wvla -g 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wdate-time -O2 -pthread -D_FORTIFY_SOURCE=2 
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include 
libgps_core.c





https://buildd.debian.org/status/fetch.php?pkg=navit&arch=amd64&ver=0.5.3%2Bdfsg.1-2%2Bb1&stamp=1571055435&raw=0

Setting up libgps-dev (3.19-2) ...

cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/navit/vehicle/gpsd && /usr/bin/gcc 
-DBIN_DIR=\"bin\" -DHAVE_LIBGPS19=1 -DIMAGE_DIR=\"share/navit/icons\" 
-DLIB_DIR=\"lib/navit\" -DLOCALE_DIR=\"share/locale\" 
-DMAN_DIR=\"share/man/man1\" -DMODULE=vehicle_gpsd -DSHARE_DIR=\"share/navit\" 
-Dvehicle_gpsd_EXPORTS -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 
-I/usr/include/cairo -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include 
-I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu -I/<<PKGBUILDDIR>> 
-I/<<PKGBUILDDIR>>/navit -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/navit 
-I/<<PKGBUILDDIR>>/navit/support -I/<<PKGBUILDDIR>>/navit/font/freetype 
-I/<<PKGBUILDDIR>>/navit/graphics/gtk_drawing_area 
-I/<<PKGBUILDDIR>>/navit/gui/gtk -I/<<PKGBUILDDIR>>/navit/vehicle/gpsd 
-I/<<PKGBUILDDIR>>/navit/binding/dbus -I/<<PKGBUILDDIR>>/navit/speech/dbus 
-I/<<PKGBUILDDIR>>/navit/speech/cmdline 
-I/<<PKGBUILDDIR>>/navit/vehicle/gpsd_dbus 
-I/<<PKGBUILDDIR>>/navit/speech/speech_dispatcher 
-I/<<PKGBUILDDIR>>/navit/map/garmin -I/<<PKGBUILDDIR>>/navit/graphics/null 
-I/<<PKGBUILDDIR>>/navit/osd/core -I/<<PKGBUILDDIR>>/navit/vehicle/demo 
-I/<<PKGBUILDDIR>>/navit/vehicle/file -I/<<PKGBUILDDIR>>/navit/vehicle/null 
-I/<<PKGBUILDDIR>>/navit/gui/internal -I/<<PKGBUILDDIR>>/navit/map/binfile 
-I/<<PKGBUILDDIR>>/navit/map/filter -I/<<PKGBUILDDIR>>/navit/map/mg 
-I/<<PKGBUILDDIR>>/navit/map/shapefile -I/<<PKGBUILDDIR>>/navit/map/textfile 
-I/<<PKGBUILDDIR>>/navit/map/csv -I/<<PKGBUILDDIR>>/navit/plugin/pedestrian 
-I/<<PKGBUILDDIR>>/navit/fib-1.1 -isystem /usr/include/gtk-2.0  -g -O2 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wundef 
-Wcast-align -Wpointer-arith -Wno-unused-parameter -Wno-sign-compare 
-Wno-missing-field-initializers  -Wextra  -Wmissing-prototypes  
-Wstrict-prototypes  -Wformat-security  -g -O2 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC   -fPIC   -o 
CMakeFiles/vehicle_gpsd.dir/vehicle_gpsd.c.o   -c 
/<<PKGBUILDDIR>>/navit/vehicle/gpsd/vehicle_gpsd.c


https://sources.debian.org/src/gpsd/3.19-2%7Ebpo10+1/gps.h/#L97
https://sources.debian.org/src/gpsd/3.20-1/gps.h/#L123







benutzer@debian:~$ dpkg -l | grep -E "navit|gps"
ii  gpsd                               3.20-1                         amd64     
   Global Positioning System - daemon
ii  libgps-dev                         3.20-1                         amd64     
   Global Positioning System - development files
ii  libgps25:amd64                     3.20-1                         amd64     
   Global Positioning System - library
ii  libgps25-dbgsym:amd64              3.20-1                         amd64     
   debug symbols for libgps25
ii  navit                              0.5.3+dfsg.1-2+b1              amd64     
   Car navigation system with routing engine
ii  navit-data                         0.5.3+dfsg.1-2                 all       
   Car navigation system with routing engine - data files
ii  navit-dbgsym                       0.5.3+dfsg.1-2+b1              amd64     
   debug symbols for navit
ii  navit-graphics-gtk-drawing-area    0.5.3+dfsg.1-2+b1              amd64     
   Car navigation system with routing engine - GTK+ graphic plugin
ii  navit-gui-internal                 0.5.3+dfsg.1-2+b1              amd64     
   Car navigation system with routing engine - internal GUI








cd /home/benutzer/source/navit
cp orig try1 -a
cd try1/navit-0.5.3+dfsg.1
dpkg-buildpackage


<<PKGBUILDDIR>>/navit/vehicle/gpsd/vehicle_gpsd.c: In function 
‘vehicle_gpsd_callback’:
<<PKGBUILDDIR>>/navit/vehicle/gpsd/vehicle_gpsd.c:177:26: error: incompatible 
types when assigning to type ‘time_t’ {aka ‘long int’} from type ‘timespec_t’ 
{aka ‘struct timespec’}
  177 |         priv->fix_time = data->fix.time;
      |                          ^~~~





https://snapshot.debian.org/package/gpsd/3.19-3/
wget 
https://snapshot.debian.org/archive/debian/20191122T024832Z/pool/main/g/gpsd/gpsd_3.19-3_amd64.deb
wget 
https://snapshot.debian.org/archive/debian/20191122T024832Z/pool/main/g/gpsd/libgps-dev_3.19-3_amd64.deb
wget 
https://snapshot.debian.org/archive/debian/20191122T024832Z/pool/main/g/gpsd/libgps25_3.19-3_amd64.deb
wget 
https://snapshot.debian.org/archive/debian-debug/20191122T024701Z/pool/main/g/gpsd/libgps25-dbgsym_3.19-3_amd64.deb

Reply via email to