Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.9.3
    • Component/s: None
    • Labels:
      None
    • Environment:
      x86-64 GNU/Linux
    • Number of attachments :
      2

      Description

      A clean checkout seems to give a broken build. The javah part of the build generates header files in one directory which the C files later try to use by a different name in a different directory.

      The full build transcript is as follows:

      $ svn co https://jikesrvm.svn.sourceforge.net/svnroot/jikesrvm/rvmroot/trunk jikesrvm.clean
      $ cd jikesrvm.clean
      $ ANT_OPTS="-Xmx384M" ant -Dconfig.name=prototype -Drvm.debug-symbols=true -Dhost.name=x86_64-linux -Dcomponents.cache.dir=$HOME/projects/classpath/jikesrvm/cache

      Buildfile: build.xml

      compile-vmmagic-stub:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/vmmagic-stub/classes
      [javac] Compiling 39 source files to /home/andrew/projects/classpath/jikesrvm.clean/target/vmmagic-stub/classes

      compile-mmtk:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/mmtk/classes
      [javac] Compiling 286 source files to /home/andrew/projects/classpath/jikesrvm.clean/target/mmtk/classes
      [javac] Note: Some input files use or override a deprecated API.
      [javac] Note: Recompile with -Xlint:deprecation for details.
      [jar] Building jar: /home/andrew/projects/classpath/jikesrvm.clean/target/mmtk/mmtk.jar

      check-host-name:

      check-host-properties:

      check-config-properties:

      check-target-properties:

      include-gcspy-check:

      prepare-ant-tasks:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/tasks/classes
      [javac] Compiling 14 source files to /home/andrew/projects/classpath/jikesrvm.clean/target/tasks/classes
      [javac] Note: /home/andrew/projects/classpath/jikesrvm.clean/tools/ant-tasks/src/org/jikesrvm/tools/template/GenerateFromTemplate.java uses unchecked or unsafe operations.
      [javac] Note: Recompile with -Xlint:unchecked for details.

      check-components-properties:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/components

      prepare-ant-tasks:

      ensure:
      [echo] ecj does not exist or is of the wrong version. Rebuilding...

      prepare-ant-tasks:

      init-ecj-properties:

      fetch:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/components/ecj/3.2/ecj-3.2
      [echo] Copying from cache to /home/andrew/projects/classpath/jikesrvm.clean/components/ecj/3.2/ecj-3.2/ecj.jar...
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/components/ecj/3.2/ecj-3.2

      build:
      [propertyfile] Creating new property file: /home/andrew/projects/classpath/jikesrvm.clean/components/components.properties

      prepare-ant-tasks:

      ensure:
      [echo] classpath does not exist or is of the wrong version. Rebuilding...

      prepare-ant-tasks:

      init-ecj-properties:

      fetch:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/components/ecj/3.2/ecj-3.2
      [echo] Copying from cache to /home/andrew/projects/classpath/jikesrvm.clean/components/ecj/3.2/ecj-3.2/ecj.jar...
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/components/ecj/3.2/ecj-3.2

      build:
      [propertyfile] Creating new property file: /home/andrew/projects/classpath/jikesrvm.clean/components/components.properties

      prepare-ant-tasks:

      ensure:
      [echo] classpath does not exist or is of the wrong version. Rebuilding...

      prepare-ant-tasks:

      init-classpath-properties:

      get-classpath-from-web:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/components/classpath/97.1p4
      [echo] Copying from cache to /home/andrew/projects/classpath/jikesrvm.clean/components/classpath/97.1p4/classpath-0.97.1.tar.gz...
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/components/classpath/97.1p4

      get-classpath-from-cvs:

      fetch:

      patch-classpath-web:
      [patch] patching file java/lang/Thread.java
      [patch] patching file java/lang/ThreadLocal.java
      [patch] patching file java/lang/InheritableThreadLocal.java
      [patch] patching file java/lang/ThreadLocalMap.java
      [patch] patching file gnu/classpath/CPStringBuffer.java
      [patch] patching file gnu/classpath/CPStringBuffer.java
      [patch] patching file gnu/classpath/CPStringBuilder.java
      [patch] patching file java/lang/reflect/Modifier.java
      [patch] patching file vm/reference/java/lang/reflect/Constructor.java
      [patch] patching file vm/reference/java/lang/reflect/Field.java
      [patch] patching file vm/reference/java/lang/reflect/Method.java
      [patch] patching file gnu/classpath/CPStringBuilder.java
      [patch] patching file gnu/java/awt/font/OpenTypeFontPeer.java
      [patch] patching file gnu/java/awt/font/autofit/Edge.java
      [patch] patching file gnu/java/awt/font/autofit/LatinBlue.java
      [patch] patching file gnu/java/awt/font/autofit/Segment.java
      [patch] patching file gnu/java/awt/font/autofit/Width.java
      [patch] patching file gnu/java/awt/font/opentype/truetype/Point.java
      [patch] patching file gnu/java/awt/java2d/ActiveEdges.java
      [patch] patching file gnu/java/awt/peer/GnomeDesktopPeer.java
      [patch] patching file gnu/java/awt/peer/KDEDesktopPeer.java
      [patch] patching file gnu/java/awt/peer/x/XFontPeer.java
      [patch] patching file gnu/java/lang/CPStringBuilder.java
      [patch] patching file gnu/java/lang/ClassHelper.java
      [patch] patching file gnu/java/lang/reflect/GenericSignatureParser.java
      [patch] patching file gnu/java/lang/reflect/TypeSignature.java
      [patch] patching file gnu/java/net/protocol/http/ChunkedInputStream.java
      [patch] patching file gnu/java/net/protocol/http/Cookie.java
      [patch] patching file gnu/java/net/protocol/http/HTTPConnection.java
      [patch] patching file gnu/java/net/protocol/http/Headers.java
      [patch] patching file gnu/java/net/protocol/http/Request.java
      [patch] patching file java/lang/reflect/Modifier.java
      [patch] patching file java/util/Formatter.java
      [patch] patching file vm/reference/java/lang/reflect/Constructor.java
      [patch] patching file vm/reference/java/lang/reflect/Field.java
      [patch] patching file vm/reference/java/lang/reflect/Method.java
      [patch] patching file gnu/java/lang/CPStringBuilder.java
      [patch] patching file java/lang/reflect/Constructor.java
      [patch] patching file java/lang/reflect/Field.java
      [patch] patching file java/lang/reflect/Method.java
      [patch] patching file vm/reference/java/lang/reflect/Constructor.java
      [patch] patching file vm/reference/java/lang/reflect/Field.java
      [patch] patching file vm/reference/java/lang/reflect/Method.java
      [patch] patching file vm/reference/java/lang/reflect/VMConstructor.java
      [patch] patching file vm/reference/java/lang/reflect/VMField.java
      [patch] patching file vm/reference/java/lang/reflect/VMMethod.java
      [patch] patching file java/lang/reflect/Constructor.java
      [patch] patching file java/lang/reflect/Field.java
      [patch] patching file java/lang/reflect/Method.java
      [patch] patching file vm/reference/java/lang/reflect/VMConstructor.java
      [patch] patching file vm/reference/java/lang/reflect/VMField.java
      [patch] patching file vm/reference/java/lang/reflect/VMMethod.java
      [patch] patching file java/lang/reflect/AccessibleObject.java
      [patch] patching file java/lang/reflect/Constructor.java
      [patch] patching file java/lang/reflect/Field.java
      [patch] patching file java/lang/reflect/Method.java
      [patch] patching file vm/reference/java/lang/reflect/VMConstructor.java
      [patch] patching file vm/reference/java/lang/reflect/VMField.java
      [patch] patching file vm/reference/java/lang/reflect/VMMethod.java
      [patch] patching file java/lang/reflect/Constructor.java
      [patch] patching file java/lang/reflect/Field.java
      [patch] patching file java/lang/reflect/Method.java
      [patch] patching file vm/reference/java/lang/reflect/VMConstructor.java
      [patch] patching file vm/reference/java/lang/reflect/VMField.java
      [patch] patching file vm/reference/java/lang/reflect/VMMethod.java
      [patch] patching file java/util/zip/ZipEntry.java
      [patch] patching file java/util/concurrent/CopyOnWriteArrayList.java
      [patch] patching file java/nio/Buffer.java
      [patch] patching file java/nio/ByteBufferImpl.java
      [patch] patching file java/nio/ByteBuffer.java
      [patch] patching file java/nio/CharBufferImpl.java
      [patch] patching file java/nio/CharBuffer.java
      [patch] patching file java/nio/CharSequenceBuffer.java
      [patch] patching file java/nio/CharViewBufferImpl.java
      [patch] patching file java/nio/DirectByteBufferImpl.java
      [patch] patching file java/nio/DoubleBufferImpl.java
      [patch] patching file java/nio/DoubleBuffer.java
      [patch] patching file java/nio/DoubleViewBufferImpl.java
      [patch] patching file java/nio/FloatBufferImpl.java
      [patch] patching file java/nio/FloatBuffer.java
      [patch] patching file java/nio/FloatViewBufferImpl.java
      [patch] patching file java/nio/IntBufferImpl.java
      [patch] patching file java/nio/IntBuffer.java
      [patch] patching file java/nio/IntViewBufferImpl.java
      [patch] patching file java/nio/LongBufferImpl.java
      [patch] patching file java/nio/LongBuffer.java
      [patch] patching file java/nio/LongViewBufferImpl.java
      [patch] patching file java/nio/MappedByteBufferImpl.java
      [patch] patching file java/nio/MappedByteBuffer.java
      [patch] patching file java/nio/ShortBufferImpl.java
      [patch] patching file java/nio/ShortBuffer.java
      [patch] patching file java/nio/ShortViewBufferImpl.java
      [patch] patching file java/lang/Byte.java
      [patch] patching file java/lang/Character.java
      [patch] patching file java/lang/Double.java
      [patch] Hunk #1 succeeded at 103 (offset -1 lines).
      [patch] Hunk #2 succeeded at 270 (offset -1 lines).
      [patch] Hunk #3 succeeded at 290 (offset -1 lines).
      [patch] Hunk #4 succeeded at 503 (offset -1 lines).
      [patch] patching file java/lang/Float.java
      [patch] Hunk #1 succeeded at 102 (offset -2 lines).
      [patch] Hunk #2 succeeded at 283 (offset -2 lines).
      [patch] Hunk #3 succeeded at 297 (offset -2 lines).
      [patch] Hunk #4 succeeded at 512 (offset -2 lines).
      [patch] patching file java/lang/Integer.java
      [patch] patching file java/lang/Long.java
      [patch] patching file java/lang/Short.java
      [patch] patching file java/util/ArrayList.java
      [patch] patching file java/util/Vector.java
      [patch] Hunk #1 succeeded at 903 (offset -6 lines).
      [patch] Hunk #2 succeeded at 918 (offset -6 lines).

      patch-classpath-cvs:

      patch:

      build:
      [exec] checking build system type... x86_64-unknown-linux-gnu
      [exec] checking host system type... x86_64-unknown-linux-gnu
      [exec] checking target system type... x86_64-unknown-linux-gnu
      [exec] checking for a BSD-compatible install... /usr/bin/install -c
      [exec] checking whether build environment is sane... yes
      [exec] checking for gawk... gawk
      [exec] checking whether make sets $(MAKE)... yes
      [exec] checking how to create a ustar tar archive... gnutar
      [exec] checking for style of include used by make... GNU
      [exec] checking for gcc... /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32
      [exec] checking for C compiler default output file name... a.out
      [exec] checking whether the C compiler works... yes
      [exec] checking whether we are cross compiling... no
      [exec] checking for suffix of executables...
      [exec] checking for suffix of object files... o
      [exec] checking whether we are using the GNU C compiler... yes
      [exec] checking whether /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 accepts -g... yes
      [exec] checking for /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 option to accept ISO C89... none needed
      [exec] checking dependency style of /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32... gcc3
      [exec] checking how to run the C preprocessor... /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 -E
      [exec] checking for grep that handles long lines and -e... /bin/grep
      [exec] checking for egrep... /bin/grep -E
      [exec] checking for ANSI C header files... yes
      [exec] checking for sys/types.h... yes
      [exec] checking for sys/stat.h... yes
      [exec] checking for stdlib.h... yes
      [exec] checking for string.h... yes
      [exec] checking for memory.h... yes
      [exec] checking for strings.h... yes
      [exec] checking for inttypes.h... yes
      [exec] checking for stdint.h... yes
      [exec] checking for unistd.h... yes
      [exec] checking dssi.h usability... no
      [exec] checking dssi.h presence... no
      [exec] checking for dssi.h... no
      [exec] checking whether ln -s works... yes
      [exec] checking for a BSD-compatible install... /usr/bin/install -c
      [exec] checking whether we are using the GNU C++ compiler... yes
      [exec] checking whether /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32 accepts -g... yes
      [exec] checking dependency style of /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32... gcc3
      [exec] checking for a sed that does not truncate output... /bin/sed
      [exec] checking for ld used by /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32... /usr/x86_64-pc-linux-gnu/bin/ld
      [exec] checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
      [exec] checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
      [exec] checking for BSD-compatible nm... /usr/bin/nm -B
      [exec] checking how to recognise dependent libraries... pass_all
      [exec] checking dlfcn.h usability... yes
      [exec] checking dlfcn.h presence... yes
      [exec] checking for dlfcn.h... yes
      [exec] checking how to run the C++ preprocessor... /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32 -E
      [exec] checking for g77... no
      [exec] checking for xlf... no
      [exec] checking for f77... no
      [exec] checking for frt... no
      [exec] checking for pgf77... no
      [exec] checking for cf77... no
      [exec] checking for fort77... no
      [exec] checking for fl32... no
      [exec] checking for af77... no
      [exec] checking for xlf90... no
      [exec] checking for f90... no
      [exec] checking for pgf90... no
      [exec] checking for pghpf... no
      [exec] checking for epcf90... no
      [exec] checking for gfortran... gfortran
      [exec] checking whether we are using the GNU Fortran 77 compiler... yes
      [exec] checking whether gfortran accepts -g... yes
      [exec] checking the maximum length of command line arguments... 32768
      [exec] checking command to parse /usr/bin/nm -B output from /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 object... ok
      [exec] checking for objdir... .libs
      [exec] checking for ar... ar
      [exec] checking for ranlib... ranlib
      [exec] checking for strip... strip
      [exec] checking if /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 supports -fno-rtti -fno-exceptions... yes
      [exec] checking for /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 option to produce PIC... -fPIC
      [exec] checking if /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 PIC flag -fPIC works... yes
      [exec] checking if /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 static flag -static works... yes
      [exec] checking if /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 supports -c -o file.o... yes
      [exec] checking whether the /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_i386) supports shared libraries... yes
      [exec] checking whether -lc should be explicitly linked in... no
      [exec] checking dynamic linker characteristics... GNU/Linux ld.so
      [exec] checking how to hardcode library paths into programs... immediate
      [exec] checking whether stripping libraries is possible... yes
      [exec] checking if libtool supports shared libraries... yes
      [exec] checking whether to build shared libraries... yes
      [exec] checking whether to build static libraries... no
      [exec] configure: creating libtool
      [exec] appending configuration tag "CXX" to libtool
      [exec] checking for ld used by /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32... /usr/x86_64-pc-linux-gnu/bin/ld -m elf_i386
      [exec] checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_i386) is GNU ld... yes
      [exec] checking whether the /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32 linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_i386) supports shared libraries... yes
      [exec] checking for /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32 option to produce PIC... -fPIC
      [exec] checking if /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32 PIC flag -fPIC works... yes
      [exec] checking if /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32 static flag -static works... yes
      [exec] checking if /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32 supports -c -o file.o... yes
      [exec] checking whether the /usr/bin/g++ -w -pipe -ggdb3 -O -fPIC -m32 linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_i386) supports shared libraries... yes
      [exec] checking dynamic linker characteristics... GNU/Linux ld.so
      [exec] checking how to hardcode library paths into programs... immediate
      [exec] appending configuration tag "F77" to libtool
      [exec] checking if libtool supports shared libraries... yes
      [exec] checking whether to build shared libraries... yes
      [exec] checking whether to build static libraries... no
      [exec] checking for gfortran option to produce PIC... -fPIC
      [exec] checking if gfortran PIC flag -fPIC works... yes
      [exec] checking if gfortran static flag -static works... yes
      [exec] checking if gfortran supports -c -o file.o... yes
      [exec] checking whether the gfortran linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_i386) supports shared libraries... yes
      [exec] checking dynamic linker characteristics... GNU/Linux ld.so
      [exec] checking how to hardcode library paths into programs... immediate
      [exec] checking for gcc... (cached) /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32
      [exec] checking whether we are using the GNU C compiler... (cached) yes
      [exec] checking whether /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 accepts -g... (cached) yes
      [exec] checking for /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 option to accept ISO C89... (cached) none needed
      [exec] checking dependency style of /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32... (cached) gcc3
      [exec] checking whether /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 and cc understand -c and -o together... yes
      [exec] checking how to run the C preprocessor... /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 -E
      [exec] checking _attribute_((,,))... yes
      [exec] checking _attribute_((unused))... yes
      [exec] checking for ANSI C header files... (cached) yes
      [exec] checking size of void *... 4
      [exec] checking whether byte ordering is bigendian... no
      [exec] checking for unistd.h... (cached) yes
      [exec] checking for sys/types.h... (cached) yes
      [exec] checking sys/config.h usability... no
      [exec] checking sys/config.h presence... no
      [exec] checking for sys/config.h... no
      [exec] checking sys/ioctl.h usability... yes
      [exec] checking sys/ioctl.h presence... yes
      [exec] checking for sys/ioctl.h... yes
      [exec] checking asm/ioctls.h usability... yes
      [exec] checking asm/ioctls.h presence... yes
      [exec] checking for asm/ioctls.h... yes
      [exec] checking for inttypes.h... (cached) yes
      [exec] checking for stdint.h... (cached) yes
      [exec] checking utime.h usability... yes
      [exec] checking utime.h presence... yes
      [exec] checking for utime.h... yes
      [exec] checking sys/utime.h usability... no
      [exec] checking sys/utime.h presence... no
      [exec] checking for sys/utime.h... no
      [exec] checking sys/filio.h usability... no
      [exec] checking sys/filio.h presence... no
      [exec] checking for sys/filio.h... no
      [exec] checking sys/time.h usability... yes
      [exec] checking sys/time.h presence... yes
      [exec] checking for sys/time.h... yes
      [exec] checking sys/select.h usability... yes
      [exec] checking sys/select.h presence... yes
      [exec] checking for sys/select.h... yes
      [exec] checking crt_externs.h usability... no
      [exec] checking crt_externs.h presence... no
      [exec] checking for crt_externs.h... no
      [exec] checking fcntl.h usability... yes
      [exec] checking fcntl.h presence... yes
      [exec] checking for fcntl.h... yes
      [exec] checking sys/mman.h usability... yes
      [exec] checking sys/mman.h presence... yes
      [exec] checking for sys/mman.h... yes
      [exec] checking magic.h usability... yes
      [exec] checking magic.h presence... yes
      [exec] checking for magic.h... yes
      [exec] checking sys/event.h usability... no
      [exec] checking sys/event.h presence... no
      [exec] checking for sys/event.h... no
      [exec] checking sys/epoll.h usability... yes
      [exec] checking sys/epoll.h presence... yes
      [exec] checking for sys/epoll.h... yes
      [exec] checking ifaddrs.h usability... yes
      [exec] checking ifaddrs.h presence... yes
      [exec] checking for ifaddrs.h... yes
      [exec] checking netinet/in_systm.h usability... yes
      [exec] checking netinet/in_systm.h presence... yes
      [exec] checking for netinet/in_systm.h... yes
      [exec] checking netinet/ip.h usability... yes
      [exec] checking netinet/ip.h presence... yes
      [exec] checking for netinet/ip.h... yes
      [exec] checking net/if.h usability... yes
      [exec] checking net/if.h presence... yes
      [exec] checking for net/if.h... yes
      [exec] checking for library containing inet_pton... none required
      [exec] checking for ftruncate... yes
      [exec] checking for fsync... yes
      [exec] checking for select... yes
      [exec] checking for gethostname... yes
      [exec] checking for socket... yes
      [exec] checking for strerror... yes
      [exec] checking for fork... yes
      [exec] checking for pipe... yes
      [exec] checking for execve... yes
      [exec] checking for open... yes
      [exec] checking for close... yes
      [exec] checking for lseek... yes
      [exec] checking for fstat... yes
      [exec] checking for read... yes
      [exec] checking for readv... yes
      [exec] checking for write... yes
      [exec] checking for writev... yes
      [exec] checking for htonl... yes
      [exec] checking for memset... yes
      [exec] checking for htons... yes
      [exec] checking for connect... yes
      [exec] checking for getsockname... yes
      [exec] checking for getpeername... yes
      [exec] checking for bind... yes
      [exec] checking for listen... yes
      [exec] checking for accept... yes
      [exec] checking for recvfrom... yes
      [exec] checking for send... yes
      [exec] checking for sendto... yes
      [exec] checking for setsockopt... yes
      [exec] checking for getsockopt... yes
      [exec] checking for time... yes
      [exec] checking for mktime... yes
      [exec] checking for gethostbyname_r... yes
      [exec] checking for localtime_r... yes
      [exec] checking for strerror_r... yes
      [exec] checking for fcntl... yes
      [exec] checking for statvfs... yes
      [exec] checking for mmap... yes
      [exec] checking for munmap... yes
      [exec] checking for mincore... yes
      [exec] checking for msync... yes
      [exec] checking for madvise... yes
      [exec] checking for getpagesize... yes
      [exec] checking for sysconf... yes
      [exec] checking for lstat... yes
      [exec] checking for readlink... yes
      [exec] checking for inet_aton... yes
      [exec] checking for inet_addr... yes
      [exec] checking for inet_pton... yes
      [exec] checking for getifaddrs... yes
      [exec] checking for kqueue... no
      [exec] checking for kevent... no
      [exec] checking for epoll_create... yes
      [exec] checking for getloadavg... yes
      [exec] checking for magic_open in -lmagic... yes
      [exec] checking whether struct sockaddr_in6 is in netinet/in.h... yes
      [exec] checking whether time.h and sys/time.h may both be included... yes
      [exec] checking whether struct tm is in sys/time.h or time.h... time.h
      [exec] checking for struct tm.tm_zone... yes
      [exec] checking for tm_gmtoff in struct tm... yes
      [exec] checking for an ANSI C-conforming const... yes
      [exec] checking for inline... inline
      [exec] checking for _attribute_... yes
      [exec] checking how many arguments gethostbyname_r() takes... six
      [exec] checking for ld used by GCC... /usr/x86_64-pc-linux-gnu/bin/ld -m elf_i386
      [exec] checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_i386) is GNU ld... yes
      [exec] /bin/sh: ./config.rpath: No such file or directory
      [exec] checking for shared library run path origin... done
      [exec] checking for iconv... yes
      [exec] checking for iconv declaration...
      [exec] extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
      [exec] checking for MSG_NOSIGNAL... yes
      [exec] checking for SO_NOSIGPIPE ... no
      [exec] checking for MSG_WAITALL... yes
      [exec] checking for gjavah... /home/andrew/build/classpath/bin/gjavah
      [exec] checking jni_md.h support... yes
      [exec] checking if /home/andrew/projects/classpath/jikesrvm.clean/components/ecj/3.2/ecj-3.2/ecj works... yes
      [exec] incorrect classpath:
      [exec] checking whether javac supports -J... yes
      [exec] checking whether to enable maintainer-specific portions of Makefiles... no
      [exec] checking for mkdir... /bin/mkdir
      [exec] checking for cp... /bin/cp
      [exec] checking for date... /bin/date
      [exec] checking for find... /usr/bin/find
      [exec] checking for zip... /usr/bin/zip
      [exec] checking for fastjar... /usr/bin/fastjar
      [exec] checking whether to regenerate parsers with jay... no
      [exec] checking for stdint types... stdint.h (shortcircuit)
      [exec] make use of stdint.h in include/config-int.h (assuming C99 compatible system)
      [exec] configure: creating ./config.status
      [exec] config.status: creating Makefile
      [exec] config.status: creating doc/Makefile
      [exec] config.status: creating doc/api/Makefile
      [exec] config.status: creating external/Makefile
      [exec] config.status: creating external/sax/Makefile
      [exec] config.status: creating external/w3c_dom/Makefile
      [exec] config.status: creating external/relaxngDatatype/Makefile
      [exec] config.status: creating external/jsr166/Makefile
      [exec] config.status: creating gnu/classpath/Configuration.java
      [exec] config.status: creating gnu/java/security/Configuration.java
      [exec] config.status: creating include/Makefile
      [exec] config.status: creating native/Makefile
      [exec] config.status: creating native/fdlibm/Makefile
      [exec] config.status: creating native/jawt/Makefile
      [exec] config.status: creating native/jni/Makefile
      [exec] config.status: creating native/jni/classpath/Makefile
      [exec] config.status: creating native/jni/java-io/Makefile
      [exec] config.status: creating native/jni/java-lang/Makefile
      [exec] config.status: creating native/jni/java-net/Makefile
      [exec] config.status: creating native/jni/java-nio/Makefile
      [exec] config.status: creating native/jni/java-util/Makefile
      [exec] config.status: creating native/jni/gtk-peer/Makefile
      [exec] config.status: creating native/jni/gconf-peer/Makefile
      [exec] config.status: creating native/jni/gstreamer-peer/Makefile
      [exec] config.status: creating native/jni/qt-peer/Makefile
      [exec] config.status: creating native/jni/xmlj/Makefile
      [exec] config.status: creating native/jni/midi-alsa/Makefile
      [exec] config.status: creating native/jni/midi-dssi/Makefile
      [exec] config.status: creating native/jni/native-lib/Makefile
      [exec] config.status: creating native/plugin/Makefile
      [exec] config.status: creating resource/Makefile
      [exec] config.status: creating resource/META-INF/services/java.util.prefs.PreferencesFactory
      [exec] config.status: creating resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader
      [exec] config.status: creating resource/META-INF/services/javax.sound.sampled.spi.MixerProvider
      [exec] config.status: creating scripts/Makefile
      [exec] config.status: creating scripts/classpath.spec
      [exec] config.status: creating lib/Makefile
      [exec] config.status: creating lib/gen-classlist.sh
      [exec] config.status: creating lib/copy-vmresources.sh
      [exec] config.status: creating scripts/check_jni_methods.sh
      [exec] config.status: creating tools/Makefile
      [exec] config.status: creating examples/Makefile
      [exec] config.status: creating examples/Makefile.jawt
      [exec] config.status: creating examples/Makefile.java2d
      [exec] config.status: creating tools/gappletviewer
      [exec] config.status: creating tools/gjarsigner
      [exec] config.status: creating tools/gkeytool
      [exec] config.status: creating tools/gjar
      [exec] config.status: creating tools/gnative2ascii
      [exec] config.status: creating tools/gserialver
      [exec] config.status: creating tools/grmiregistry
      [exec] config.status: creating tools/gtnameserv
      [exec] config.status: creating tools/gorbd
      [exec] config.status: creating tools/grmid
      [exec] config.status: creating tools/grmic
      [exec] config.status: creating tools/gjavah
      [exec] config.status: creating include/config.h
      [exec] config.status: linking ./include/jni_md-x86-linux-gnu.h to include/jni_md.h
      [exec] config.status: executing depfiles commands
      [exec] config.status: executing include/config-int.h commands
      [exec] config.status: creating include/config-int.h : _CLASSPATH_INCLUDE_CONFIG_INT_H
      [exec] config.status: executing gappletviewer commands
      [exec] config.status: executing gjarsigner commands
      [exec] config.status: executing gkeytool commands
      [exec] config.status: executing gjar commands
      [exec] config.status: executing gnative2ascii commands
      [exec] config.status: executing gserialver commands
      [exec] config.status: executing grmiregistry commands
      [exec] config.status: executing gtnameserv commands
      [exec] config.status: executing gorbd commands
      [exec] config.status: executing grmid commands
      [exec] config.status: executing grmic commands
      [exec] config.status: executing gjavah commands
      [exec] config.status: executing gen-classlist commands
      [exec] config.status: executing copy-vmresources commands
      [exec] Making all in lib
      [exec] make[1]: Entering directory `/home/andrew/projects/classpath/jikesrvm.clean/components/classpath/97.1p4/classpath/lib'
      [exec] mkdir -p ../gnu/java/locale
      [exec] ../scripts/generate-locale-list.sh > ../gnu/java/locale/LocaleData.java
      [exec] true
      [exec] top_builddir=.. top_srcdir=.. /bin/sh ./gen-classlist.sh standard
      [exec] Adding java source files from srcdir '..'.
      [exec] Adding java source files from VM directory ../vm/reference
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/components/ecj/3.2/ecj-3.2/ecj -J-Xmx768M -source 1.5 -target 1.5 -bootclasspath '' -classpath ../vm/reference:..:../external/w3c_dom:../external/sax:../external/relaxngDatatype:../external/jsr166:.:: -d . @classes
      [exec] incorrect classpath:
      <numerous classpath warnings omitted>
      [exec] 147 problems (147 warnings)
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/components/classpath/97.1p4/x86_64-linux/lib
      [jar] Building jar: /home/andrew/projects/classpath/jikesrvm.clean/components/classpath/97.1p4/x86_64-linux/lib/src.jar
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/components/classpath/97.1p4/x86_64-linux/lib
      [copy] Copying 7 files to /home/andrew/projects/classpath/jikesrvm.clean/components/classpath/97.1p4/x86_64-linux/lib
      [propertyfile] Updating property file: /home/andrew/projects/classpath/jikesrvm.clean/components/components.properties

      prepare-ant-tasks:

      ensure:
      [echo] checkstyle does not exist or is of the wrong version. Rebuilding...

      prepare-ant-tasks:

      init-checkstyle-properties:

      fetch:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/components/checkstyle/4.3
      [echo] Copying from cache to /home/andrew/projects/classpath/jikesrvm.clean/components/checkstyle/4.3/checkstyle-4.3.tar.gz...
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/components/checkstyle/4.3
      [untar] Expanding: /home/andrew/projects/classpath/jikesrvm.clean/components/checkstyle/4.3/checkstyle-4.3.tar.gz into /home/andrew/projects/classpath/jikesrvm.clean/components/checkstyle/4.3

      build:
      [propertyfile] Updating property file: /home/andrew/projects/classpath/jikesrvm.clean/components/components.properties

      prepare-ant-tasks:

      ensure:
      [echo] asm does not exist or is of the wrong version. Rebuilding...

      prepare-ant-tasks:

      init-asm-properties:

      fetch:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/components/asm/3.0/asm-3.0
      [echo] Copying from cache to /home/andrew/projects/classpath/jikesrvm.clean/components/asm/3.0/asm-3.0/asm.jar...
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/components/asm/3.0/asm-3.0

      build:
      [propertyfile] Updating property file: /home/andrew/projects/classpath/jikesrvm.clean/components/components.properties

      check-classpath-properties:

      check-gcspy-client-properties:

      check-gcspy-properties:

      check-mmtk-properties:

      check-properties:

      gen-source-check:

      prepare-source:

      check-host-name:

      check-host-properties:

      check-config-properties:

      check-target-properties:

      include-gcspy-check:

      prepare-ant-tasks:

      check-components-properties:

      prepare-ant-tasks:

      ensure:

      prepare-ant-tasks:

      ensure:

      prepare-ant-tasks:

      ensure:

      prepare-ant-tasks:

      ensure:

      check-classpath-properties:

      check-gcspy-client-properties:

      check-gcspy-properties:

      check-mmtk-properties:

      check-properties:

      gen-vmmagic-word:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/vmmagic/32/java/org/vmmagic/unboxed
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/vmmagic/64/java/org/vmmagic/unboxed
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/vmmagic/32/java/org/vmmagic/unboxed
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/vmmagic/64/java/org/vmmagic/unboxed

      gen-options:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/main/java/org/jikesrvm/compilers/opt
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/main/java/org/jikesrvm/adaptive/util
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/main/java/org/jikesrvm/compilers/baseline

      build-jburg:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/x86_64-linux/jburg
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/jburg.c: In function 'main':
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/jburg.c:95: warning: passing argument 3 of 'strncmp' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/jburg.c:97: warning: passing argument 3 of 'strncmp' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/jburg.c:99: warning: passing argument 3 of 'strncmp' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/jburg.c:101: warning: passing argument 3 of 'strncmp' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/jburg.c: In function 'alloc':
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/jburg.c:193: warning: passing argument 1 of 'calloc' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/jburg.c: In function 'emitrecalc':
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/jburg.c:837: warning: passing argument 3 of 'strncmp' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/gram.y: In function 'get':
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/gram.y:80: warning: passing argument 2 of 'fgets' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/gram.y:86: warning: passing argument 2 of 'fgets' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/gram.y:95: warning: passing argument 2 of 'fgets' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/gram.y: In function 'yylex':
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/gram.y:152: warning: passing argument 3 of 'strncmp' with different width due to prototype
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/rvm/src-generated/opt-burs/jburg/gram.y:156: warning: passing argument 3 of 'strncmp' with different width due to prototype

      gen-opt-ir:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ia32-32/main/java/org/jikesrvm/compilers/opt/ir
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ia32-32/main/java/org/jikesrvm/compilers/opt/lir2mir/ia32
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/ia32-32/main/java/org/jikesrvm/compilers/opt/lir2mir/ia32
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/ia32-32/main/java/org/jikesrvm/compilers/opt/lir2mir/ia32
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ia32-32/main/java/org/jikesrvm/compilers/opt/instrsched
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/ia32-32/main/java/org/jikesrvm
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-32/main/java/org/jikesrvm/compilers/opt/ir
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-32/main/java/org/jikesrvm/compilers/opt/lir2mir/ppc
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-32/main/java/org/jikesrvm/compilers/opt/lir2mir/ppc
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-32/main/java/org/jikesrvm/compilers/opt/lir2mir/ppc
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-32/main/java/org/jikesrvm/compilers/opt/instrsched
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-32/main/java/org/jikesrvm
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-64/main/java/org/jikesrvm/compilers/opt/ir
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-64/main/java/org/jikesrvm/compilers/opt/lir2mir/ppc
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-64/main/java/org/jikesrvm/compilers/opt/lir2mir/ppc
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-64/main/java/org/jikesrvm/compilers/opt/lir2mir/ppc
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-64/main/java/org/jikesrvm/compilers/opt/instrsched
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/ppc-64/main/java/org/jikesrvm

      compile-vmmagic-stub:

      gen-ia32-assembler:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ia32-32/main/java/org/jikesrvm/compilers/common/assembler/ia32
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/ia32-32/main/java/org/jikesrvm/compilers/opt/mir2mc/ia32
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/ia32-assembler-opt
      [copy] Copying 2 files to /home/andrew/projects/classpath/jikesrvm.clean/target/ia32-assembler-opt
      [copy] Copying 9 files to /home/andrew/projects/classpath/jikesrvm.clean/target/ia32-assembler-opt
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/target/ia32-assembler-opt/org/jikesrvm/compilers/common/assembler
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/target/ia32-assembler-opt/org/jikesrvm/compilers/common/assembler
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/target/ia32-assembler-opt/org/jikesrvm/compilers/common/assembler/ia32
      [javac] Compiling 17 source files to /home/andrew/projects/classpath/jikesrvm.clean/target/ia32-assembler-opt

      check-svn-present:

      extract-svn-version:

      get-svn-version:

      gen-config-source:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/configurations/prototype_x86_64-linux/java/org/jikesrvm/memorymanagers/mminterface
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/configurations/prototype_x86_64-linux/java/org/jikesrvm
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/configurations/prototype_x86_64-linux/java/org/jikesrvm/memorymanagers/mminterface
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/generated/configurations/prototype_x86_64-linux/java/org/jikesrvm

      do-gen-source:
      [touch] Creating /home/andrew/projects/classpath/jikesrvm.clean/generated/SourceGenerated

      gen-config-source-check:

      prepare-config-source:

      check-host-name:

      check-host-properties:

      check-config-properties:

      check-target-properties:

      include-gcspy-check:

      prepare-ant-tasks:

      check-components-properties:

      prepare-ant-tasks:

      ensure:

      prepare-ant-tasks:

      ensure:

      prepare-ant-tasks:

      ensure:

      prepare-ant-tasks:

      ensure:

      check-classpath-properties:

      check-gcspy-client-properties:

      check-gcspy-properties:

      check-mmtk-properties:

      check-properties:

      check-svn-present:

      extract-svn-version:

      get-svn-version:

      gen-config-source:

      do-gen-config-source:
      [touch] Creating /home/andrew/projects/classpath/jikesrvm.clean/generated/configurations/prototype_x86_64-linux/SourceGenerated

      choose-classlib:

      do-checkstyle:

      compile:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/classes
      [javac] Compiling 66 source files to /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/classes
      [javac] Note: Some input files use or override a deprecated API.
      [javac] Note: Recompile with -Xlint:deprecation for details.
      [javac] Note: Some input files use unchecked or unsafe operations.
      [javac] Note: Recompile with -Xlint:unchecked for details.
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/syscall/java
      [exec] warning: Annotation types without processors: [org.vmmagic.pragma.Uninterruptible]
      [exec] Note: Creating org.jikesrvm.runtime.VM_SysCallImpl
      [exec] 1 warning
      [exec] warning: Annotation types without processors: [org.vmmagic.pragma.Uninterruptible, org.vmmagic.pragma.SysCall]
      [exec] 1 warning
      [echo] second compile (from /home/andrew/projects/classpath/jikesrvm.clean/generated/main/java)
      [javac] Compiling 1 source file to /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/classes

      compile-vmmagic:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/vmmagic/classes
      [javac] Compiling 11 source files to /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/vmmagic/classes

      package:
      [zip] Building zip: /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/rvmrt.jar
      [zip] gnu/classpath/VMStackWalker.class already added, skipping
      [zip] gnu/classpath/VMSystemProperties.class already added, skipping
      [zip] gnu/java/lang/VMInstrumentationImpl.class already added, skipping
      [zip] gnu/java/nio/VMChannel$Kind.class already added, skipping
      [zip] gnu/java/nio/VMChannel$State.class already added, skipping
      [zip] gnu/java/nio/VMChannel.class already added, skipping
      [zip] java/io/VMObjectStreamClass.class already added, skipping
      [zip] java/lang/Class$1.class already added, skipping
      [zip] java/lang/Class$StaticData.class already added, skipping
      [zip] java/lang/Class.class already added, skipping
      [zip] java/lang/Object.class already added, skipping
      [zip] java/lang/VMClassLoader.class already added, skipping
      [zip] java/lang/VMDouble.class already added, skipping
      [zip] java/lang/VMFloat.class already added, skipping
      [zip] java/lang/VMMath.class already added, skipping
      [zip] java/lang/VMRuntime.class already added, skipping
      [zip] java/lang/VMString.class already added, skipping
      [zip] java/lang/VMSystem.class already added, skipping
      [zip] java/lang/VMThread.class already added, skipping
      [zip] java/lang/VMThrowable.class already added, skipping
      [zip] java/lang/ref/PhantomReference.class already added, skipping
      [zip] java/lang/ref/Reference.class already added, skipping
      [zip] java/lang/ref/SoftReference.class already added, skipping
      [zip] java/lang/ref/WeakReference.class already added, skipping
      [zip] java/lang/reflect/VMArray.class already added, skipping
      [zip] java/lang/reflect/VMConstructor.class already added, skipping
      [zip] java/lang/reflect/VMField.class already added, skipping
      [zip] java/lang/reflect/VMMethod.class already added, skipping
      [zip] java/nio/VMDirectByteBuffer.class already added, skipping
      [zip] java/util/VMTimeZone.class already added, skipping
      [zip] java/util/concurrent/atomic/AtomicLong.class already added, skipping
      [zip] sun/misc/Unsafe.class already added, skipping
      [jar] Building jar: /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/jksvm.jar

      prepare-asm:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/asm/classes
      [javac] Compiling 1 source file to /home/andrew/projects/classpath/jikesrvm.clean/generated/asm/classes

      gen-asm:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/generated/asm/java
      [zip] Updating zip: /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/rvmrt.jar

      gen-jni-headers:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/c

      gen-interface:

      gen-runbootimage:

      gen-booter-headers:

      build-bootimage-writer:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/bootimage-writer
      [javac] Compiling 8 source files to /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/bootimage-writer
      [javac] Note: /home/andrew/projects/classpath/jikesrvm.clean/tools/bootImageWriter/src/org/jikesrvm/tools/bootImageWriter/BootImageObjectAddressRemapper.java uses unchecked or unsafe operations.
      [javac] Note: Recompile with -Xlint:unchecked for details.

      gen-primordial-list:

      build-bootimage:
      [echo] Building bootimage. Output redirected to : /home/andrew/projects/classpath/jikesrvm.clean/target/prototype_x86_64-linux/BootImageWriterOutput.txt
      [echo] MMTk properties = /home/andrew/projects/classpath/jikesrvm.clean/build/mmtk/default.properties

      init-image-dir-on-host:
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/dist/prototype_x86_64-linux
      [copy] Copying 5 files to /home/andrew/projects/classpath/jikesrvm.clean/dist/prototype_x86_64-linux
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/dist/prototype_x86_64-linux
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/dist/prototype_x86_64-linux
      [copy] Copying 1 file to /home/andrew/projects/classpath/jikesrvm.clean/dist/prototype_x86_64-linux
      [mkdir] Created dir: /home/andrew/projects/classpath/jikesrvm.clean/dist/prototype_x86_64-linux/include
      [copy] Copying 4 files to /home/andrew/projects/classpath/jikesrvm.clean/dist/prototype_x86_64-linux/include

      cross-compile-host:

      setup-filter-properties:

      check-bootloader-properties:

      build-gcspy-stub:

      gcspy-stub-to-runtime-dir:

      build-syswrap:

      build-ppc-bootThread:

      build-bootloader:
      [exec] /home/andrew/projects/classpath/jikesrvm.clean/tools/bootImageRunner/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.c:41:65: error: org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h: No such file or directory

      BUILD FAILED
      /home/andrew/projects/classpath/jikesrvm.clean/build.xml:1347: exec returned: 1

      Total time: 3 minutes 10 seconds

      1. build-01.diff
        2 kB
        Andrew John Hughes
      2. build-01.diff
        2 kB
        Andrew John Hughes

        Activity

        Hide
        Andrew John Hughes added a comment -

        Evil fix for this issue.

        Show
        Andrew John Hughes added a comment - Evil fix for this issue.
        Hide
        David Grove added a comment -

        A clean checkout works for me. I suspect the problem is in your javah or perhaps ant/java. The files are being properly named for me:

        [dgrove@linchen rvm.clean]$ find . -name "005.h"
        ./dist/prototype_ia32-linux/include/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h
        ./dist/prototype_ia32-linux/include/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h
        ./target/prototype_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h
        ./target/prototype_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h

        Show
        David Grove added a comment - A clean checkout works for me. I suspect the problem is in your javah or perhaps ant/java. The files are being properly named for me: [dgrove@linchen rvm.clean] $ find . -name " 005 .h" ./dist/prototype_ia32-linux/include/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h ./dist/prototype_ia32-linux/include/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h ./target/prototype_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h ./target/prototype_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h
        Hide
        Steve Blackburn added a comment -

        I concur with Dave. It looks a lot like something is broken in your environment, Andrew.

        Right now as I prepare a major addition for the head, I've been doing clean checkouts and builds almost daily and have not seen a problem.

        Also, the dacapo nightly regressions are successfully building it every day from scratch. I've seen two build failures lately; one was a timeout on trying to download one of the components, the other was a crash in the hotspot JVM during build time . (http://jikesrvm.anu.edu.au/~dacapo/release/) which are quite distinct from the jikes rvm regressions.

        Show
        Steve Blackburn added a comment - I concur with Dave. It looks a lot like something is broken in your environment, Andrew. Right now as I prepare a major addition for the head, I've been doing clean checkouts and builds almost daily and have not seen a problem. Also, the dacapo nightly regressions are successfully building it every day from scratch. I've seen two build failures lately; one was a timeout on trying to download one of the components, the other was a crash in the hotspot JVM during build time . ( http://jikesrvm.anu.edu.au/~dacapo/release/ ) which are quite distinct from the jikes rvm regressions.
        Hide
        Andrew John Hughes added a comment -

        That's doubtful, given the same build environment has been used to build Classpath and OpenJDK several times without error. And this is not just one machine, but two.
        Both were also building JikesRVM until recently too.

        The build.xml file contains:

        <property name="build.native" location="$

        {build.base}/c"/>

        and then

        <!-- Generate JNI headers for booter -->
        <target name="gen-jni-headers" depends="gen-asm">
        <mkdir dir="${build.native}"/>
        <javah destdir="${build.native}" classpath="${build.vm.jar}">
        <class name="org.jikesrvm.runtime.VM_DynamicLibrary"/>
        <class name="org.jikesrvm.scheduler.greenthreads.VM_Process"/>
        </javah>
        </target>

        If build.native is set to ${build.base}

        /c and this is used in the destdir, how do they end up in any other directory?
        These files are being generated:

        $ find target -name '*.h'

        target/prototype_x86_64-linux/c/org_jikesrvm_scheduler_greenthreads_VM_Process.h
        target/prototype_x86_64-linux/c/RunBootImage.h
        target/prototype_x86_64-linux/c/org_jikesrvm_runtime_VM_DynamicLibrary.h
        target/prototype_x86_64-linux/c/InterfaceDeclarations.h

        find dist -name '*.h'

        dist/prototype_x86_64-linux/include/org_jikesrvm_scheduler_greenthreads_VM_Process.h
        dist/prototype_x86_64-linux/include/RunBootImage.h
        dist/prototype_x86_64-linux/include/org_jikesrvm_runtime_VM_DynamicLibrary.h
        dist/prototype_x86_64-linux/include/InterfaceDeclarations.h

        which is why my patch works. I get them in the requested directory and without this strange 0005f business, which doesn't appear in any of Classpath's header files.

        Are you using an old broken toolset on your machines and the build machines?
        I'm on OpenJDK6 (GNU Classpath is still broken – see the JIRA issue for that...) and this ships with the current Ubuntu, and will be in the next Fedora release next month and probably many other distributions too.

        Show
        Andrew John Hughes added a comment - That's doubtful, given the same build environment has been used to build Classpath and OpenJDK several times without error. And this is not just one machine, but two. Both were also building JikesRVM until recently too. The build.xml file contains: <property name="build.native" location="$ {build.base}/c"/> and then <!-- Generate JNI headers for booter --> <target name="gen-jni-headers" depends="gen-asm"> <mkdir dir="${build.native}"/> <javah destdir="${build.native}" classpath="${build.vm.jar}"> <class name="org.jikesrvm.runtime.VM_DynamicLibrary"/> <class name="org.jikesrvm.scheduler.greenthreads.VM_Process"/> </javah> </target> If build.native is set to ${build.base} /c and this is used in the destdir, how do they end up in any other directory? These files are being generated: $ find target -name '*.h' target/prototype_x86_64-linux/c/org_jikesrvm_scheduler_greenthreads_VM_Process.h target/prototype_x86_64-linux/c/RunBootImage.h target/prototype_x86_64-linux/c/org_jikesrvm_runtime_VM_DynamicLibrary.h target/prototype_x86_64-linux/c/InterfaceDeclarations.h find dist -name '*.h' dist/prototype_x86_64-linux/include/org_jikesrvm_scheduler_greenthreads_VM_Process.h dist/prototype_x86_64-linux/include/RunBootImage.h dist/prototype_x86_64-linux/include/org_jikesrvm_runtime_VM_DynamicLibrary.h dist/prototype_x86_64-linux/include/InterfaceDeclarations.h which is why my patch works. I get them in the requested directory and without this strange 0005f business, which doesn't appear in any of Classpath's header files. Are you using an old broken toolset on your machines and the build machines? I'm on OpenJDK6 (GNU Classpath is still broken – see the JIRA issue for that...) and this ships with the current Ubuntu, and will be in the next Fedora release next month and probably many other distributions too.
        Hide
        Ian Rogers added a comment -

        This certainly needs to be cleaned up before a release. We haven't changed the build, especially not of the boot loader, but we could be reliant on a bug with how we invoke javah that may be exposed on the new Ubuntus and Fedoras. I'm reminded of the current mess that is the selection of the ecj/javac to build classpath as a component and relying on downloading ecj-3.2 to build a compatible version of classpath successfully.

        Anyway, I set about doing the following test: checking out the most recent svn revision, duplicating it, applying the patch in this tracker to one and letting both worlds do a complete pre-commit test. The system is an x86 64 with OpenSuSE 10.1 installed and Sun's Java 1.6 JDK (build 1.6.0_04-b12).

        The unpatched world runs the pre-commit tests successfully, but the unpatched world fails to build any complete RVM successfully. I get the following error with the patch in this tracker:

        build-bootloader:
        [exec] /tmp/clean/patch/tools/bootImageRunner/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.c:41:60: error: org_jikesrvm_scheduler_greenthreads_VM_Process.h: No such file or directory

        doing a "no_patch/target/ patch/target -name '*.h'" gives:

        no_patch/target/prototype_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h
        no_patch/target/prototype_ia32-linux/c/RunBootImage.h
        no_patch/target/prototype_ia32-linux/c/InterfaceDeclarations.h
        no_patch/target/prototype_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h
        no_patch/target/development_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h
        no_patch/target/development_ia32-linux/c/RunBootImage.h
        no_patch/target/development_ia32-linux/c/InterfaceDeclarations.h
        no_patch/target/development_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h
        patch/target/prototype_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h
        patch/target/prototype_ia32-linux/c/RunBootImage.h
        patch/target/prototype_ia32-linux/c/InterfaceDeclarations.h
        patch/target/prototype_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h
        patch/target/development_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h
        patch/target/development_ia32-linux/c/RunBootImage.h
        patch/target/development_ia32-linux/c/InterfaceDeclarations.h
        patch/target/development_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h

        Given applying the patch breaks my world, I think the patch cannot be applied as is. I wonder if the bug is OpenJDK6 specific in which case logging the difference from Java 6 in their bug tracker certainly makes sense. To not break my system but to work with Andrew's we may need some conditional compilation.

        I'm strongly tempted to lower the priority of this bug and push it back to 2.9.4, as the time between 2.9.3, 2.9.4 and 3.0 should be short. However, if we can find a quick fix it would be worth it to avoid having this become a FAQ for people using OpenJDK 6 (if that is where the bug lies).

        Show
        Ian Rogers added a comment - This certainly needs to be cleaned up before a release. We haven't changed the build, especially not of the boot loader, but we could be reliant on a bug with how we invoke javah that may be exposed on the new Ubuntus and Fedoras. I'm reminded of the current mess that is the selection of the ecj/javac to build classpath as a component and relying on downloading ecj-3.2 to build a compatible version of classpath successfully. Anyway, I set about doing the following test: checking out the most recent svn revision, duplicating it, applying the patch in this tracker to one and letting both worlds do a complete pre-commit test. The system is an x86 64 with OpenSuSE 10.1 installed and Sun's Java 1.6 JDK (build 1.6.0_04-b12). The unpatched world runs the pre-commit tests successfully, but the unpatched world fails to build any complete RVM successfully. I get the following error with the patch in this tracker: build-bootloader: [exec] /tmp/clean/patch/tools/bootImageRunner/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.c:41:60: error: org_jikesrvm_scheduler_greenthreads_VM_Process.h: No such file or directory doing a "no_patch/target/ patch/target -name '*.h'" gives: no_patch/target/prototype_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h no_patch/target/prototype_ia32-linux/c/RunBootImage.h no_patch/target/prototype_ia32-linux/c/InterfaceDeclarations.h no_patch/target/prototype_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h no_patch/target/development_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h no_patch/target/development_ia32-linux/c/RunBootImage.h no_patch/target/development_ia32-linux/c/InterfaceDeclarations.h no_patch/target/development_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h patch/target/prototype_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h patch/target/prototype_ia32-linux/c/RunBootImage.h patch/target/prototype_ia32-linux/c/InterfaceDeclarations.h patch/target/prototype_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h patch/target/development_ia32-linux/c/org_jikesrvm_runtime_VM_0005fDynamicLibrary.h patch/target/development_ia32-linux/c/RunBootImage.h patch/target/development_ia32-linux/c/InterfaceDeclarations.h patch/target/development_ia32-linux/c/org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h Given applying the patch breaks my world, I think the patch cannot be applied as is. I wonder if the bug is OpenJDK6 specific in which case logging the difference from Java 6 in their bug tracker certainly makes sense. To not break my system but to work with Andrew's we may need some conditional compilation. I'm strongly tempted to lower the priority of this bug and push it back to 2.9.4, as the time between 2.9.3, 2.9.4 and 3.0 should be short. However, if we can find a quick fix it would be worth it to avoid having this become a FAQ for people using OpenJDK 6 (if that is where the bug lies).
        Hide
        Andrew John Hughes added a comment -

        Ian, I wasn't providing the diff as a patch for consumption, but merely as an illustration of the problem. However, your testing has clarified some issues and I hopefully now have a patch. Please test this and let me know if it should be committed.

        I was under the impression that both the filenames and the directory was wrong. From Ian's output above, it seems only the naming is at fault, and thus it is a bug in how the build is invoking javah. We rely on the header file being named in a certain way in the two C files, but we don't express this dependency in the build file. Thus, if javah produces something else, the build breaks.

        No-one has been able to explain so far why this strange 0005f appears, so I have gone with the version produced by the newer javah that omits this. I don't see why it would matter which is used however, the important thing is that we express the name of the header file required in the build so we don't get burnt by this. Classpath does this already BTW.

        Show
        Andrew John Hughes added a comment - Ian, I wasn't providing the diff as a patch for consumption, but merely as an illustration of the problem. However, your testing has clarified some issues and I hopefully now have a patch. Please test this and let me know if it should be committed. I was under the impression that both the filenames and the directory was wrong. From Ian's output above, it seems only the naming is at fault, and thus it is a bug in how the build is invoking javah. We rely on the header file being named in a certain way in the two C files, but we don't express this dependency in the build file. Thus, if javah produces something else, the build breaks. No-one has been able to explain so far why this strange 0005f appears, so I have gone with the version produced by the newer javah that omits this. I don't see why it would matter which is used however, the important thing is that we express the name of the header file required in the build so we don't get burnt by this. Classpath does this already BTW.
        Hide
        Andrew John Hughes added a comment -

        Patch for this issue.

        Show
        Andrew John Hughes added a comment - Patch for this issue.
        Hide
        Ian Rogers added a comment -

        So this patch builds for me. It strikes me the 0005f is an escape sequence for '' as '' is a reserved character for javah that it uses to encode '.'. Btw: the value in ascii for '' is 0x5f. I think this is a bug with OpenJDK. Both IBM and Sun's JDK's have always encoded the '_' as _0005f. Given that the patch works around the OpenJDK bug I suggest we apply it but use the _0005f convention. This avoids patching any code in the boot image runner.

        Show
        Ian Rogers added a comment - So this patch builds for me. It strikes me the 0005f is an escape sequence for ' ' as ' ' is a reserved character for javah that it uses to encode '.'. Btw: the value in ascii for ' ' is 0x5f. I think this is a bug with OpenJDK. Both IBM and Sun's JDK's have always encoded the '_' as _0005f. Given that the patch works around the OpenJDK bug I suggest we apply it but use the _0005f convention. This avoids patching any code in the boot image runner.
        Hide
        Ian Rogers added a comment -

        Patch committed in r14171.

        Show
        Ian Rogers added a comment - Patch committed in r14171.

          People

          • Assignee:
            Unassigned
            Reporter:
            Andrew John Hughes
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: