Compiling Scala-generated bytecode

Andrew Hughes gnu.andrew@redhat.com
Mon Oct 20 21:46:00 GMT 2014



----- Original Message -----
> On Mon, 2014-10-20 at 09:04 +0100, Andrew Haley wrote:
> 
> > You have to link with the Scala library, either directly or indirectly.
> > You will want to compile the library to a shared object.
> 
> That's what I thought.
> 
> 
> > Before explaining any more, do you have experience with shared
> > libraries in C and C++?
> 
> Just a tiny bit.
> 
> As far as my understanding goes, I'd first create a shared library with
> something like this:
> 
> gcj -fPIC /usr/share/java/scala-library.jar -shared -o scala-library.so
> 
> and then when compiling a Scala program, I'd say:
> 
> gcj --classpath=.:/usr/share/java/scala-library.jar HelloWorld*.class
> scala-library.so
> 
> But I haven't managed to create the shared library. When I attempt to
> run the first command, I get something like:
> 
> scala/collection/immutable/StringLike.scala: In class
> 'scala.collection.immutable.StringLike$class':
> scala/collection/immutable/StringLike.scala: In method
> 'scala.collection.immutable.StringLike
> $class.replaceAllLiterally(scala.collection.immutable.StringLike,java.lang.String,java.lang.String)':
> In file included from scala/collection/immutable/StringLike.scala:28:0,
>                  from scala/collection/immutable/StringLike.scala:190,
>                  from scala/collection/immutable/StringLike.scala:142,
> 		 ...
>                  from scala/AnyVal.scala:7,
>                  from <built-in>:3:
> scala/collection/immutable/StringLike.scala:174:0: error: class
> 'java.util.regex.Pattern' has no method named 'quote' matching signature
> '(Ljava/lang/String;)Ljava/lang/String;'
> In file included from scala/collection/immutable/StringLike.scala:28:0,
>                  from scala/collection/immutable/StringLike.scala:190,
>                  from scala/collection/immutable/StringLike.scala:142,
> 		 ...
> 
> 
> Can you please tell me how to get the shared library?
> 

Which version of gcj are you using? This one looks to be too old to include
the Pattern.quote(String) method needed by Scala.

> 
> --
> Regards,
> Marko
> http://dimjasevic.net/marko
> 
> 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07



More information about the Java-patches mailing list