make in libjava uses wrong specs to build libgcj...
Bryce McKinlay
mckinlay@redhat.com
Fri Sep 3 20:03:00 GMT 2004
David Daney wrote:
>I have an existing build of libgcj installed. Then I changed
>libgcj.spec and rebuilt. In the rebuild libgcj gets built with the
>libgcj.spec of the previous install instead of the modified version in
>target/libjava/libgcj.spec.
>>It took me a while to figure out why the new specs were not being used.
>>Doing a cut and paste from the make output and adding -v yields
>something like this:
>> /newdisk/programs/mipsel-gccmaincvs/gcc/gcj
>-B/newdisk/programs/mipsel-gccmaincvs/gcc/
>-B/home/test35/mipsel-linux/bin/ -B/home/test35/mipsel-linux/lib/
>-isystem /home/test35/mipsel-linux/include -isystem
>/home/test35/mipsel-linux/sys-include --encoding=UTF-8 -Wno-deprecated
>-fclasspath=
>-fbootclasspath=/newdisk/programs/mipsel-gccmaincvs/mipsel-linux/libjava
>-mxgot -g -O2 -MD -MT java/math/BigInteger.o -MF java/math/BigInteger.o
>-c -MT java/math/BigInteger.o -MD -MP -MF java/math/.deps/BigInteger.Tpo
>-c ../../../gccmaincvs/gcc/libjava/java/math/BigInteger.java -fPIC -v -o
>java/math/.libs/BigInteger.o
>Reading specs from /newdisk/programs/mipsel-gccmaincvs/gcc/specs
>Reading specs from /home/test35/mipsel-linux/lib/libgcj.spec
>rename spec lib to liborig
>.
>.
>.
>>Where /newdisk/programs/mipsel-gccmaincvs is the build dir and
>/home/test35 is the --prefix.
>>So as you can see, it is getting libgcj.spec from the previous install
>rather than the current build.
>>The obvious workaround is to make install with the new specs file and
>then do another clean build so that the libgcj build uses the proper specs.
>>FYI I guess, if someone gives guidance I may try to fix it.
>>>This seems to be an automake problem:
/newdisk/programs/mipsel-gccmaincvs/gcc/gcj
-B/newdisk/programs/mipsel-gccmaincvs/gcc/
-B/home/test35/mipsel-linux/bin/ -B/home/test35/mipsel-linux/lib/
The later two -B flags are incorrect, because they point to the installation directory when building libjava. The AM_PROG_GCJ macro is attaching these to $(GCJ). It should be instead passing the equivalent locations in the _build_ directory.
Bryce
More information about the Java
mailing list