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

Bug#301438: marked as done (glibc: FTBFS (ppc64): Please add support for the ppc64 architecture)



Your message dated Wed, 01 Mar 2006 20:17:13 -0800
with message-id <E1FEfFZ-0005z7-Ho@spohr.debian.org>
and subject line Bug#301438: fixed in glibc 2.3.6-3
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: glibc
Severity: wishlist
Tags: patch

Hello,

thank you for uploading glibc version 2.3.4 to experimental.
This will make things a lot easier for the ppc64 port.

Please add support for the native 64 bit port to the ppc64 architecture 
to glibc-2.3.4.

The attached patch to glibc-2.3.4 has been used since December 2004 
by the ppc64 archive on alioth. 

The patch uses basically the same strategy as the amd64 port, 
but with an additional extra pass for the creation of an 
alternative 32 bit library.

Regards
Andreas Jochens


Summary of changes:

* debian/control.in/ppc64
  - New file with control information for the alternative 
    32 bit library packages libc6-powerpc and libc-dev-powerpc.

* debian/rules.d/control.mk
  - Add 'ppc64' to the architecture lists.
  - Use the new debian/control.in/ppc64 file

* debian/rules.d/debhelper.mk
  - Add support for 32 bit alternative libraries.

* debian/sysdeps/ppc64.mk
  - New file with support for the ppc64 library (nptl only) 
    and an extra pass for a 32 bit alternative library.

* debian/amd64-lib.mk
  - Treat 'powerpc64' similar to 'x86_64', i.e. use /lib instead of
    /lib64 for the native 64 bit library files.
  - Install the 32 bit alternative library files in /lib32 instead of /lib.


diff -urN ../tmp-orig/glibc-2.3.4/debian/control.in/ppc64 ./debian/control.in/ppc64
--- ../tmp-orig/glibc-2.3.4/debian/control.in/ppc64	1970-01-01 01:00:00.000000000 +0100
+++ ./debian/control.in/ppc64	2005-03-24 19:24:00.000000000 +0100
@@ -0,0 +1,20 @@
+Package: libc6-powerpc
+Architecture: ppc64
+Section: libs
+Priority: extra
+Depends: libc6 (= ${Source-Version}), lib32gcc1
+Description: GNU C Library: 32bit powerpc shared libraries for ppc64
+ This package includes shared versions of the standard C
+ library and the standard math library, as well as many others.
+ This is the 32bit version of the library, meant for ppc64 systems.
+
+Package: libc6-dev-powerpc
+Architecture: ppc64
+Section: libdevel
+Priority: standard
+Depends: libc6-powerpc (= ${Source-Version}), libc6-dev (= ${Source-Version})
+Description: GNU C Library: 32bit powerpc development libraries for ppc64
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the 32bit version of the
+ library, meant for ppc64 systems.
+
diff -urN ../tmp-orig/glibc-2.3.4/debian/rules.d/control.mk ./debian/rules.d/control.mk
--- ../tmp-orig/glibc-2.3.4/debian/rules.d/control.mk	2005-03-24 09:28:38.000000000 +0100
+++ ./debian/rules.d/control.mk	2005-03-24 19:25:59.000000000 +0100
@@ -1,10 +1,10 @@
-control_deps := $(addprefix debian/control.in/, libc6 libc6.1 libc0.3 libc1 sparc64 s390x opt)
+control_deps := $(addprefix debian/control.in/, libc6 libc6.1 libc0.3 libc1 ppc64 sparc64 s390x opt)
 
-threads_archs := alpha amd64 arm i386 m68k mips mipsel powerpc sparc ia64 hppa s390 sh3 sh4 sh3eb sh4eb freebsd-i386
+threads_archs := alpha amd64 arm i386 m68k mips mipsel powerpc ppc64 sparc ia64 hppa s390 sh3 sh4 sh3eb sh4eb freebsd-i386
 
 debian/control.in/libc6: debian/control.in/libc debian/rules.d/control.mk
 	sed -e 's%@libc@%libc6%g' \
-	    -e 's%@archs@%amd64 arm i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb%g' < $< > $@
+	    -e 's%@archs@%amd64 arm i386 m68k mips mipsel powerpc ppc64 sparc s390 hppa sh3 sh4 sh3eb sh4eb%g' < $< > $@
 
 debian/control.in/libc6.1: debian/control.in/libc debian/rules.d/control.mk
 	sed -e 's%@libc@%libc6.1%g;s%@archs@%alpha ia64%g' < $< > $@
@@ -22,6 +22,7 @@
 	cat debian/control.in/libc6.1		>> $@T
 	cat debian/control.in/libc0.3		>> $@T
 	cat debian/control.in/libc1		>> $@T
+	cat debian/control.in/ppc64		>> $@T
 	cat debian/control.in/sparc64		>> $@T
 	cat debian/control.in/s390x		>> $@T
 	cat debian/control.in/opt		>> $@T
diff -urN ../tmp-orig/glibc-2.3.4/debian/rules.d/debhelper.mk ./debian/rules.d/debhelper.mk
--- ../tmp-orig/glibc-2.3.4/debian/rules.d/debhelper.mk	2005-03-24 09:28:38.000000000 +0100
+++ ./debian/rules.d/debhelper.mk	2005-03-25 14:13:21.000000000 +0100
@@ -168,7 +168,7 @@
 	  esac; \
 	done
 
-	# Hack: special-case passes whose destdir is 64 (i.e. /lib64)
+	# Hack: special-case for destdir==32 or 64 (i.e. /lib32 or /lib64)
 	# to use a different install template, which includes more
 	# libraries.  Also generate a -dev.  Non-64 libraries get scripts
 	# to temporarily disable hwcap.  This needs some cleaning up.
@@ -177,7 +177,7 @@
 	  destdir=$$1; \
 	  shift; \
 	  z=debian/$(libc)-$$x.install; \
-	  if test $$destdir = 64; then \
+	  if test $$destdir = 64 || test $$destdir = 32; then \
 	    cp debian/debhelper.in/libc-alt.install $$z; \
 	    zd=debian/$(libc)-dev-$$x.install; \
 	    cp debian/debhelper.in/libc-alt-dev.install $$zd; \
diff -urN ../tmp-orig/glibc-2.3.4/debian/sysdeps/ppc64.mk ./debian/sysdeps/ppc64.mk
--- ../tmp-orig/glibc-2.3.4/debian/sysdeps/ppc64.mk	1970-01-01 01:00:00.000000000 +0100
+++ ./debian/sysdeps/ppc64.mk	2005-03-25 20:32:56.051622910 +0100
@@ -0,0 +1,31 @@
+CC = gcc
+BUILD_CC = gcc
+
+# build libc with nptl instead of linuxthreads
+libc_MIN_KERNEL_SUPPORTED = 2.6.0
+libc_add-ons = nptl $(add-ons)
+libc_extra_cflags = -O3
+
+# /lib64 and /usr/lib64 are provided as symlinks 
+define libc6_extra_pkg_install
+ln -sf lib debian/$(curpass)/lib64
+ln -sf lib debian/$(curpass)/usr/lib64
+endef
+
+# build 32bit powerpc library
+GLIBC_PASSES += powerpc
+DEB_ARCH_REGULAR_PACKAGES += libc6-powerpc libc6-dev-powerpc
+powerpc_CC = $(CC) -m32
+powerpc_MIN_KERNEL_SUPPORTED = 2.6.0
+powerpc_configure_target = powerpc-linux
+powerpc_add-ons = nptl $(add-ons)
+libc6-powerpc_shlib_dep = libc6-powerpc (>= $(shlib_dep_ver))
+powerpc_LIBDIR = 32
+powerpc_extra_config_options = $(extra_config_options) \
+ --with-headers=/usr/include/ppc-linux --libdir=/usr/lib32
+
+# create a symlink for the 32 bit dynamic linker in /lib
+define libc6-powerpc_extra_pkg_install
+mkdir -p debian/$(curpass)/lib
+ln -s /lib32/ld.so.1 debian/$(curpass)/lib
+endef
diff -urN ../tmp-orig/glibc-2.3.4/debian/patches/amd64-lib.dpatch ./debian/patches/amd64-lib.dpatch
--- ../tmp-orig/glibc-2.3.4/debian/patches/amd64-lib.dpatch	2005-03-24 09:28:38.000000000 +0100
+++ ./debian/patches/amd64-lib.dpatch	2005-03-25 15:12:35.000000000 +0100
@@ -1,12 +1,12 @@
 #! /bin/sh -e
  
 # All lines beginning with `# DP:' are a description of the patch.
-# DP: Description: Use /lib instead of /lib64 for the native amd64 port
+# DP: Description: Use /lib instead of /lib64 for native 64 ports
 # DP: Dpatch author: Andreas Jochens <aj@andaco.de>
 # DP: Patch author: 
 # DP: Upstream status: Debian-Specific
 # DP: Status Details: 
-# DP: Date: 2004-06-07
+# DP: Date: 2004-06-07 / 2005-03-24
 
 if [ $# -ne 2 ]; then
     echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
@@ -29,10 +29,18 @@
    # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib
    case $machine in
 -  sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64 | \
-+  sparc/sparc64 | powerpc/powerpc64 | s390/s390-64 | \
++  sparc/sparc64 | s390/s390-64 | \
    mips/mips64/n64/* )
      libc_cv_slibdir="/lib64"
      if test "$libdir" = '${exec_prefix}/lib'; then
+@@ -245,6 +245,7 @@
+     ;;
+   *)
+     libc_cv_slibdir="/lib"
++    test "$libdir" = '/usr/lib32' && libc_cv_slibdir="/lib32"
+     ;;
+   esac
+   # Allow the user to override the path with --sysconfdir
 --- glibc-2.3.2/sysdeps/unix/sysv/linux/configure.in~	2004-07-05 09:52:28.000000000 +0200
 +++ glibc-2.3.2/sysdeps/unix/sysv/linux/configure.in	2004-07-05 12:18:07.995664571 +0200
 @@ -157,7 +157,7 @@
@@ -40,7 +48,15 @@
    # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib
    case $machine in
 -  sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64 | \
-+  sparc/sparc64 | powerpc/powerpc64 | s390/s390-64 | \
++  sparc/sparc64 | s390/s390-64 | \
    mips/mips64/n64/* )
      libc_cv_slibdir="/lib64"
      if test "$libdir" = '${exec_prefix}/lib'; then
+@@ -180,6 +180,7 @@
+     ;;
+   *)
+     libc_cv_slibdir="/lib"
++    test "$libdir" = '/usr/lib32' && libc_cv_slibdir="/lib32"
+     ;;
+   esac
+   # Allow the user to override the path with --sysconfdir


--- End Message ---
--- Begin Message ---
Source: glibc
Source-Version: 2.3.6-3

We believe that the bug you reported is fixed in the latest version of
glibc, which is due to be installed in the Debian FTP archive:

glibc-doc_2.3.6-3_all.deb
  to pool/main/g/glibc/glibc-doc_2.3.6-3_all.deb
glibc_2.3.6-3.diff.gz
  to pool/main/g/glibc/glibc_2.3.6-3.diff.gz
glibc_2.3.6-3.dsc
  to pool/main/g/glibc/glibc_2.3.6-3.dsc
libc6-amd64_2.3.6-3_i386.deb
  to pool/main/g/glibc/libc6-amd64_2.3.6-3_i386.deb
libc6-dbg_2.3.6-3_i386.deb
  to pool/main/g/glibc/libc6-dbg_2.3.6-3_i386.deb
libc6-dev-amd64_2.3.6-3_i386.deb
  to pool/main/g/glibc/libc6-dev-amd64_2.3.6-3_i386.deb
libc6-dev_2.3.6-3_i386.deb
  to pool/main/g/glibc/libc6-dev_2.3.6-3_i386.deb
libc6-i686_2.3.6-3_i386.deb
  to pool/main/g/glibc/libc6-i686_2.3.6-3_i386.deb
libc6-pic_2.3.6-3_i386.deb
  to pool/main/g/glibc/libc6-pic_2.3.6-3_i386.deb
libc6-prof_2.3.6-3_i386.deb
  to pool/main/g/glibc/libc6-prof_2.3.6-3_i386.deb
libc6-udeb_2.3.6-3_i386.udeb
  to pool/main/g/glibc/libc6-udeb_2.3.6-3_i386.udeb
libc6_2.3.6-3_i386.deb
  to pool/main/g/glibc/libc6_2.3.6-3_i386.deb
libnss-dns-udeb_2.3.6-3_i386.udeb
  to pool/main/g/glibc/libnss-dns-udeb_2.3.6-3_i386.udeb
libnss-files-udeb_2.3.6-3_i386.udeb
  to pool/main/g/glibc/libnss-files-udeb_2.3.6-3_i386.udeb
locales_2.3.6-3_all.deb
  to pool/main/g/glibc/locales_2.3.6-3_all.deb
nscd_2.3.6-3_i386.deb
  to pool/main/g/glibc/nscd_2.3.6-3_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 301438@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Aurelien Jarno <aurel32@debian.org> (supplier of updated glibc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Wed,  1 Mar 2006 17:11:36 +0100
Source: glibc
Binary: libc0.1-prof libc6-dev-amd64 libc6-i686 libc6-dev-ppc64 libc0.3-pic glibc-doc libc0.3 libc0.1-i686 libc6.1-dev libc6-s390x libnss-files-udeb libc6-dev-sparc64 libc6-i386 libc0.3-dev libc6-udeb libc6-dbg libc6.1-pic libc6-dev libc0.3-prof libc6-sparcv9 libc0.1-udeb libc6-dev-i386 libc6.1-prof libc0.1-dev locales libc6-pic libc0.3-udeb libc6-dev-powerpc libc0.1-pic libc6-ppc64 libc0.3-dbg libc0.1-dbg libc6-amd64 libc0.1 libc6-prof libc6-powerpc libc6 libc6-sparcv9b libc6.1-udeb libc6.1-dbg nscd libc6-sparc64 libnss-dns-udeb libc6.1 libc6-dev-s390x
Architecture: source i386 all
Version: 2.3.6-3
Distribution: unstable
Urgency: low
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Changed-By: Aurelien Jarno <aurel32@debian.org>
Description: 
 glibc-doc  - GNU C Library: Documentation
 libc6      - GNU C Library: Shared libraries and Timezone data
 libc6-amd64 - GNU C Library: 64bit Shared libraries for AMD64
 libc6-dbg  - GNU C Library: Libraries with debugging symbols
 libc6-dev  - GNU C Library: Development Libraries and Header Files
 libc6-dev-amd64 - GNU C Library: 64bit Development Libraries for AMD64
 libc6-i686 - GNU C Library: Shared libraries [i686 optimized]
 libc6-pic  - GNU C Library: PIC archive library
 libc6-prof - GNU C Library: Profiling Libraries
 libc6-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libnss-dns-udeb - GNU C Library: NSS helper for DNS - udeb (udeb)
 libnss-files-udeb - GNU C Library: NSS helper for files - udeb (udeb)
 locales    - GNU C Library: National Language (locale) data [support]
 nscd       - GNU C Library: Name Service Cache Daemon
Closes: 301438 347173 352620
Changes: 
 glibc (2.3.6-3) unstable; urgency=low
 .
   [ Aurelien Jarno]
   * Use a shell function instead of ifneq when testing a variable depending on
     $(curpass), otherwise it is only evaluated at the first pass.
   * Add support for the ppc64 architecture.  (Closes: #301438).
   * Use the new slibdir, libdir, rtlddir variables to build the various
     flavours of the libc. Put them directly in the final directory, and
     remove the corresponding tweaks done after the make install phase.
   * Install the 32-bit libraries in /emul/ia32-linux(/usr)/lib on amd64.
   * Only create the multiarch directories and the symlinks in /lib/ldconfig
     for the main pass. Otherwise alternate libraries would conflict with the
     main one when using multiarch.
   * Fix the build-dependencies for kfreebsd-amd64.
   * Add sysdeps/kfreebsd-amd64.mk and add kfreebsd-amd64 to
     rules.d/control.mk.
   * Make libc6-i386-dev conflicts with all versions of ia32-libs-dev. As it
     won't be built anymore on amd64, this will automatically remove it during
     the upgrade.
 .
   [ Clint Adams ]
   * Get rid of -o as a binary operator to [ in tzconfig and postinst.
 .
   [ Denis Barbier ]
   * Update localedata/locales/ro_RO.  Thanks Eddy PetriÅ?or.  (Closes: #347173)
   * Bump LOCALES_DEP_VER to 2.3.6-2.  All locales can be compiled with
     localedef from 2.3.6-2 and 2.3.6-3.  (Closes: #352620)
   * Updated Italian debconf translation, by Luca Monducci.
Files: 
 c2c907935bec5e2b9a18427209bc7323 2061 libs required glibc_2.3.6-3.dsc
 5303342506b669647b5202e6976a0e1c 653158 libs required glibc_2.3.6-3.diff.gz
 22be752b50f77232bd681835a1f166a2 3351178 doc optional glibc-doc_2.3.6-3_all.deb
 96eae6f31584bb455bb4cb2f94d6f340 3925264 libs standard locales_2.3.6-3_all.deb
 419ba17d982b81f7ba7a85ce92316d6e 5158576 libs required libc6_2.3.6-3_i386.deb
 6e009dd333cc6e45f4acabe44baddc0f 2733842 libdevel standard libc6-dev_2.3.6-3_i386.deb
 4e1bc14aa6f2fb6727da934eed1b6d63 1306362 libdevel extra libc6-prof_2.3.6-3_i386.deb
 18935697732ae6c0e1b50d28a1020ed0 1076046 libdevel optional libc6-pic_2.3.6-3_i386.deb
 e844c24bac560acddaec5e17a1b12a60 1075992 libs extra libc6-i686_2.3.6-3_i386.deb
 b45a77bcf5058f6ad6bdfd836fbb6d66 3269922 libs standard libc6-amd64_2.3.6-3_i386.deb
 495398843de103d1bef78b2ae5b110da 2012022 libdevel optional libc6-dev-amd64_2.3.6-3_i386.deb
 dde2ed634b2a44cf5a16593c60d7179b 132886 admin optional nscd_2.3.6-3_i386.deb
 e967e7a02f5ce15b44c1bce33a2b3140 6507940 libdevel extra libc6-dbg_2.3.6-3_i386.deb
 9e9f8c2a77243039682f2ac567d5b8eb 742040 debian-installer extra libc6-udeb_2.3.6-3_i386.udeb
 bc5bad2d94de8be5f8e761691236fdd0 8680 debian-installer extra libnss-dns-udeb_2.3.6-3_i386.udeb
 c95df368accef5e2fc00c156d8a64b88 15540 debian-installer extra libnss-files-udeb_2.3.6-3_i386.udeb
Package-Type: udeb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFEBmsEw3ao2vG823MRAgSWAJ9NMLKN6/RK93m36HVQjZGJbPizawCfQTdx
Ah6vfvhCkY5z7VbI6ypV1Zk=
=umZ0
-----END PGP SIGNATURE-----


--- End Message ---

Reply to: