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

Bug#472917: gcc-4.3: FTBFS (ppc64): Please add lib32gfortran3.symbols.ppc64, remove "msoft-float"/"nof" in gcc-multilib64dir and disable ppc64-biarch patch



Package: gcc-4.3
Version: 4.3.0-2
Severity: wishlist
Tags: patch

Hello,

the current version of gcc-4.3 FTBFS on ppc64. Some small changes are 
necessary to build the gcc-4.3 package on ppc64 (see patch below):

* debian/lib32gfortan3.symbols.ppc64:
    new file with ppc64 specific symbols

* debian/patches/gcc-multilib64dir.dpatch:
    remove "msoft-float" and "nof" from MULTILIB variables
  
* debian/rules.defs:
    do not apply ppc64-biarch anymore

When these three things are fixed, there is still another issue 
with the lib32gomp1 symbols which leads to the following build error:

dh_makeshlibs -plib32gomp1 -V 'lib32gomp1 (>= 4.3)'
dpkg-gensymbols: warning: some new symbols appeared in the symbols file.
dpkg-gensymbols: warning: some symbols disappeared in the symbols file.
dpkg-gensymbols: warning: debian/lib32gomp1/DEBIAN/symbols doesn't match comple$

--- dpkg-gensymbolstynYFy       2008-03-26 15:31:34.000000000 +0000
+++ dpkg-gensymbolsRJxhFu       2008-03-26 15:31:34.000000000 +0000
@@ -1,92 +1,180 @@
 libgomp.so.1 lib32gomp1 #MINVER#
- GOMP_1.0@GOMP_1.0 4.2.1-4
- GOMP_atomic_end@GOMP_1.0 4.2.1-4
- GOMP_atomic_start@GOMP_1.0 4.2.1-4
[...]
+ omp_unset_nest_lock@Base 4.3.0-2
+#MISSING: 4.3.0-2# omp_unset_nest_lock@OMP_1.0 4.2.1-4
+ omp_unset_nest_lock_@Base 4.3.0-2
+#MISSING: 4.3.0-2# omp_unset_nest_lock_@OMP_1.0 4.2.1-4
dh_makeshlibs: command returned error code 256
make[1]: *** [stamps/08-binary-stamp-lib32gomp] Error 1
make[1]: Leaving directory `/srv/dbuild/tmp/gcc-4.3-4.3.0'
make: *** [binary] Error 2
dpkg-buildpackage: failure: debian/rules binary gave error exit status 2

I do not know how to fix this correctly.

Regards
Andreas Jochens


ppc64 patch for gcc-4.3 version 4.3.0-2:

diff -urN ../tmp-orig/gcc-4.3-4.3.0~rc2/debian/lib32gfortran3.symbols.ppc64 ./debian/lib32gfortran3.symbols.ppc64
--- ../tmp-orig/gcc-4.3-4.3.0~rc2/debian/lib32gfortran3.symbols.ppc64	1970-01-01 00:00:00.000000000 +0000
+++ ./debian/lib32gfortran3.symbols.ppc64	2008-03-03 07:22:08.000000000 +0000
@@ -0,0 +1,3 @@
+libgfortran.so.3 lib32gfortran3 #MINVER#
+#include "libgfortran3.symbols.common"
+#include "libgfortran3.symbols.16.powerpc"
diff -urN ../tmp-orig/gcc-4.3-4.3.0~rc2/debian/patches/gcc-multilib64dir.dpatch ./debian/patches/gcc-multilib64dir.dpatch
--- ../tmp-orig/gcc-4.3-4.3.0~rc2/debian/patches/gcc-multilib64dir.dpatch	2008-03-04 16:57:33.000000000 +0000
+++ ./debian/patches/gcc-multilib64dir.dpatch	2008-03-03 07:22:08.000000000 +0000
@@ -40,12 +40,23 @@
 ===================================================================
 --- gcc/config/rs6000/t-linux64	(revision 130706)
 +++ gcc/config/rs6000/t-linux64	(working copy)
-@@ -19,7 +19,7 @@
+@@ -14,13 +14,13 @@
+ # it doesn't tell anything about the 32bit libraries on those systems.  Set
+ # MULTILIB_OSDIRNAMES according to what is found on the target.
+ 
+-MULTILIB_OPTIONS        = m64/m32 msoft-float
+-MULTILIB_DIRNAMES       = 64 32 nof
++MULTILIB_OPTIONS        = m64/m32
++MULTILIB_DIRNAMES       = 64 32
  MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
- MULTILIB_EXCEPTIONS     = m64/msoft-float
- MULTILIB_EXCLUSIONS     = m64/!m32/msoft-float
+-MULTILIB_EXCEPTIONS     = m64/msoft-float
+-MULTILIB_EXCLUSIONS     = m64/!m32/msoft-float
 -MULTILIB_OSDIRNAMES	= ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
-+MULTILIB_OSDIRNAMES	= ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
- MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
+-MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
++MULTILIB_EXCEPTIONS     =
++MULTILIB_EXCLUSIONS     =
++MULTILIB_OSDIRNAMES	= ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_MATCHES        =
  
  softfp_wrap_start := '\#ifndef __powerpc64__'
+ softfp_wrap_end := '\#endif'
diff -urN ../tmp-orig/gcc-4.3-4.3.0~rc2/debian/rules.patch ./debian/rules.patch
--- ../tmp-orig/gcc-4.3-4.3.0~rc2/debian/rules.patch	2008-03-04 16:57:33.000000000 +0000
+++ ./debian/rules.patch	2008-03-03 07:22:08.000000000 +0000
@@ -182,7 +182,7 @@
 
   ifeq ($(DEB_TARGET_ARCH),ppc64)
     # FIXME: needed for 4.1?
-    debian_patches += ppc64-biarch ppc64-ada
+    debian_patches += ppc64-ada
   endif
 endif
 



Reply to: