[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#408888: gcj-4.1: FTBFS on GNU/Hurd



Package: gcj-4.1
Version: 4.1.1-20
Severity: important
Tags: patch

Hi,

gcj-4.1 currently FTBFS on hurd-i386. Here are patches:

- libjava-hurdfix.dpatch, to be put in debian/patches/
- gcj-4.1.diff, which enables java for hurd-i386 and the above patch.

Samuel

-- System Information:
Debian Release: 4.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.19
Locale: LANG=fr_FR@euro, LC_CTYPE=fr_FR@euro (charmap=ISO-8859-15)

Versions of packages gcj-4.1 depends on:
ii  gcc-4.1                 4.1.1-21         The GNU C compiler
ii  gcj-4.1-base            4.1.1-20         The GNU Compiler Collection (gcj b
ii  gij-4.1                 4.1.1-20         The GNU Java bytecode interpreter
ii  java-common             0.25             Base of all Java packages
ii  libc6                   2.3.6.ds1-8      GNU C Library: Shared libraries
ii  libc6-dev               2.3.6.ds1-8      GNU C Library: Development Librari
ii  libgcc1                 1:4.2-20060709-1 GCC support library
ii  libgcj7-0               4.1.1-20         Java runtime library for use with 
ii  libgcj7-dev             4.1.1-20         Java development headers and stati
ii  libgcj7-jar             4.1.1-20         Java runtime library for use with 
ii  zlib1g                  1:1.2.3-13       compression library - runtime

Versions of packages gcj-4.1 recommends:
ii  fastjar                       1:4.1.1-21 Jar creation utility

-- no debconf information
#! /bin/sh -e

# Description: java support for GNU/Hurd
# Author: Robert Millan, Petr Salinger, Samuel Thibault

dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
    pdir="-d $3"
    dir="$3/"
elif [ $# -ne 1 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
fi
case "$1" in
    -patch)
        patch $pdir -f --no-backup-if-mismatch -p1 < $0
        #cd ${dir}gcc && autoconf
        ;;
    -unpatch)
        patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
        #rm ${dir}gcc/configure
        ;;
    *)
        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
        exit 1
esac
exit 0


--- gcc-4.1.1/libjava/java/io/natFilePosix.cc.orig	2003-09-12 03:08:18.000000000 +0200
+++ gcc-4.1.1/libjava/java/io/natFilePosix.cc	2007-01-25 23:23:42.000000000 +0100
@@ -25,6 +25,7 @@
 #endif
 #include <string.h>
 #include <utime.h>
+#include <limits.h>
 
 #include <gcj/cni.h>
 #include <jvm.h>
@@ -379,6 +380,10 @@
 void
 java::io::File::init_native ()
 {
+#ifdef MAXPATHLEN
   maxPathLen = MAXPATHLEN;
+#else
+  maxPathLen = INT_MAX;
+#endif
   caseSensitive = true;
 }
--- gcc-4.1.1/libjava/java/net/natVMInetAddressPosix.cc.orig	2007-01-26 15:27:19.000000000 +0000
+++ gcc-4.1.1/libjava/java/net/natVMInetAddressPosix.cc	2007-01-26 15:45:53.000000000 +0000
@@ -47,10 +47,25 @@
 {
   char *chars;
 #ifdef HAVE_GETHOSTNAME
+#ifdef MAXHOSTNAMELEN
   char buffer[MAXHOSTNAMELEN];
   if (gethostname (buffer, MAXHOSTNAMELEN))
     return NULL;
   chars = buffer;
+#else
+  size_t size = 256;
+  while (1) {
+    char buffer[size];
+    if (!gethostname (buffer, size-1))
+      {
+	buffer[size-1] = 0;
+	return JvNewStringUTF (buffer);
+      }
+    else if (errno != ENAMETOOLONG)
+      return NULL;
+    size *= 2;
+  }
+#endif
 #elif HAVE_UNAME
   struct utsname stuff;
   if (uname (&stuff) != 0)
diff -ur gcj-4.1.1/libjava/configure gcj-4.1.1/libjava/configure
--- gcj-4.1.1/libjava/configure	2006-05-12 13:35:06.000000000 +0200
+++ gcj-4.1.1/libjava/configure	2006-05-12 11:00:31.000000000 +0200
@@ -4351,7 +4341,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux*|gnu*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
diff -ur gcj-4.1.1/libjava/libltdl/acinclude.m4 gcj-4.1.1/libjava/libltdl/acinclude.m4
--- gcj-4.1.1/libjava/libltdl/acinclude.m4	2006-05-12 13:35:07.000000000 +0200
+++ gcj-4.1.1/libjava/libltdl/acinclude.m4	2006-05-12 11:07:03.000000000 +0200
@@ -1413,7 +1413,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux*|gnu*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
diff -ur gcj-4.1.1/libjava/libltdl/configure gcj-4.1.1/libjava/libltdl/configure
--- gcj-4.1.1/libjava/libltdl/configure	2006-05-12 13:35:21.000000000 +0200
+++ gcj-4.1.1/libjava/libltdl/configure	2006-05-12 11:07:15.000000000 +0200
@@ -8380,7 +8380,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux*|gnu*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -12021,7 +12021,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux*|gnu*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -15097,7 +15097,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux*|gnu*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -17380,7 +17380,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux*|gnu*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
diff -ur gcj-4.1.1/libjava/shlibpath.m4 gcj-4.1.1/libjava/shlibpath.m4
--- gcj-4.1.1/libjava/shlibpath.m4	2006-01-07 19:14:24.000000000 +0100
+++ gcj-4.1.1/libjava/shlibpath.m4	2006-05-12 08:36:28.000000000 +0200
@@ -361,7 +361,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux*|gnu*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
diff -ur gcj-4.1.1/libjava/configure.host gcj-4.1.1/libjava/configure.host  
--- gcj-4.1.1/libjava/configure.host	2006-09-07 01:00:37.000000000 +0200
+++ gcj-4.1.1/libjava/configure.host	2006-09-07 01:00:37.000000000 +0200
@@ -326,7 +326,7 @@
 esac
 
 case "${host}" in
-  *linux*)
+  *linux*|*gnu*)
     use_libgcj_bc=yes
   ;;
   *)
--- gcj-4.1-4.1.1-orig/debian/rules.defs	2007-01-28 03:44:56.000000000 +0000
+++ gcj-4.1-4.1.1/debian/rules.defs	2007-01-28 13:17:24.000000000 +0000
@@ -289,7 +289,7 @@
 endif
 
 java_no_cpus := #mips mipsel
-java_no_systems := hurd-i386 knetbsd-gnu netbsdelf-gnu
+java_no_systems := knetbsd-gnu netbsdelf-gnu
 gcj_native_archs = alpha amd64 i386 ia64 mips mipsel powerpc s390 sparc
 
 ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(java_no_cpus)))
@@ -298,10 +298,6 @@
 ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(java_no_systems)))
   with_java := disabled for $(DEB_TARGET_GNU_SYSTEM)
 endif
-ifeq ($(DEB_TARGET_ARCH),hurd-i386)
-  java_no_systems += hurd-i386
-  with_java := disabled for architecure $(DEB_TARGET_ARCH_CPU)
-endif
 ifdef DEB_CROSS
   with_java := disabled for cross compiler package
 endif
@@ -330,7 +326,7 @@
 ifeq ($(with_java),yes)
   with_java_alsa := yes
   with_java_plugin := yes
-  ifneq (,$(filter $(DEB_TARGET_GNU_SYSTEM), kfreebsd-gnu))
+  ifneq (,$(filter $(DEB_TARGET_GNU_SYSTEM), kfreebsd-gnu gnu))
     with_java_alsa := no
     with_java_plugin := no
   endif
--- gcj-4.1-4.1.1-orig/debian/rules.patch	2007-01-28 03:44:56.000000000 +0000
+++ gcj-4.1-4.1.1/debian/rules.patch	2007-01-28 13:59:35.000000000 +0000
@@ -178,6 +178,9 @@
 ifeq ($(DEB_TARGET_ARCH_OS),netbsd)
   debian_patches += # netbsd-all-gcc netbsd-archs-gcc
 endif
+ifeq ($(DEB_TARGET_ARCH_OS),hurd)
+  debian_patches += libjava-hurdfix
+endif
 
 ifdef DEB_CROSS
   debian_patches += cross-include cross-fixes

Reply to: