Gregory Shimansky wrote:
Stefano Mazzocchi wrote:
Geir Magnusson Jr. wrote:
anyway, I can't build the native part of harmony/classlib
doing "ant build-native" results in
classlib/depends/libs/linux.x86_64
not being found.
There should be prebuilt ICU binaries. You can build them yourself or
you can take them from HARMONY-1678. Note, for me those libraries had
Oops. It should be HARMONY-1676
libicu*.so.34.1 names while our build wants libicu*.so.34. So I had to
set up links from *34.1 to *34.
If I try to make a symlink between linux.x86_64 and linux.x86_32 (no
idea what I'm doing here, just trying things out), I get
I think this is a wrong thing to do. You cannot link together code built
for different architectures. Linker should have told you that but
apparently it encountered an internal error.
Also don't use x86 versions of lib*.a for libraries in
depends/libs/build/{jpeg,lcms,png}/. That shouldn't work. You need to
find 64-bit versions on your system or build them yourself.
Yesterday I built classlib native stuff successfully (see [classlib]
Building on x86_64 thread) but it wasn't easy. Somehow lib*.a static
libraries weren't meant to be linked to shared libraries on SUSE9, so I
had to replace links in depends/libs/build/{jpeg,lcms,png}/ with links
to shared ones. It seem to have worked, but I couldn't check how well
classlib works since drlvm build on x86_64 is now broken, most likely by
HARMONY-1558.
build-native:
[exec] make: Nothing to be done for `all'.
[exec] make: Nothing to be done for `all'.
[exec] make: Nothing to be done for `all'.
[copy] Copying 1 file to
/home/stefano/src/harmony/classlib/deploy/jdk/jre/bin
[exec] cc -shared -Wl,--version-script,libhythr.exp \
[exec] -Wl,-soname=libhythr.so -o ../libhythr.so \
[exec] ../shared/thread_copyright.o x86_64/thrhelp.o
x86_64/thrspinlock.o hythread.o ../shared/hythreadinspect.o
linuxonexit.o priority.o rasthrsup.o ../shared/rwmutex.o thrcreate.o
thrdsup.o ../shared/thrprof.o -lpthread \
[exec] -Xlinker --start-group
/home/stefano/src/harmony/classlib/deploy/lib/libhypool.a
/home/stefano/src/harmony/classlib/deploy/lib/libhycommon.a -Xlinker
--end-group \
[exec] -lc -lm -ldl
[exec] /usr/bin/ld: x86_64/thrspinlock.o: relocation R_X86_64_PC32
against `hythread_yield' can not be used when making a shared object;
recompile with -fPIC
[exec] /usr/bin/ld: final link failed: Bad value
[exec] collect2: ld returned 1 exit status
[exec] make: *** [../libhythr.so] Error 1
googling it up a little finds
http://sources.redhat.com/ml/binutils/2005-04/msg00649.html
which is a reference to a GCC bug that was apparently fixed a long
time go.
Ah btw,
[EMAIL PROTECTED] ~/src/harmony/classlib $ gcc --version
gcc (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu5)
[EMAIL PROTECTED] ~/src/harmony/classlib $ ld --version
GNU ld version 2.16.91 20060118 Debian GNU/Linux
[EMAIL PROTECTED] ~/src/harmony/classlib $ uname -a
Linux harmony-em64t 2.6.15-27-amd64-generic #1 SMP PREEMPT Sat Sep 16
01:50:50 UTC 2006 x86_64 GNU
Please, bare with my ignorance, I have *zero* knowledge on native stuff
(I moved from x86 assembly on windows to java without going thru C ;-)
No idea what to do now, please help and I can reward you with a freshly
juiced gump run :-)
--
Gregory