22.06.2010, 14:37
(This post was last modified: 22.06.2010, 14:38 by routeconverter.)
(21.06.2010, 19:47)hvdwolf Wrote: [INFO] Result of /bin/sh -c "cd /Users/Shared/development/RouteConverter/svnRouteConverter/RouteConverterWebstart/target/jnlp && /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/jarsigner -signedjar /Users/Shared/development/RouteConverter/svnRouteConverter/RouteConverterWebstart/target/jnlp/catalog-1.34-SNAPSHOT.jar /Users/Shared/development/RouteConverter/svnRouteConverter/RouteConverterWebstart/target/jnlp/unprocessed_catalog-1.34-SNAPSHOT.jar" execution is: '1'.
That step is failing since the Webstart version requires the jars to be signed and thus a key store which I didn't make public. I've just moved the Webstart build plugins to a different profile - does the compilation now succeed on your machine?
(21.06.2010, 19:47)hvdwolf Wrote: Normally with an autoconf setup you issue
Quote:./configure --enable-static --disable-sharedAs long as the system can find dynamic libraries it will use the dynamic libraries, so that won't work on a normal system.
You can however tell gcc where to look for the static libraries.
First you check with ldd (like you did) which libraries are necessary.
So gpsbabel needs
Quote:user@ubuntu810desktop:~/gpsbabel-1.3.6$ ldd gpsbabel
linux-gate.so.1 => (0xb77ff000)
libusb-0.1.so.4 => /lib/libusb-0.1.so.4 (0xb77cd000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb77a7000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb777f000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7621000)
/lib/ld-linux.so.2 (0xb77e5000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7608000
What I understood from your statements below is that the libraries prefixed with /lib/tls cannot be statically linked. So libusb and libexpat the libraries as I didn't find a configure-switch to disable the usb stuff.
(21.06.2010, 19:47)hvdwolf Wrote: So you could doQuote:export LDFLAGS=<my location>/liband copy the necessary static libraries from their original location to "<my location>/lib" and then run the compilation like
export LDFLAGS=/home/spiderman/development/lib
./configure --enable-static --disable-shared
make
That didn't make any difference on my machine. I even moved the *so* stuff from libusb and libexpat away from /usr/lib during the compilation - the binary didn't start without them.
(21.06.2010, 19:47)hvdwolf Wrote: If that doesn't work you can also look in the Makefile for "gcc". Most of the times you will find "CC=gcc" (or just CC=cc). Than you search for all CC occurrences wich you will find in lines like
Quote:$(CC) -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@which you need to change to
Quote:$(CC) -static -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
Now if all these measures still fail, then you are in bad luck and you won't be succesful AFAIK.
I've tried that, but the result is
/usr/lib/libc.a(mktime.o)
.rodata+0x0): multiple definition of `__mon_yday'strptime.o
.rodata+0x220): first defined herecollect2: ld returned 1 exit status
make: *** [gpsbabel] Error 1
(21.06.2010, 19:47)hvdwolf Wrote: It means that it is simply not possible to create a static gpsbabel library.
Unless you're somehow successful or have another hint, I'd better rethink the gpsbabel stuff.
--
Christian
Christian
