--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: glibc: FTBFS (ppc64): Please add support for the ppc64 architecture
- From: Andreas Jochens <aj@andaco.de>
- Date: Fri, 25 Mar 2005 22:55:55 +0100
- Message-id: <E1DEwmZ-00026H-GB@localhost.localdomain>
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 ---