This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

gcj --main error??



Hello,

I try to install the current sources of libgcj on a FreeBSD4 system,
and invariably get the following error:

gcj -B/ccd0/vol/src/cygnus/gcc/obj/freebsd4/i686-pc-freebsd4/libgcj/i686-pc-freebsd4/libjava/ -I../../../../../../libgcj/libjava -g -ffloat-store -o jv-convert --main=gnu.gcj.convert.Convert gnu/gcj/convert/BytesToUnicode.o gnu/gcj/convert/Convert.o gnu/gcj/convert/Input_8859_1.o gnu/gcj/convert/Input_EUCJIS.o gnu/gcj/convert/Input_JavaSrc.o gnu/gcj/convert/Input_SJIS.o gnu/gcj/convert/Input_UTF8.o gnu/gcj/convert/Input_iconv.o gnu/gcj/convert/IOConverter.o gnu/gcj/convert/Output_8859_1.o gnu/gcj/convert/Output_EUCJIS.o gnu/gcj/convert/Output_JavaSrc.o gnu/gcj/convert/Output_SJIS.o gnu/gcj/convert/Output_UTF8.o gnu/gcj/convert/Output_iconv.o gnu/gcj/convert/UnicodeToBytes.o  -L/ccd0/vol/src/cygnus/gcc/obj/freebsd4/i686-pc-freebsd4/libgcj/i686-pc-freebsd4/libjava ./.libs/libgcj.a ./../boehm-gc/.libs/libgcjgc.a -L/ccd0/vol/src/cygnus/gcc/obj/freebsd4/i686-pc-freebsd4/libgcj/i686-pc-freebsd4/libjava/../boehm-gc/.libs ./../zlib/.libs/libzgcj.a -L/ccd0/vol/src/cygnus/gcc/obj/free!
bsd4/i686-pc-freebsd4/libgcj/i686-pc-freebsd4/libjava/../zlib/.libs -L/ccd0/vol/src/cygnus/gcc/obj/freebsd4/i686-pc-freebsd4/libgcj/i686-pc-freebsd4/libjava/.libs -Wl,--rpath -Wl,/usr/vol/opt/freebsd4/gcc-20001006/lib
/var/tmp/ccw38829main%O: In function `main':
/var/tmp/ccX38829main.i:11: undefined reference to `gnu::gcj::convert::Convert::class$'
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
collect2: ld returned 1 exit status
make[2]: *** [jv-convert] Error 1
make[2]: Leaving directory `/ccd0/vol/src/cygnus/gcc/obj/freebsd4/i686-pc-freebsd4/libgcj/i686-pc-freebsd4/libjava'

I cvsupped the latest sources for binutils and gcc, and configured and build
with the following settings:

export CFLAGS=' -O2 -march=i586 -mcpu=i686 '
export CXXFLAGS=' -O2 -march=i586 -mcpu=i686 '
export FFLAGS=' -O2 -march=i586 -mcpu=i686 '
export GCJFLAGS=' -O2 -march=i586 -mcpu=i686 '
export JAVAFLAGS=' -O2 -march=i586 -mcpu=i686 '
(NB, I also tried with -O2 only, and by not setting them at all; same result)

Configured with:  --verbose --host=i686-pc-freebsd4 --with-gnu-as --with-gnu-ld --disable-shared --prefix=/usr/vol/opt/freebsd4/gcc-20001006
gcc version 2.97 20001009 (experimental)

make check gives fairly good results:
(NB, make check-binutils and check-gas gave no errors, make check-ld only
fails bootstrap-tests)

                === libio Summary ===
# of expected passes            40

                === libstdc++ Summary ===
# of expected passes            26
# of unexpected failures        2
# of expected failures          2

                === gcc Summary ===
# of expected passes            14012
# of unexpected failures        12
# of unexpected successes       10
# of expected failures          81
# of unsupported tests          20

                === g++ Summary ===
# of expected passes            5877
# of unexpected failures        154
# of unexpected successes       1
# of expected failures          92
# of untested testcases         14

                === g77 Summary ===
# of expected passes            989
# of unexpected failures        1
# of unexpected successes       2

                === objc Summary ===
# of expected passes            22
# of unexpected failures        24
# of untested testcases         2

After a make install of the compiler, I configured ligcj as follows
in the object-tree:

mkdir i686-pc-freebsd4/libgcj

/ccd0/vol/src/cygnus/gcc/libgcj/configure --cache-file=../config.cache --host=i686-pc-freebsd4 --build=i686-pc-freebsd4 --enable-multilib --with-gcc-version-trigger=/ccd0/vol/src/cygnus/gcc/gcc/version.c --verbose --with-gnu-as --with-gnu-ld --disable-shared --prefix=/usr/vol/opt/freebsd4/gcc-20001006 --srcdir=../../../../libgcj --with-target-subdir=i686-pc-freebsd4


Bon, FYI deja, and if anyone has a clue how to solve this (I don't know much
about internal compiler functioning, but a quick glance at the cvs logs made
me wonder whether e.g. the --main option follows the new symbol naming
conventions between C++ and JAVA ...)

Thank you very much in advance.

Arno

-- 

  Arno J. Klaassen

  SCITO S.A.                   INSERM U483
  Le Grand Sablon              University Pierre et Marie Curie
  4, avenue de l'Obiou         9, quai Saint Bernard
  38700 La Tronche             75 252 Paris Cedex 5

  arno@ccr.jussieu.fr


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]