The time now is Sat 18 May 2013, 22:11
All times are UTC - 4 |
| Author |
Message |
goingnuts
Joined: 07 Dec 2008 Posts: 626
|
Posted: Wed 18 Jul 2012, 13:35 Post subject:
libtool and the missing link Subject description: How to tell libtool to respect "-static"? |
|
Some programs uses libtool when compiling and linking after you have done the ./configure.
As example I pass the following to build binutils:
| Code: |
LD="/usr/i386-linux-uclibc/bin/i386-uclibc-ld" CC="/usr/i386-linux-uclibc/bin/i386-uclibc-gcc -static"
CFLAGS="-pipe -Os -mtune=i386 -Wall -D_BSD_SOURCE -D_GNU_SOURCE" LDFLAGS="-static -Wl,--gc-sections,--sort-common,-s" ./configure --prefix=/usr/i386-linux-uclibc/usr --includedir=/usr/i386-linux-uclibc/usr/include --disable-nls --disable-shared --enable-static
|
...but no matter where I put the "-static" it never turns up in the final linking.
Below a part of the compiling process where the -"static" is present in the first block - but absolutely gone in the second part that actually creates the bin:
| Code: |
/bin/sh ./libtool --tag=CC --mode=link /usr/i386-linux-uclibc/bin/i386-uclibc-gcc -static -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -pipe -Os -mtune=i386 -Wall -D_BSD_SOURCE -D_GNU_SOURCE -static -Wl,--gc-sections,--sort-common,-s -L/usr/i386-linux-uclibc/usr/lib -o ar arparse.o arlex.o ar.o not-ranlib.o arsup.o rename.o binemul.o emul_vanilla.o bucomm.o version.o filemode.o ../bfd/libbfd.la ../libiberty/libiberty.a -lfl -lz -lm
libtool: link: /usr/i386-linux-uclibc/bin/i386-uclibc-gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -pipe -Os -mtune=i386 -Wall -D_BSD_SOURCE -D_GNU_SOURCE -Wl,--gc-sections -Wl,--sort-common -Wl,-s -o ar arparse.o arlex.o ar.o not-ranlib.o arsup.o rename.o binemul.o emul_vanilla.o bucomm.o version.o filemode.o ../bfd/libbfd.la ../libiberty/libiberty.a -lfl -lz -lm
|
By just adding the "-static" to the last command the bin is build static with no problems...Is there a magic flag to be set?
UPDATE: It always help to clear ones mind posting questions...At least for binutils it works if "-Xcompiler -static" is included in LDFLAGS. I will test some other sources were I have the same problem: It works with conky-1.3.0, not with libiconv-1.6.1...
|
|
Back to top
|
|
 |
John Doe
Joined: 01 Aug 2005 Posts: 1689 Location: Michigan, US
|
Posted: Wed 18 Jul 2012, 22:47 Post subject:
|
|
I think you are after the following:
| Code: | | export LDFLAGS+="-static" |
|
|
Back to top
|
|
 |
John Doe
Joined: 01 Aug 2005 Posts: 1689 Location: Michigan, US
|
Posted: Thu 19 Jul 2012, 00:42 Post subject:
|
|
p.s. might be best to stay away from libiconv. I've messed up my system with that before. As best I remember, puppy likes the version that glibc installs.
|
|
Back to top
|
|
 |
technosaurus

Joined: 18 May 2008 Posts: 3843
|
Posted: Sat 21 Jul 2012, 12:50 Post subject:
|
|
In my musl static tool chain I wrote a wrapper that use a for arg in $@ case... to look through $@ for -l* and grokked in my link time options there (also replaced -O[0-3] with -Os and added my goodies in ... saved me from a ton of CLI simulated 3rd button click frustration) - just named it gcc after mving gcc to gcc-real
Not at home right now, here is a link to my old one
http://www.murga-linux.com/puppy/viewtopic.php?p=588232򏧈
_________________ Puppy Web Desktop Now with pet packages - Pet Packaging 100 & 101
|
|
Back to top
|
|
 |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|
[ Time: 0.0476s ][ Queries: 11 (0.0097s) ][ GZIP on ] |