Hi Ron,
On 06/18/2014 11:17 AM, Ron wrote:
>
> Hi Breno,
>
> On Wed, Jun 18, 2014 at 10:29:37AM -0300, Breno Leitao wrote:
>> Package: opus
>> Version: 1.1-1
>>
>> The package opus fails to build on ppc64el, as on new architectures, because
>> the config.{guess,sub} files are out of date, and are not updated during the
>> build, causing the following error:
>>
>> http://ftp.unicamp.br/pub/ppc64el/debian/buildd-upstream/build_logs/logs/opus_1.1-1_ppc64el.build
>
> I'm curious why you think this one is related to config.*, since both of
> those have the ppc64le definitions in the packaged version, and indeed
> the build log you point to above itself shows that the library build
> succeeded, as did its test suite (modulo some warnings you might want to
> look into to see if they are real or bogus) -- and the place where it
> actually fell over was executing:
Right. The problem is on configure in fact. I should have reported that the
autotools files were out-of-date, other than just config.*. Sorry.
>
> dh_install -plibopus0 debian/tmp/usr/lib/powerpc64le-linux-gnu/lib*.so.*
> usr/lib/powerpc64le-linux-gnu
> dh_install: libopus0 missing files
> (debian/tmp/usr/lib/powerpc64le-linux-gnu/lib*.so.*), aborting
>
>
> Which ... would seem to indicate that Something Else went wrong on your
> buildd. And at first blush it would seem to be this:
>
> checking whether the powerpc64le-linux-gnu-gcc linker (/usr/bin/ld -m
> elf64ppc) supports shared libraries... no
>
> So it only built the static libs. Either something other than config.*
> needs updating, or your buildd (toolchain) is broken :)
>
> Do you know why the test for building shared libs failed here?
Yes. The problem is that configure doesn't know about ppc64el, and dh_autoreconf
fixes it (with many other libtool configuration).
So, if you run dh_autoreconf, this is the 'patch' that is added on top of
configure:
Index: opus-1.1/configure
===================================================================
--- opus-1.1.orig/configure 2013-12-08 15:55:37.000000000 +0000
+++ opus-1.1/configure 2014-06-18 15:23:43.000000000 +0000
@@ -6359,7 +6359,7 @@
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
@@ -6384,7 +6384,10 @@
;;
esac
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -6403,7 +6406,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
Causing the 'ld -m' to check for the little endian architecture, other than just
elf64ppc (which is wrong).
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]