Bug#733310: libgluegen2-build-java: missing architectures support in <glibc-compat-symbols.h>

Aurelien Jarno aurel32 at debian.org
Sat Dec 28 18:35:38 UTC 2013


On Sat, Dec 28, 2013 at 04:08:21PM +0100, Aurelien Jarno wrote:
> On Sat, Dec 28, 2013 at 03:50:03PM +0100, Kurt Roeckx wrote:
> > On Sat, Dec 28, 2013 at 01:11:20PM +0100, Aurelien Jarno wrote:
> > > Package: libgluegen2-build-java
> > > Version: 2.1.3-1
> > > Severity: serious
> > > Tags: upstream patch
> > > Justification: makes other packages FTBFS
> > > 
> > > libgluegen2-build-java provides a mechanism in <glibc-compat-symbols.h>
> > > to lower memcpy symbols version. This doesn't take care of at least
> > > ia64 and s390x among the official Debian architectures, but at least
> > > arm64, ppc64, sh4, sparc64, and x32 are also affected among unofficial
> > > architectures. This causes other packages to FTBFS, see for example:
> > > https://buildd.debian.org/status/fetch.php?pkg=libjogl2-java&arch=ia64&ver=2.1.3-1&stamp=1387422174
> > > https://buildd.debian.org/status/fetch.php?pkg=libjogl2-java&arch=s390x&ver=2.1.3-1&stamp=1388229627
> > > 
> > > As this mechanism doesn't really make sense in a distribution context
> > > (the dependencies are handled by the package manager), I would suggest
> > > to simply disable it. This is the purpose of the patch below:
> > 
> > I have the feeling that the patch is there so that they get the
> > old behavior from memcpy() and that the newer version (2.14) goes
> > over the buffer in a different direction and breaks something.
> 
> I really doubt so, as in that case it will be done for x86 only.

The upstream commit seems to show that the goal is to have the binaries
executable on an LSB 4.0 system:

http://jogamp.org/git/?p=gluegen.git;a=commit;h=04606a7afa8aa06b975bf6fca84517bb311e613b

That said, as there are some concerns, here is another patch which
disable that only for unknown architectures.

--- gluegen2-2.1.3.orig/make/stub_includes/platform/glibc-compat-symbols.h
+++ gluegen2-2.1.3/make/stub_includes/platform/glibc-compat-symbols.h
@@ -22,7 +22,8 @@
         #elif defined(__amd64__)
            #define GLIBC_COMPAT_SYMBOL(FFF) asm(".symver " #FFF "," #FFF "@GLIBC_2.2.5");
         #else
-           #define GLIBC_COMPAT_SYMBOL(FFF) asm(".symver " #FFF "," #FFF "@GLIBC_2.0");
+           /* Don't try to guess a wrong version */
+           #define GLIBC_COMPAT_SYMBOL(FFF)
         #endif /*__amd64__*/
     #else
         #warning GLIBC_COMPAT_SYMBOL not supported with current compiler on GNU/Linux

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien at aurel32.net                 http://www.aurel32.net



More information about the pkg-java-maintainers mailing list