Gregory Shimansky wrote: > Stefano Mazzocchi wrote: >> 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 >>> libicu*.so.34.1 names while our build wants libicu*.so.34. So I had to >>> set up links from *34.1 to *34. >> >> Ok, I've done this. But I still get the same error >> >> [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 >> >> >> I've also tried to change make/properties.xml into >> >> --- properties.xml (revision 472739) >> +++ properties.xml (working copy) >> @@ -116,7 +116,7 @@ >> <equals arg1="${hy.arch}" arg2="ia64"/> >> </condition> >> >> - <condition property="hy.cflags" value="-fpic"> >> + <condition property="hy.cflags" value="-fPIC"> >> <equals arg1="${hy.arch}" arg2="x86_64"/> >> </condition> >> <condition property="hy.cflags" value="-march=pentium3"> >> >> to see if case makes any difference (and 'ant rebuild-native') but it >> didn't. > > Did the -fPIC flag appear in compilation flags of hythread sources? I > think ANT files is not the correct place to set C compilation flags. > They are set somewhere in depends/build/make.include and > depends/build/rules.mk.
Yup. [exec] cc -O1 -fPIC -DLINUX -D_REENTRANT -DIPv6_FUNCTION_SUPPORT -DHYX86_64 -I/home/stefano/src/harmony/classlib/deploy/include -I/home/stefano/src/harmony/classlib/deploy/jdk/include -I. -I../shared/ -fpic -c -o ../shared/hythreadinspect.o ../shared/hythreadinspect.c it appears *twice* actually, so maybe the cancel each-other out? ;-) -- Stefano.