I removed the source trunk and downloaded a new one. It compiles further than before but in the end the compilation fails:
But fortunately the webstart gets built after the mac jars, so I can at least build the mac jars and do a lot of trial&error changes and checks for the port issue and see if I can work on the bundle.
Normally with an autoconf setup you issue
You can however tell gcc where to look for the static libraries.
First you check with ldd (like you did) which libraries are necessary. And repeat that step for the necessary libraries itself. If, for example, libexpat.so needs another lib, you need that static library as well. (note: on OSX you would use "otool -L library/binary" instead of ldd).
So you could do
Now if all these measures still fail, then you are in bad luck and you won't be succesful AFAIK.
And another bummer here: the libc and libm libraries are never statically compiled (on newer linuxes). You will only find .so ones and not the static .a ones. It means that it is simply not possible to create a static gpsbabel library.
At least, I don't know how (and I don't consider myself a beginner with regard to compiling).
Code:
[INFO] Building The RouteConverter UI tool for Webstart
[INFO] ------------------------------------------------------------------------
[WARNING] Removing: jnlp from forked lifecycle, to prevent recursive invocation.
[INFO] [buildnumber:create {execution: default}]
[INFO] Storing buildNumber: 1.230 at timestamp: 1277145459199
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'Cp1252' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/Shared/development/RouteConverter/svnRouteConverter/RouteConverterWebstart/src/main/resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] No sources to compile
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'Cp1252' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/Shared/development/RouteConverter/svnRouteConverter/RouteConverterWebstart/src/test/resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] No tests to run.
[INFO] [jar:jar {execution: default-jar}]
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] [webstart:jnlp {execution: default}]
[INFO] No resources found in /Users/Shared/development/RouteConverter/svnRouteConverter/RouteConverterWebstart/src/main/jnlp/resources
[INFO] artifact active project artifact:
artifact = active project artifact:
artifact = active project artifact:
artifact = active project artifact:
artifact = slash.navigation:route-converter6:jar:1.34-SNAPSHOT:compile;
project: MavenProject: slash.navigation:route-converter6:1.34-SNAPSHOT @ /Users/Shared/development/RouteConverter/svnRouteConverter/route-converter6/pom.xml;
project: MavenProject: slash.navigation:route-converter6:1.34-SNAPSHOT @ /Users/Shared/development/RouteConverter/svnRouteConverter/route-converter6/pom.xml;
project: MavenProject: slash.navigation:route-converter6:1.34-SNAPSHOT @ /Users/Shared/development/RouteConverter/svnRouteConverter/route-converter6/pom.xml;
project: MavenProject: slash.navigation:route-converter6:1.34-SNAPSHOT @ /Users/Shared/development/RouteConverter/svnRouteConverter/route-converter6/pom.xml seems to contain the main class: slash.navigation.converter.gui.RouteConverter6 but the jar doesn't seem to contain all dependencies slash/navigation/converter/gui/RouteConverter
[WARNING] artifact active project artifact:
artifact = active project artifact:
artifact = active project artifact:
artifact = active project artifact:
artifact = slash.navigation:route-converter6:jar:1.34-SNAPSHOT:compile;
project: MavenProject: slash.navigation:route-converter6:1.34-SNAPSHOT @ /Users/Shared/development/RouteConverter/svnRouteConverter/route-converter6/pom.xml;
project: MavenProject: slash.navigation:route-converter6:1.34-SNAPSHOT @ /Users/Shared/development/RouteConverter/svnRouteConverter/route-converter6/pom.xml;
project: MavenProject: slash.navigation:route-converter6:1.34-SNAPSHOT @ /Users/Shared/development/RouteConverter/svnRouteConverter/route-converter6/pom.xml;
project: MavenProject: slash.navigation:route-converter6:1.34-SNAPSHOT @ /Users/Shared/development/RouteConverter/svnRouteConverter/route-converter6/pom.xml also contains the main class: slash.navigation.converter.gui.RouteConverter6. IGNORED.
[INFO] Usage: jarsigner [options] jar-file alias
[INFO] jarsigner -verify [options] jar-file
[INFO]
[INFO] [-keystore <url>] keystore location
[INFO]
[INFO] [-storepass <password>] password for keystore integrity
[INFO]
[INFO] [-storetype <type>] keystore type
[INFO]
[INFO] [-keypass <password>] password for private key (if different)
[INFO]
[INFO] [-sigfile <file>] name of .SF/.DSA file
[INFO]
[INFO] [-signedjar <file>] name of signed JAR file
[INFO]
[INFO] [-digestalg <algorithm>] name of digest algorithm
[INFO]
[INFO] [-sigalg <algorithm>] name of signature algorithm
[INFO]
[INFO] [-verify] verify a signed JAR file
[INFO]
[INFO] [-verbose] verbose output when signing/verifying
[INFO]
[INFO] [-certs] display certificates when verbose and verifying
[INFO]
[INFO] [-tsa <url>] location of the Timestamping Authority
[INFO]
[INFO] [-tsacert <alias>] public key certificate for Timestamping Authority
[INFO]
[INFO] [-altsigner <class>] class name of an alternative signing mechanism
[INFO]
[INFO] [-altsignerpath <pathlist>] location of an alternative signing mechanism
[INFO]
[INFO] [-internalsf] include the .SF file inside the signature block
[INFO]
[INFO] [-sectionsonly] don't compute hash of entire manifest
[INFO]
[INFO] [-protected] keystore has protected authentication path
[INFO]
[INFO] [-providerName <name>] provider name
[INFO]
[INFO] [-providerClass <class> name of cryptographic service provider's
[INFO] [-providerArg <arg>]] ... master class file and constructor argument
[INFO]
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[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'.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 minute 43 seconds
[INFO] Finished at: Mon Jun 21 20:37:41 CEST 2010
[INFO] Final Memory: 61M/123M
[INFO] ------------------------------------------------------------------------But fortunately the webstart gets built after the mac jars, so I can at least build the mac jars and do a lot of trial&error changes and checks for the port issue and see if I can work on the bundle.
(21.06.2010, 13:02)routeconverter Wrote: How do you statify a binary? I've tried this:I never heard of the statifier tool and neither of ermine.
user@ubuntu810desktop:~/gpsbabel-1.3.6$ statifier gpsbabel gpsbabel-static
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. And repeat that step for the necessary libraries itself. If, for example, libexpat.so needs another lib, you need that static library as well. (note: on OSX you would use "otool -L library/binary" instead of ldd).
So you could do
Quote:export LDFLAGS=<my location>/liband copy the necessary static libraries from their original location to "<my location>/lib" and then run the compilation like
Quote:export LDFLAGS=/home/spiderman/development/libIf 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
./configure --enable-static --disable-shared
make
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.
And another bummer here: the libc and libm libraries are never statically compiled (on newer linuxes). You will only find .so ones and not the static .a ones. It means that it is simply not possible to create a static gpsbabel library.
At least, I don't know how (and I don't consider myself a beginner with regard to compiling).
