libgcj build crashes

Anthony Green green@cygnus.com
Sat Apr 1 00:00:00 GMT 2000


Matt wrote:
> I'm seeing this exact crash.

I just did a fresh check out, bootstrap and test run with the
following primitive script and everything worked fine.

This was all on an IA-32 Red Hat 6.1 system.

Then I tried rebuilding libgcj with just the --prefix option and it
also worked fine.  You might want to try running this script and
checking on the results (much) later.


---- cut here ---------------------------------------------------------
#!/usr/bin/expect --

# gcj-test.exp v0.1 - a script for testing the latest and greatest gcj

# Copyright (c) 2000  Red Hat, Inc.
#
# gcj-test.exp is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# gcj-test.exp is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU CC; see the file COPYING.  If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.

set prompt "gcj-test$ "
set cvsoptions "-z9"
set toplevel [pwd]

set timeout -1
spawn $env(SHELL)
match_max 100000

# -----------------------------------------------------------------------
# Test for prerequisites

# test for autogen

proc cvs_login { user archive pword } {
    global prompt
    global cvsoptions

    send -- "cvs $cvsoptions -d:pserver:$user:$archive login\r"
    expect -exact "CVS password: "
    send -- "$pword\r"
    expect -exact "$prompt"
}

proc do { cmd } {
    global prompt

    send -- "$cmd\r"
    expect -exact "$prompt"
}

do "export PS1=\"$prompt\""


do "export GCJTESTDIR=`pwd`/`date +\"%Y-%m-%d-%H.%M.%S\"`"
do "mkdir \$GCJTESTDIR"
do "cd \$GCJTESTDIR"
do "rm -rf install && mkdir install && mkdir install/bin"
do "export PATH=`(cd install/bin && pwd)`:\$PATH"

do "cd $toplevel"

# -----------------------------------------------------------------------
# Make sure we have dejagnu installed

if ![file exists tools/bin/runtest] {

    log_file dejagnu.log

    do "mkdir tools"

    do "rm -rf dejagnu && mkdir dejagnu && cd dejagnu"
    send -- "ftp gcc.gnu.org\r"
    expect -exact "):"
    send -- "anonymous\r"
    expect -exact "Password:"
    send -- "gcj-tester@somewhere\r"
    expect -exact "ftp> "
    send -- "cd pub/gcc/infrastructure\r"
    expect -exact "ftp> "
    send -- "hash\r"
    expect -exact "ftp> "
    send -- "binary\r"
    expect -exact "ftp> "
    send -- "get dejagnu-19990614.tar.gz\r"
    expect -exact "ftp> "
    send -- "bye\r"
    expect -exact "$prompt"
    
    do "gzip -d < dejagnu-19990614.tar.gz | tar xfv -"
    do "cd dejagnu-19990614"

    # Apply a patch that isn't in the snapshots yet. :-(
    do "cd dejagnu/lib"
    do "cat target.exp | sed -e \"s/\\\$sources \\\$add_flags/\\\$add_flags \\\$sources/g\" > xxx"
    do "mv xxx target.exp"
    do "cd ../.."

    do "./configure --prefix=`(cd ../../tools && pwd)`"
    do "make"
    do "make install"

    do "cd $toplevel"

    log_file
    do "gzip -f -9 dejagnu.log"
}

do "export PATH=`(cd tools/bin && pwd)`:\$PATH"

do "cd \$GCJTESTDIR"

# -----------------------------------------------------------------------
# Build and install the latest & greatest binutils first.

log_file binutils.log

do "rm -rf binutils && mkdir binutils && cd binutils"
cvs_login anoncvs@anoncvs.cygnus.com /cvs/binutils anoncvs
do "cvs $cvsoptions -d:pserver:anoncvs@anoncvs.cygnus.com:/cvs/binutils co binutils"

do "rm -rf build && mkdir build"
do "cd build"
do "../binutils/configure --prefix=`(cd ../../install && pwd)`"
do "make"
do "make install"

log_file
do "gzip -f -9 binutils.log"

# -----------------------------------------------------------------------
# Now that binutils has been built and installed, let's build and 
# install the latest & greatest GCC.

log_file gcc.log

do "cd \$GCJTESTDIR"

do "rm -rf gcc && mkdir gcc && cd gcc"
cvs_login anoncvs@anoncvs.cygnus.com /cvs/gcc anoncvs
do "cvs $cvsoptions -d:pserver:anoncvs@anoncvs.cygnus.com:/cvs/gcc co egcs-java"
do "cvs $cvsoptions -d:pserver:anoncvs@anoncvs.cygnus.com:/cvs/gcc co egcs-g++"
do "cvs $cvsoptions -d:pserver:anoncvs@anoncvs.cygnus.com:/cvs/gcc co egcs-core"

do "rm -rf build && mkdir build"
do "cd build"
do "../egcs/configure --prefix=`(cd ../../install && pwd)` --enable-threads --with-ld=\$GCJTESTDIR/install/bin/ld --with-as=\$GCJTESTDIR/install/bin/as"
do "make bootstrap-lean LANGUAGES=\"c c++ java\""
do "make install LANGUAGES=\"c c++ java\""

log_file
do "gzip -f -9 gcc.log"

# -----------------------------------------------------------------------
# Now that GCC and binutils have been built and installed, let's build
# and install the latest & greatest libgcj.

log_file libgcj.log

do "cd \$GCJTESTDIR"

do "rm -rf libgcj && mkdir libgcj && cd libgcj"
cvs_login anoncvs@anoncvs.cygnus.com /cvs/java anoncvs
do "cvs $cvsoptions -d:pserver:anoncvs@anoncvs.cygnus.com:/cvs/java co libgcj"

do "rm -rf build && mkdir build"
do "cd build"
do "../libgcj/configure --prefix=`(cd ../../install && pwd)` --enable-threads --disable-multilib --enable-fast-character"
do "make"
do "make install"

log_file
do "gzip -f -9 libgcj.log"

log_file runtest.log

do "cd \$GCJTESTDIR"
do "export LD_LIBRARY_PATH=`(cd install/lib && pwd)`:\$LD_LIBRARY_PATH"

do "rm -rf mauve"

cvs_login anoncvs@anoncvs.cygnus.com /cvs/mauve anoncvs
do "cvs $cvsoptions -d:pserver:anoncvs@anoncvs.cygnus.com:/cvs/mauve co mauve"

do "cd libgcj/build/`libgcj/libgcj/config.guess`/libjava/testsuite"

do "export MAUVEDIR=`(cd \$GCJTESTDIR/mauve && pwd)`"
do "export SUN_JAVAC='gcj -C'"
do "make check"

log_file
do "gzip -f -9 runtest.log"

---- cut here ---------------------------------------------------------


More information about the Java mailing list