Re: About static linking with gcj

David Daney <[email protected]>
Newsgroups gmane.comp.gcc.help,gmane.comp.gcc.java.devel
Message-ID <[email protected]>
Andrew Haley wrote:
> [email protected] wrote:
>> Hi all,
>> I'm trying to make  static linking in order to obtain a java executable 
>> to use on a device with few hardisk space.
>> I created a simple java that made 
>> only a "System.out.println" and after c
>> ompiling I obtained am executable file 
>> of 29 MB. Is it possibile to 
>> shrink the size of executable? Am I doing 
>> something worng?
>> This is the command that I'm using.
>>
>>  gcc -o Foo Foo.o Foomain.
>> i -shared-libgcc -Wl,-non_shared -lgcj -Wl,-call_shared -lsupc++ -Wl,--as-
>> needed -lz -lgcc_s -lpthread -lc -lm -ldl -Wl,--no-as-needed
> 
> It's difficult.  The nature of the Java library is such that a lot of
> stuff is required, and you'll find it gets linked in.  SOme folks on the
> gcc list have done work in this area, but it's tricky.
> 

You can use -static-libgcj since GCC-4.2.

Also you can try the patches I posted to java-patches@ recently to try 
to reduce the size of the statically linked applications.

The best I have been able to achieve on GCC-4.3.4 is about 10MB.

David Daney
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.