gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-dev] chrpath dependency


From: Christian Gagneraud
Subject: [gpsd-dev] chrpath dependency
Date: Fri, 22 Nov 2013 15:26:53 +1300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.1.0

Hi,

As I'm setting up a new machine, I just realised what happens if you don't have chrpath installed (see session log below). build.txt list chrpath as a build dependency, but Sconstruct just print a message (lost in the flow of stuff outputed by scons), shouldn't the build fail if chrpath is not detected?
Is this tool available on *BSD as well or is it linux specific?

Chris

NB: Here is my troubleshooting session (No I hadn't read build.txt at that time!):

Ubuntu 13.10 amd64 box:
$ scons --version
SCons by Steven Knight et al.:
        script: v2.3.0, 2013/03/03 09:48:35, by garyo on reepicheep
        engine: v2.3.0, 2013/03/03 09:48:35, by garyo on reepicheep
        engine path: ['/usr/lib/scons/SCons']
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation
$ gcc --version
gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ scons
[...]
gcc -o libgpsd.so.22.0.0 -pthread -shared -Wl,-Bsymbolic -Wl,-soname=libgpsd.so.22 -Wl,-rpath=/home/christiaga/projects/gpsd -Wl,-rpath=//usr/local/lib bsd_base64.os crc24q.os gpsd_json.os geoid.os isgps.os libgpsd_core.os net_dgpsip.os net_gnss_dispatch.os net_ntrip.os ppsthread.os packet.os pseudonmea.os pseudoais.os serial.os subframe.os timebase.os drivers.os driver_ais.os driver_evermore.os driver_garmin.os driver_garmin_txt.os driver_geostar.os driver_italk.os driver_navcom.os driver_nmea0183.os driver_nmea2000.os driver_oncore.os driver_rtcm2.os driver_rtcm3.os driver_sirf.os driver_superstar2.os driver_tsip.os driver_ubx.os driver_zodiac.os -L. -L/usr/local/lib -lm -lrt -lcap -lrt
rm -f libgpsd.so; ln -s libgpsd.so.22.0.0 libgpsd.so
rm -f libgpsd.so.22; ln -s libgpsd.so.22.0.0 libgpsd.so.22
rm -f libgpsd.so.22.0; ln -s libgpsd.so.22.0.0 libgpsd.so.22.0
[...]
$ scons test_packet
[...]
gcc -o test_packet -pthread -Wl,-rpath=/home/christiaga/projects/gpsd -Wl,-rpath=//usr/local/lib test_packet.o -L. -L/usr/local/lib -lrt -lcap -lgpsd -lgps -lm -lcap
[...]

In both builds: -Wl,-rpath=/home/christiaga/projects/gpsd -Wl,-rpath=//usr/local/lib

$ ldd test_packet
        linux-gate.so.1 =>  (0xb77bb000)
libgpsd.so.22 => /home/christiaga/projects/gpsd/libgpsd.so.22 (0xb775a000) libgps.so.21 => /home/christiaga/projects/gpsd/libgps.so.21 (0xb773c000)
        libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb76ee000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb753a000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb74f7000)
        librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb74ee000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb7405000)
        /lib/ld-linux.so.2 (0xb77bc000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb73e7000)

=> libgpsd.so is found in $PWD

OpenSuse 12.3 amd64 box:
$ scons --version
SCons by Steven Knight et al.:
script: v2.2.0.issue-2856:2676:d23b7a2f45e8[MODIFIED], 2012/08/05 15:38:28, by garyo on oberbrunner-dev engine: v2.2.0.issue-2856:2676:d23b7a2f45e8[MODIFIED], 2012/08/05 15:38:28, by garyo on oberbrunner-dev
        engine path: ['/usr/lib64/python2.7/site-packages/SCons']
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
$ gcc --version
gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012]
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ scons
[...]
gcc -o libgpsd.so.22.0.0 -pthread -shared -Wl,-Bsymbolic -Wl,-soname=libgpsd.so.22 -Wl,-rpath=//usr/local/lib bsd_base64.os crc24q.os gpsd_json.os geoid.os isgps.os libgpsd_core.os net_dgpsip.os net_gnss_dispatch.os net_ntrip.os ppsthread.os packet.os pseudonmea.os pseudoais.os serial.os subframe.os timebase.os drivers.os driver_ais.os driver_evermore.os driver_garmin.os driver_garmin_txt.os driver_geostar.os driver_italk.os driver_navcom.os driver_nmea0183.os driver_nmea2000.os driver_oncore.os driver_rtcm2.os driver_rtcm3.os driver_sirf.os driver_superstar2.os driver_tsip.os driver_ubx.os driver_zodiac.os -L. -L/usr/local/lib -lm -lrt -lrt
rm -f libgpsd.so; ln -s libgpsd.so.22.0.0 libgpsd.so
rm -f libgpsd.so.22; ln -s libgpsd.so.22.0.0 libgpsd.so.22
rm -f libgpsd.so.22.0; ln -s libgpsd.so.22.0.0 libgpsd.so.22.0
[...]
$ scons test_packet
[...]
gcc -o test_packet -pthread -Wl,-rpath=//usr/local/lib test_packet.o -L. -L/usr/local/lib -lrt -lgpsd -lgps -lm
[...]

In both builds: -Wl,-rpath=//usr/local/lib

$ ldd test_packet
        linux-vdso.so.1 (0x00007fff53191000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f7b9f1e9000)
        libgpsd.so.22 => not found
        libgps.so.21 => not found
        libm.so.6 => /lib64/libm.so.6 (0x00007f7b9eeea000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7b9eccd000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f7b9e91f000)

=> libgpsd.so is not found!




reply via email to

[Prev in Thread] Current Thread [Next in Thread]