Hi, the message "dlopen of .../pl-tai.so failed with error libplstream.so: cannot open shared object file: No such file or directory" is not actually linked to the FTBFS as far as I understood : the same error message happens on other architecture builds, but the install works. The dlopen with RTLD_GLOBAL flag of pl-tai.so just doesn't find the libplstream.so in the path as it is. For this message to disappear, one need to set the LD_LIBRARY_PATH to the same as YAPLIBDIR.
On debomatic-powerpc the package built fine, so that bug may also depend on other things. On ppc64el, yap is just looping in some mmap/munmap related to allocation code : (gdb) bt #0 0x00003fffb784b768 in munmap () from /lib/powerpc64le-linux-gnu/libc.so.6 #1 0x0000000020043d6c in ExtendWorkSpace (s=3604480, fixed_allocation=16) at ../C/alloc.c:1143 #2 0x0000000020044b08 in Yap_ExtendWorkSpaceThroughHole (s=3604480) at ../C/alloc.c:1606 #3 0x00000000200b21fc in execute_growstack (size0=524288, from_trail=0, in_parser=0, old_trp=0x0, tksp=0x0, vep=0x0) at ../C/grow.c:1493 #4 0x00000000200b2570 in growstack (size=524288) at ../C/grow.c:1604 #5 0x00000000200b3374 in Yap_growstack (size=<optimized out>) at ../C/grow.c:1471 #!/usr/bin/make -f #6 0x00000000200ba274 in call_gc (gc_lim=4096, predarity=0, current_env=0x10a33818, nextop=0x101ce7e0) at ../C/heapgc.c:4009 #7 0x00000000200ba52c in Yap_gc (predarity=<optimized out>, current_env=<optimized out>, nextop=<optimized out>) at ../C/heapgc.c:4035 #8 0x0000000020024ac0 in Yap_absmi (inp=<optimized out>) at ../C/absmi.c:2957 #9 0x000000002008d874 in exec_absmi (top=1) at ../C/exec.c:1007 #10 0x000000002008de98 in do_goal (t=268551041, CodeAdr=0x100740e0, arity=0, pt=0x0, top=1) at ../C/exec.c:1074 #11 0x000000002009a244 in Yap_RunTopGoal (t=268551041) at ../C/exec.c:1292 #12 0x000000002001bdf4 in YAP_RunGoalOnce (t=<optimized out>) at ../C/c_interface.c:2037 #13 0x0000000020016cdc in do_top_goal (Goal=268551041) at ../console/yap.c:116 #14 exec_top_level (iap=0x3ffffffff210, BootMode=<optimized out>) at ../console/yap.c:711 #15 main (argc=<optimized out>, argv=<optimized out>) at ../console/yap.c:752 Redhat seemed to have that same issue : https://sourceforge.net/p/yap/mailman/message/33828905/ and using --enable-use-malloc helped. So here is a patch that makes the build use that option for powerpc and ppc64el (it should work on ppc64, but this arch is not enabled for yap and I wanted the patch to be minimal). F.
diff -Nru yap-6.2.2/debian/changelog yap-6.2.2/debian/changelog --- yap-6.2.2/debian/changelog 2015-07-14 22:05:03.000000000 +0200 +++ yap-6.2.2/debian/changelog 2017-09-20 17:35:47.000000000 +0200 @@ -1,3 +1,11 @@ +yap (6.2.2-6.1) unstable; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS on powerpc/ppc64el : disable private malloc : + https://bugzilla.redhat.com/show_bug.cgi?id=1142068 + + -- Frédéric Bonnard <[email protected]> Wed, 20 Sep 2017 15:35:47 +0000 + yap (6.2.2-6) sid; urgency=medium * d/control: add architectures arm64, ppc64el (closes: #791968) diff -Nru yap-6.2.2/debian/rules yap-6.2.2/debian/rules --- yap-6.2.2/debian/rules 2015-07-14 22:05:03.000000000 +0200 +++ yap-6.2.2/debian/rules 2017-09-20 17:35:47.000000000 +0200 @@ -11,6 +11,11 @@ DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) + +ifneq (,$(findstring $(DEB_HOST_ARCH), powerpc ppc64el)) + configure_flags = --enable-use-malloc +endif configure: config-stamp @@ -27,6 +32,7 @@ --prefix=/usr \ --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info \ + $(configure_flags) \ CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,relro" touch config-stamp
pgpLJ_SuWE7Hb.pgp
Description: PGP signature

