Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 213882 - dev-java/jamvm-1.5.0-r2 failed to build on amd64
Summary: dev-java/jamvm-1.5.0-r2 failed to build on amd64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Java (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-19 02:13 UTC by Donnie Berkholz (RETIRED)
Modified: 2008-03-20 13:41 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (info.txt,4.75 KB, text/plain)
2008-03-19 02:13 UTC, Donnie Berkholz (RETIRED)
Details
compile log (dev-java:jamvm-1.5.0-r2:20080319-020954.log,21.36 KB, text/plain)
2008-03-19 02:14 UTC, Donnie Berkholz (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Donnie Berkholz (RETIRED) gentoo-dev 2008-03-19 02:13:19 UTC
x86_64-pc-linux-gnu-gcc -shared  -Wl,--whole-archive ./.libs/libcore.a -Wl,--no-whole-archive  -lz -ldl -lm -lpthread  -march=native -Wl,-O1 -Wl,--as-needed -Wl,-soname -Wl,libjvm.so.0 -o .libs/libjvm.so.0.0.0
(cd .libs && rm -f libjvm.so.0 && ln -s libjvm.so.0.0.0 libjvm.so.0)
(cd .libs && rm -f libjvm.so && ln -s libjvm.so.0.0.0 libjvm.so)
creating libjvm.la
x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -g -w -fno-tree-vrp -Wl,-O1 -Wl,--as-needed -o jamvm jam.o  ./.libs/libcore.a -lz -ldl -lm -lpthread  
(cd .libs && rm -f libjvm.la && ln -s ../libjvm.la libjvm.la)
./.libs/libcore.a(dll.o): In function `callJNIWrapper':
/var/tmp/portage/dev-java/jamvm-1.5.0-r2/work/jamvm-1.5.0/src/dll.c:387: undefined reference to `callJNIMethod'
./.libs/libcore.a(dll.o): In function `lookupLoadedDlls':
/var/tmp/portage/dev-java/jamvm-1.5.0-r2/work/jamvm-1.5.0/src/dll.c:416: undefined reference to `nativeExtraArg'
collect2: ld returned 1 exit status
make[3]: *** [jamvm] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
 * 
 * ERROR: dev-java/jamvm-1.5.0-r2 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3136:  Called die
 * The specific snippet of code:
 *       emake || die "make failed."
 *  The die message:
 *   make failed.
Comment 1 Donnie Berkholz (RETIRED) gentoo-dev 2008-03-19 02:13:40 UTC
Created attachment 146539 [details]
emerge --info
Comment 2 Donnie Berkholz (RETIRED) gentoo-dev 2008-03-19 02:14:04 UTC
Created attachment 146541 [details]
compile log
Comment 3 Alistair Bush (RETIRED) gentoo-dev 2008-03-19 08:13:03 UTC
Which makes this strikingly similar to

http://bugs.gentoo.org/show_bug.cgi?id=105973#c4

[quote]
On amd64, I had to pass --disable-ffi, otherwise configure fails to find
libffi... even with it installed.

However, make dies with:
make[2]: Entering directory `/tmp/jamvm-1.4.1/src'
gcc  -g -O2   -o jamvm  alloc.o cast.o class.o dll.o excep.o execute.o hash.o
interp.o jam.o jni.o lock.o natives.o reflect.o resolve.o string.o thread.o
utf8.o zip.o properties.o direct.o dll_ffi.o access.o frame.o
os/linux/x86_64/libnative.a os/linux/libos.a -lz -ldl -lm -lpthread
dll.o: In function `callJNIWrapper':
/tmp/jamvm-1.4.1/src/dll.c:322: undefined reference to `callJNIMethod'
dll.o: In function `lookupLoadedDlls':
/tmp/jamvm-1.4.1/src/dll.c:350: undefined reference to `nativeExtraArg'
collect2: ld returned 1 exit status
make[2]: *** [jamvm] Error 1
make[2]: Leaving directory `/tmp/jamvm-1.4.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/jamvm-1.4.1/src'
make: *** [all-recursive] Error 1
[/quote]
Comment 4 Donnie Berkholz (RETIRED) gentoo-dev 2008-03-19 16:48:34 UTC
(In reply to comment #3)
> Which makes this strikingly similar to
> 
> http://bugs.gentoo.org/show_bug.cgi?id=105973#c4
> 
> [quote]
> However, make dies with:
> make[2]: Entering directory `/tmp/jamvm-1.4.1/src'
> gcc  -g -O2   -o jamvm  alloc.o cast.o class.o dll.o excep.o execute.o hash.o
> interp.o jam.o jni.o lock.o natives.o reflect.o resolve.o string.o thread.o
> utf8.o zip.o properties.o direct.o dll_ffi.o access.o frame.o
> os/linux/x86_64/libnative.a os/linux/libos.a -lz -ldl -lm -lpthread
> dll.o: In function `callJNIWrapper':
> /tmp/jamvm-1.4.1/src/dll.c:322: undefined reference to `callJNIMethod'
> dll.o: In function `lookupLoadedDlls':
> /tmp/jamvm-1.4.1/src/dll.c:350: undefined reference to `nativeExtraArg'
> collect2: ld returned 1 exit status
> make[2]: *** [jamvm] Error 1
> make[2]: Leaving directory `/tmp/jamvm-1.4.1/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/tmp/jamvm-1.4.1/src'
> make: *** [all-recursive] Error 1
> [/quote]

Indeed it does. And that seems to have magically disappeared for nichoj between his two attempts to build it. Any ideas?
Comment 5 Donnie Berkholz (RETIRED) gentoo-dev 2008-03-20 02:57:10 UTC
Aha! Apparently amd64 is the only platform that absolutely requires libffi:

http://www.mail-archive.com/classpath@gnu.org/msg10578.html
http://www.mail-archive.com/classpath@gnu.org/msg14207.html

I'm rebuilding my gcc with USE=libffi to test this.
Comment 6 Donnie Berkholz (RETIRED) gentoo-dev 2008-03-20 04:40:26 UTC
(In reply to comment #5)
> Aha! Apparently amd64 is the only platform that absolutely requires libffi:
> 
> http://www.mail-archive.com/classpath@gnu.org/msg10578.html
> http://www.mail-archive.com/classpath@gnu.org/msg14207.html
> 
> I'm rebuilding my gcc with USE=libffi to test this.

Indeed this is the case, and everything build with libffi turned on! With some symlink hacking, I've now gotten the gcjwebplugin from gnu-classpath working (for which jamvm is a dependency).

Could you require USE=libffi for jamvm, and check for gcc with USE=(libffi|gcj)?
Comment 7 Petteri Räty (RETIRED) gentoo-dev 2008-03-20 13:41:03 UTC
libffi use flag package.use.masked on amd64 and the ebuild always checks for libffi on amd64