Bug#594816: db4.8: FTBFS on mips (configure reports garbage)

2010-08-29 Thread Aurelien Jarno
On Sun, Aug 29, 2010 at 10:59:20PM +0200, Aurelien Jarno wrote:
> On Sun, Aug 29, 2010 at 08:55:49PM +, Clint Adams wrote:
> > On Sun, Aug 29, 2010 at 10:42:22PM +0200, Aurelien Jarno wrote:
> > >   test /usr/lib/jvm/default-java/bin/../../../.. '!=' /usr
> > 
> > Great, I'll have it run readlink -f on $_JTOPDIR
> > 
> 
> Actually it seems this is not the best solution. The issue comes from
> the fact on Debian we are having the java installed in 
> /usr/lib/jvm/default-java, using symlinks. The configure script tries
> to follow symlinks to determine the correct include directory.
> 
> With OpenJDK, it fails to find it, but it is workarounded by the
> following code in debian/rules:
> 
>   CFLAGS += -I$(JAVA_HOME)/include
> 
> With GCJ, after following the symlinks, it is able to find /usr/include
> and also include /usr/include/linux as it is a linux system. This
> include directory contains headers that conflicts with the GNU libc 
> headers, hence the strange configure output.
> 
> In my opinion the best solution is to avoid following the symlinks on
> Debian, as it can gives some strange behaviors later. That's what the
> patch below does. I have a test build in progress, currently running 
> the testsuite.
> 

The testsuite has ran successfully, and the whole package has built
fine.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#594816: db4.8: FTBFS on mips (configure reports garbage)

2010-08-29 Thread Aurelien Jarno
On Sun, Aug 29, 2010 at 08:55:49PM +, Clint Adams wrote:
> On Sun, Aug 29, 2010 at 10:42:22PM +0200, Aurelien Jarno wrote:
> >   test /usr/lib/jvm/default-java/bin/../../../.. '!=' /usr
> 
> Great, I'll have it run readlink -f on $_JTOPDIR
> 

Actually it seems this is not the best solution. The issue comes from
the fact on Debian we are having the java installed in 
/usr/lib/jvm/default-java, using symlinks. The configure script tries
to follow symlinks to determine the correct include directory.

With OpenJDK, it fails to find it, but it is workarounded by the
following code in debian/rules:

  CFLAGS += -I$(JAVA_HOME)/include

With GCJ, after following the symlinks, it is able to find /usr/include
and also include /usr/include/linux as it is a linux system. This
include directory contains headers that conflicts with the GNU libc 
headers, hence the strange configure output.

In my opinion the best solution is to avoid following the symlinks on
Debian, as it can gives some strange behaviors later. That's what the
patch below does. I have a test build in progress, currently running 
the testsuite.


--- db4.8-4.8.30.orig/dist/configure
+++ db4.8-4.8.30/dist/configure
@@ -16858,7 +16858,7 @@ $as_echo "$_cur" >&6; }
 done
 _ACJNI_FOLLOWED="$_cur"
 
-_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[^/]*$::'`
+_JTOPDIR=`echo "$_ACJNI_JAVAC" | sed -e 's://*:/:g' -e 's:/[^/]*$::'`
 case "$host_os" in
darwin*)_JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[^/]*$::'`
_JINC="$_JTOPDIR/Headers";;
--- db4.8-4.8.30.orig/dist/aclocal_java/ac_jni_include_dirs.m4
+++ db4.8-4.8.30/dist/aclocal_java/ac_jni_include_dirs.m4
@@ -44,7 +44,7 @@ case "$_ACJNI_JAVAC" in
 esac
 
 _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC")
-_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'`
+_JTOPDIR=`echo "$_ACJNI_JAVAC" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'`
 case "$host_os" in
darwin*)_JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
_JINC="$_JTOPDIR/Headers";;

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#594816: db4.8: FTBFS on mips (configure reports garbage)

2010-08-29 Thread Clint Adams
On Sun, Aug 29, 2010 at 10:42:22PM +0200, Aurelien Jarno wrote:
>   test /usr/lib/jvm/default-java/bin/../../../.. '!=' /usr

Great, I'll have it run readlink -f on $_JTOPDIR



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#594816: db4.8: FTBFS on mips (configure reports garbage)

2010-08-29 Thread Aurelien Jarno
On Sun, Aug 29, 2010 at 09:43:34PM +0200, Aurelien Jarno wrote:
> On Sun, Aug 29, 2010 at 08:43:32PM +0200, Julien Cristau wrote:
> > Package: db4.8
> > Version: 4.8.30-1
> > Severity: serious
> > Justification: fails to build from source
> > 
> > configure fails with:
> > > configure: error: No unsigned 1-byte integral type
> > 
> > https://buildd.debian.org/fetch.cgi?pkg=db4.8;ver=4.8.30-1;arch=mips;stamp=1282685080
> > 
> > aurel32 says configure is buggy and doesn't handle java not being
> > openjdk (gcj is used on mips), but he didn't have time to
> > investigate/fix, so if somebody else can step up that would be nice.
> > 
> 
> The problem is not specific to mips, sparc64 has the same problem. A
> workaround for that is to disable java support. 
> 

The issue is that the configure script tries to determine java include
libraries. As we are on a Linux system, it looks for 
$java_top_directory/include/linux. With openjdk, the java top directory
is "/usr/lib/jvm/default-java/" while with gcj it is simply "/usr", so 
/usr/include/linux get added to the include search path. This causes
conflicts with the GNU libc headers.

The configure script has a special case when the java top directory is
"/usr", but it fails on Debian as we are using relative symlinks:

  test /usr/lib/jvm/default-java/bin/../../../.. '!=' /usr

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#594816: db4.8: FTBFS on mips (configure reports garbage)

2010-08-29 Thread Aurelien Jarno
On Sun, Aug 29, 2010 at 08:43:32PM +0200, Julien Cristau wrote:
> Package: db4.8
> Version: 4.8.30-1
> Severity: serious
> Justification: fails to build from source
> 
> configure fails with:
> > configure: error: No unsigned 1-byte integral type
> 
> https://buildd.debian.org/fetch.cgi?pkg=db4.8;ver=4.8.30-1;arch=mips;stamp=1282685080
> 
> aurel32 says configure is buggy and doesn't handle java not being
> openjdk (gcj is used on mips), but he didn't have time to
> investigate/fix, so if somebody else can step up that would be nice.
> 

The problem is not specific to mips, sparc64 has the same problem. A
workaround for that is to disable java support. 

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#594816: db4.8: FTBFS on mips (configure reports garbage)

2010-08-29 Thread Julien Cristau
Package: db4.8
Version: 4.8.30-1
Severity: serious
Justification: fails to build from source

configure fails with:
> configure: error: No unsigned 1-byte integral type

https://buildd.debian.org/fetch.cgi?pkg=db4.8;ver=4.8.30-1;arch=mips;stamp=1282685080

aurel32 says configure is buggy and doesn't handle java not being
openjdk (gcj is used on mips), but he didn't have time to
investigate/fix, so if somebody else can step up that would be nice.

Cheers,
Julien


signature.asc
Description: Digital signature