Re: Compiling Scala-generated bytecode

Marko Dimjašević <[email protected]> Mon, 20 Oct 2014 06:50:34 -0700
Newsgroups gmane.comp.gcc.java.patches
Message-ID <1413813034.4798.20.camel@neelix>
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?


-- 
Regards,
Marko
http://dimjasevic.net/marko
signature.asc (application/pgp-signature, 836 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAABAgAGBQJURRMqAAoJEGjtezy5N0tHolwP+wVtVVWksHz2KuPRte5Auxsw
VNLFuh19/LE9uvjw6OTW7LINtCd0ainhncRHSBfc1heWn0xKGwatCOYdOyx/8/BW
ZdYbNiP2jdZeskYO3lKHDoaoWablFrHdY+jnkdToh0Iilj352oX3+Ict5qLnuEw9
17D5pBDztToK6A8lHRUYnaOM264hgnm64LLN+L4WO0Hs6wi/q0gO/pR0ROllOj0D
vJFfd1EuDz5u6R9L5KDBR1foxl0QIJm0gOHLw/C7MVqy3ekVuhJYwDp/9D33R24w
dNEW8yOU4/n1AjyhYJMVmGfuo3hYcJUJcEXWgRTyK3EU9RVHBzkYAYRd0ZoGizgb
S7tBiTm/bE6ILNFFU1zrNdFwCkYuZ7dzVuh9j2fMYRcTxwPeV7tUYkjiDhZWJxCN
2/WUil1ZS4v1pD2Ul7CzsrsKRJtT23hjBaX8pB0o+7EeW8x0RYzL05+l6Ng+wvil
aSyjqI9kWxkVxOmDwe0OsKTusFGMb19nEpSfb1VFKfbzu8cRmhUHUhT3J59Jkf1W
6hBe1oGd/C7TTew5OL+T1WFbD/mQen/2Fz5vtOGJBitkRC5vL6cMEFt8QCLHujGQ
EThoWAe4jkhjwlwDR7A5mhQ7LsbOuoB7rghJOZUZCVQJUjLi2hiUHn2ZwNBBJy3D
wodA6AUdIx2YzjgDScuF
=SIWz
-----END PGP SIGNATURE-----