public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* 4.9.4 release latest tag does not build - ICE in gcj
@ 2021-09-12  5:38 Jason Vas Dias
  0 siblings, 0 replies; only message in thread
From: Jason Vas Dias @ 2021-09-12  5:38 UTC (permalink / raw)
  To: gcc


Hi -

 I am trying to build GCC 4.9.4, with originally only GCC 4.4.7, on
 a Linux RHEL6 (i686) lxc container under x86_64 Centos-7 -
 so I cloned and built:
  https://github.com/gcc-mirror/gcc/tree/releases/gcc-4.9
 
 with configure flags:
   Target: i686-redhat-linux
Configured with: ../configure --prefix=/usr/local --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/local/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --with-tune=native --with-arch=i686 --build=i686-redhat-linux --enable-serial-configure
Thread model: posix
gcc version 4.9.4 (GCC)
  
 All other compiler components built fine except libjava .

 I see in :
   i686-redhat-linux/libjava/classpath/config.log :
<QUOTE><LIT>
configure:25378: /home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc/gcj -B/home/adm-jason/rpmbuild/BUILD/gcc-releases
-gcc-4.9/i686-redhat-linux/libjava/ -B/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/i686-redhat-linux/libjava/ -B/home/adm-jason/rpmbuild/B
UILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc/ -B/usr/local/i686-redhat-linux/bin/ -B/usr/local/i686-redhat-linux/lib/ -isystem /usr/local
/i686-redhat-linux/include -isystem /usr/local/i686-redhat-linux/sys-include -C -g  -fsource=1.5 -ftarget=1.5 Object.java
libgcj failure: gcj linkage error.
Incorrect library ABI version detected.  Aborting.

gcj: internal compiler error: Aborted (program ecj1)
0x8050bd4 execute
        ../.././gcc/gcc.c:2854
0x8050fa4 do_spec_1
        ../.././gcc/gcc.c:4658
0x80527d2 do_spec_2
        ../.././gcc/gcc.c:4359
0x8053cef do_spec(char const*)
        ../.././gcc/gcc.c:4326
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
configure:25381: $? = 4
configure:25385: error: The Java compiler /home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc/gcj -B/home/adm-jason/rp
mbuild/BUILD/gcc-releases-gcc-4.9/i686-redhat-linux/libjava/ -B/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/i686-redhat-linux/libjava/ -B/
home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc/ -B/usr/local/i686-redhat-linux/bin/ -B/usr/local/i686-redhat-linux
/lib/ -isystem /usr/local/i686-redhat-linux/include -isystem /usr/local/i686-redhat-linux/sys-include -C -g failed (see config.log, check the CLA
SSPATH?)

## ---------------- ##
## Cache variables. ##
## ---------------- ##
</LIT></QUOTE>



If I move i686-redhat-linux/libjava/Makefile to i686-redhat-linux/libjava/Makefile.orig,
and 
  $ echo
  $'all:\n\t/bin/true\ninstall:\n\t/bin/true\ncheck:\n\t/bin/true' \
   > i686-redhat-linux/libjava/Makefile 
,
then 'make DESTDIR=/tmp/$X install' does work and 'make check' does look
OK (except Java parts).
But I'd like to be able to do a clean build including gcj + Java.

I had followed the instructions at:
  https://github.com/spack/spack/issues/8165
to first get 'ecj1' to build successfully:
$ gcj -oecj1 --main=org.eclipse.jdt.internal.compiler.batch.GCCMain \
  /usr/share/java/ecj-4.5.2.jar -L/usr/lib/gcc/i686-redhat-linux/4.4.7/

I then copied this ecj1 successfully built to ~/bin, which is in my
$PATH.

The only gcj + libjava I have is from GCC 4.4.7 - the gcj I run in the
above command is the gcj built from GCC 4.9.4 , which does not have its
libjava (this is what I am trying and failing to build).

The CLASSPATH I had to use to get the above command to work is :

/usr/share/java/ecj-4.5.2.jar:/usr/share/java/eclipse-ecj-4.5.2.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/jaas.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/jce.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/jdbc-stdext.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/jndi-cos.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/jndi-dns.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/jndi-ldap.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/jndi-rmi.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/jndi.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/jsse.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/sasl.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/rt.jar:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/lib/tools.jar:

The repeatable reconfigure command I had to use in
i686-redhat-linux/libjava, to get it to attempt to reconfigure
classpath, after first failing because it did not have a copy
of its source directory's 'libltdl' subdirectory, after I then
copied it, was:

$ CFLAGS='-g -O2' LDFLAGS='' CPPFLAGS=''
CXX='/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc/xgcc
-shared-libgcc
-B/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc
-nostdinc++
-L/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/i686-redhat-linux/libstdc++-v3/src
-L/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/i686-redhat-linux/libstdc++-v3/src/.libs
-L/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/i686-redhat-linux/libstdc++-v3/libsupc++/.libs
-B/usr/local/i686-redhat-linux/bin/ -B/usr/local/i686-redhat-linux/lib/
-isystem /usr/local/i686-redhat-linux/include -isystem
/usr/local/i686-redhat-linux/sys-include' CXXFLAGS='-g -O2
-D_GNU_SOURCE'
CC='/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc/xgcc
-B/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc/
-B/usr/local/i686-redhat-linux/bin/ -B/usr/local/i686-redhat-linux/lib/
-isystem /usr/local/i686-redhat-linux/include -isystem
/usr/local/i686-redhat-linux/sys-include'
GCJ='/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc/gcj
-B/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/i686-redhat-linux/libjava/
-B/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/host-i686-redhat-linux/gcc/
-B/usr/local/i686-redhat-linux/bin/ -B/usr/local/i686-redhat-linux/lib/
-isystem /usr/local/i686-redhat-linux/include -isystem
/usr/local/i686-redhat-linux/sys-include'
/home/adm-jason/rpmbuild/BUILD/gcc-releases-gcc-4.9/libjava/configure
--cache-file=./config.cache --enable-multilib --prefix=/usr/local
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/local/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--disable-libjava-multilib --with-gmp=/usr/local --with-mpfr=/usr/local
--with-mpc=/usr/local --with-tune=native --with-arch=i686
--enable-serial-configure
--enable-languages=c,ada,c++,fortran,java,lto,objc,obj-c++
--program-transform-name=s,y,y, --disable-option-checking
--with-target-subdir=i686-redhat-linux --build=i686-redhat-linux
--host=i686-redhat-linux --target=i686-redhat-linux
--srcdir=../.././libjava --disable-static



That reconfigure, AND the one run by 'make', now fails with the above
ICE .


Anyone seen this ICE or know of any workarounds ?

I would like to get a working version of the latest 4.9 compiler, with 
C11 & C++11 support, working on an i686 RHEL6 box to which I have
just successfully ported a large body of code that previously
only compiled with GCC 2.96 and 3.43 . It now compiles with
GCC 4.4.7, and I'd like to get it compiling with 4.9.x , with
atomics & libsanitizers etc.

It'd be nice to be able to just build the 4.9.4 release without
this blocker - why should I have to disable Java ? 
That libjava + gcj might come in useful sometime.

Any suggestions how to workaround or fix would be much appreciated.

Thank You & Best Regards,
Jason




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-09-12  5:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-12  5:38 4.9.4 release latest tag does not build - ICE in gcj Jason Vas Dias

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).