Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Dec 2015 10:30:26 -0553.75
From:      "William A. Mahaffey III" <wam@hiwaay.net>
To:        FreeBSD toolchain mailing list !!!! <freebsd-toolchain@freebsd.org>
Subject:   More static link questions
Message-ID:  <566855D8.1080700@hiwaay.net>

next in thread | raw e-mail | index | archive | help


I am still having issues statically linking some inhouse code. I (tried 
to) (re)arrange the linker args in my Makefile to link what can be 
statically-linked statically & the rest dynamically, see below.


     .
     .
     .

chmod: /usr/local/bin/PreBFCGL.opteron.TEST.static: No such file or 
directory
*** [/usr/local/bin/PreBFCGL.opteron.TEST.static] Error code 1 (ignored)
ar xv 
/home/wam/V8/Cnx/test/junk/cart/unstaggered/bfc/pre/../lib/R4/opteron/libmaiPre.a 
Main.o
x - Main.o
gcc5 -o /usr/local/bin/PreBFCGL.opteron.TEST.static 
-Wl,-s,--allow-multiple-definition,-rpath=/usr/local/lib/gcc5 Main.o 
-L/home/wam/V8/Cnx/test/junk/cart/unstaggered
/bfc/pre/../lib/R4/opteron -L/home/wam/lib/R4 -L/usr/lib64/openmotif 
-Wl,--start-group -lmaiPre -lPre -lPrecxx -lutils -lftndmp -lftnO2pre 
-lftnO2 -lBC_Phi -license
-Wl,--end-group -lMemIO -lMotif -lStdHash -lmpi -ltet -lgomp -lMrm -lXm 
-lXt -lGL -lGLU -lGLw -lX11 -ljpeg -lpng -lz -lm -static-libgcc -lstdc++ 
-static-libstdc++ -Bs
tatic -lgfortran -static-libgfortran && \rm -f Main.o
chmod -fv go+rx,a-w /usr/local/bin/PreBFCGL.opteron.TEST.static
/usr/local/bin/PreBFCGL.opteron.TEST.static
Done with /usr/local/bin/PreBFCGL.opteron.TEST.static.

     .
     .
     .

 From the compile box:


[wam@devbox, pre, 10:05:02am] 4226 % uname -a
FreeBSD devbox 9.3-RELEASE-p30 FreeBSD 9.3-RELEASE-p30 #0: Mon Nov 2 
10:11:50 UTC 2015 
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
[wam@devbox, pre, 10:05:05am] 4227 %


However, when I copy the statically linked executables over to another 
FreeBSD 9.3R box (this one, as it happens) & try to run it, I get the 
following:


[wam@kabini1, ~, 9:51:46am] 906 % ll -tr LIST /usr/local/bin/[B,P]* 
/usr/local/bin/*WAM* /usr/local/bin/*et*en* ; ps -Taux ; uname -a ; 
/sbin/hwclock -r ; date
lrwxr-xr-x  1 root  wheel        20 Aug 27  2014 
/usr/local/bin/PreBFCGL.TEST@ -> PreBFCGL.TEST.static
lrwxr-xr-x  1 root  wheel        23 Aug 27  2014 
/usr/local/bin/PreBFCGL.TEST.R8@ -> PreBFCGL.TEST.static.R8
-r-xr-xr-x  1 root  wheel     15071 Mar 18  2015 /usr/local/bin/POST*
-rw-------  1 wam   users       437 Jul 11 23:13 LIST
-r-xr-xr-x  1 wam   wheel  11197960 Aug  7 05:40 
/usr/local/bin/PreBFCGL.SSE4.1.TEST.static*
-r-xr-xr-x  1 wam   wheel  11211944 Aug  7 05:40 
/usr/local/bin/PreBFCGL.SSE4.1.TEST.static.R8*
-r-xr-xr-x  1 root  wheel       420 Aug 20 13:15 
/usr/local/bin/rarian-sk-get-extended-content-list*
-r-xr-xr-x  1 root  wheel       400 Aug 20 13:15 
/usr/local/bin/rarian-sk-get-content-list*
lrwxr-xr-x  1 root  wheel        35 Aug 20 13:15 
/usr/local/bin/scrollkeeper-get-extended-content-list@ -> 
rarian-sk-get-extended-content-list
lrwxr-xr-x  1 root  wheel        26 Aug 20 13:15 
/usr/local/bin/scrollkeeper-get-content-list@ -> rarian-sk-get-content-list
-r-xr-xr-x  1 root  wheel      2299 Oct 10 22:20 
/usr/local/bin/pamstretch-gen*
-r-x------  1 wam   wheel   4140184 Dec  7 07:39 
/usr/local/bin/BFC.opteron.TEST.static.R8*
-r-x------  1 wam   wheel   4038096 Dec  7 07:39 
/usr/local/bin/BFC.opteron.TEST.static.R4*
-r-x------  1 wam   wheel   4033688 Dec  7 07:39 
/usr/local/bin/BFC.bdver1.TEST.static.R8*
-r-x------  1 wam   wheel   4047376 Dec  7 07:39 
/usr/local/bin/BFC.bdver1.TEST.static.R4*
lrwxr-xr-x  1 root  wheel        30 Dec  7 07:39 
/usr/local/bin/PreBFCGL.TEST.static.R8@ -> PreBFCGL.bdver1.TEST.static.R8
lrwxr-xr-x  1 root  wheel        27 Dec  7 07:39 
/usr/local/bin/PreBFCGL.TEST.static@ -> PreBFCGL.bdver1.TEST.static
-r-xr-xr-x  1 wam   wheel   6472832 Dec  9 09:50 
/usr/local/bin/PreBFCGL.opteron.TEST.static.R8*
-r-xr-xr-x  1 wam   wheel   6500736 Dec  9 09:50 
/usr/local/bin/PreBFCGL.opteron.TEST.static*
-r-xr-xr-x  1 wam   wheel   6574464 Dec  9 09:50 
/usr/local/bin/PreBFCGL.barcelona.TEST.static*
-r-xr-xr-x  1 wam   wheel   6518848 Dec  9 09:50 
/usr/local/bin/PreBFCGL.barcelona.TEST.static.R8*
-r-xr-xr-x  1 wam   wheel   6422688 Dec  9 09:50 
/usr/local/bin/PreBFCGL.bdver1.TEST.static.R8*
-r-xr-xr-x  1 wam   wheel   6488448 Dec  9 09:50 
/usr/local/bin/PreBFCGL.bdver1.TEST.static*
USER   PID %CPU %MEM   VSZ   RSS TT  STAT STARTED    TIME COMMAND
wam  73608  0.0  0.0 16304  2168 32  R+   10:03AM 0:00.00 ps -Taux
wam  81998  0.0  0.1 91408 20712 32  S     1Nov15 0:45.31 xterm -sl 5000 
-maximized -rv
wam  95269  0.0  0.0 18616  4288 32  Ss   12Oct15 0:02.51 tcsh
FreeBSD kabini1.local 9.3-RELEASE-p24 FreeBSD 9.3-RELEASE-p24 #0: Sat 
Aug 22 01:54:44 UTC 2015 
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
/sbin/hwclock: Command not found.
Wed Dec  9 10:03:28 MCST 2015
[wam@kabini1, ~, 10:03:28am] 907 % PreBFCGL.TEST
/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11 required by 
/usr/local/bin/PreBFCGL.TEST not found
[wam@kabini1, ~, 10:03:30am] 908 % PreBFCGL.TEST.static
/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11 required by 
/usr/local/bin/PreBFCGL.TEST.static not found
[wam@kabini1, ~, 10:03:55am] 909 % PreBFCGL.bdver1.TEST.static
/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11 required by 
/usr/local/bin/PreBFCGL.bdver1.TEST.static not found
[wam@kabini1, ~, 10:04:05am] 910 % uname -a
FreeBSD kabini1.local 9.3-RELEASE-p24 FreeBSD 9.3-RELEASE-p24 #0: Sat 
Aug 22 01:54:44 UTC 2015 
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
[wam@kabini1, ~, 10:06:43am] 911 %


I found that I needed both the '-lstdc++ -static-libstdc++' in the link 
line or the C++ stuff didn't get linked in (i.e., '-static-libstdc++' 
alone doesn't link). The man page for gcc5 carefully mentions using 
'g++' to link C++ code, while mentioning GCC for other static-linker 
options, is that my problem here ? If not, any clues what is :-) ? TIA & 
have a good one.

-- 

	William A. Mahaffey III

  ----------------------------------------------------------------------

	"The M1 Garand is without doubt the finest implement of war
	 ever devised by man."
                            -- Gen. George S. Patton Jr.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?566855D8.1080700>