This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: a question


Dear All,
To avoid the dependency of the binary on any other files so i compiled but with the static linking option , is it sufficient ? the binary now is larger as andrew said , but when i run the binary the following error is appeared :
2009-07-10 19:57:47.608::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
Exception in thread "main" java.lang.ExceptionInInitializerError
  at java.lang.Class.initializeClass(Unknown Source)
  at gnu.java.util.regex.RE.getLocalizedMessage(Unknown Source)
  at gnu.java.util.regex.RESyntax.(Unknown Source)
  at java.lang.Class.initializeClass(Unknown Source)
  at java.util.regex.Pattern.(Unknown Source)
  at java.util.regex.Pattern.compile(Unknown Source)
  at java.util.regex.Pattern.compile(Unknown Source)
  at java.net.URI.(Unknown Source)
  at java.lang.Class.initializeClass(Unknown Source)
  at java.io.File.toURI(Unknown Source)
  at org.mortbay.resource.Resource.newResource(Resource.java:151)
  at org.mortbay.resource.Resource.newResource(Resource.java:120)
  at org.mortbay.jetty.handler.ResourceHandler.setResourceBase(ResourceHandler.java:98)
  at it.unitn.disi.sweb.webinterface.application.Main.main(Unknown Source)
Caused by: java.util.MissingResourceException: Bundle
gnu/java/util/regex/MessagesBundle not found
  at java.util.ResourceBundle.getBundle(Unknown Source)
  at java.util.ResourceBundle.getBundle(Unknown Source)
  at gnu.java.util.regex.RE.(Unknown Source)
  at java.lang.Class.initializeClass(Unknown Source)
  ...13 more
 
i use gcc 4.2.5 when i compile it with a later gcj version 4.4.0 and run , the error is diffrent  :
 Exception in thread "main" java.lang.ExceptionInInitializerError
  at java.lang.Class.initializeClass(Unknown Source)
  at java.lang.Class.initializeClass(Unknown Source)
  at java.text.SimpleDateFormat.(Unknown Source)
  at java.text.SimpleDateFormat.(Unknown Source)
  at org.mortbay.util.DateCache.setTimeZone(DateCache.java:124)
  at org.mortbay.util.DateCache.(DateCache.java:85)
  at org.mortbay.log.StdErrLog.(StdErrLog.java:36)
  at java.lang.Class.initializeClass(Unknown Source)
  at java.lang.Class.forName(Unknown Source)
  at java.lang.Class.forName(Unknown Source)
  at org.mortbay.log.Log.class$(Log.java:52)
  at org.mortbay.log.Log.(Log.java:57)
  at java.lang.Class.initializeClass(Unknown Source)
  at org.mortbay.component.Container.add(Container.java:200)
  at org.mortbay.component.Container.update(Container.java:164)
  at org.mortbay.component.Container.update(Container.java:106)
  at org.mortbay.jetty.Server.setConnectors(Server.java:149)
  at org.mortbay.jetty.Server.addConnector(Server.java:123)
  at it.unitn.disi.sweb.webinterface.application.Main.main(Unknown Source)
Caused by: java.lang.NullPointerException
  at java.io.InputStreamReader.read(Unknown Source)
  at java.io.BufferedReader.fill(Unknown Source)
  at java.io.BufferedReader.readLine(Unknown Source)
  at java.util.Properties.load(Unknown Source)
  at java.util.Properties.load(Unknown Source)
  at java.util.Calendar.(Unknown Source)
  at java.lang.Class.initializeClass(Unknown Source)
  ...18 more
Andrew , is this true way to make a binary that can run without libgcj and jar files libraries or  it is better to use the way that you illustrated , and if  yes , please  tell me some details  .
Many Thanks ,Mohamed Hegazy
> Date: Fri, 10 Jul 2009 17:28:26 +0100
> From: aph@redhat.com
> To: engmohheg@hotmail.com
> CC: gcc-help@gcc.gnu.org
> Subject: Re: a question
> 
> mohammed hegazy wrote:
>  i want to ask a question about gcj output binary ,is the binary
>> depends on the jre
> 
> You'll still need libgcj, the Java runtime library, unless you
> precompile everything and link the whole lot statically.
> 
>> or the jre can be removed , and about the CLASSPATH variable , is it
>> must set? , and if the compilation is used with static linking if in
>> this case , the dependent jar libraries could be removed or not ?.
> 
> They could be, yes, but it's trick and you'll end up with a very large
> executable.  The trick is to compile all the libraries into .a files
> and then like them all together with --whole-archive.  There are more
> subtle ways to do it, but this will usually work.
> 
> Andrew.

_________________________________________________________________
More than messages–check out the rest of the Windows Live™.
http://www.microsoft.com/windows/windowslive/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]