Modify

Opened 6 years ago

Last modified 4 years ago

#11788 new defect

ppl autotools failure

Reported by: Greg Turner <gmt@…> Owned by: developers
Priority: normal Milestone: Barrier Breaker 14.07
Component: toolchain Version: Trunk
Keywords: Cc:

Description

my r32531-based tree did this:

make[2]: Entering directory `/home/greg/src/router/openwrt/F7D7301/tools/ppl'
. /home/greg/src/router/openwrt/F7D7301/include/shell.sh; gzip -dc /home/greg/src/router/openwrt/F7D7301/dl/ppl-0.10.2.tar.gz | /bin/tar -C /home/greg/src/router/openwrt/F7D7301/build_dir/host/ppl-0.10.2/.. -xf -

Applying ./patches/001-gmp_5_fix.patch using plaintext:
patching file m4/ac_check_gmp.m4
Hunk #1 succeeded at 54 (offset -17 lines).
Hunk #2 succeeded at 84 (offset -17 lines).
touch /home/greg/src/router/openwrt/F7D7301/build_dir/host/ppl-0.10.2/.preparedafdda4f2cd00b2a9545580eac42bb4c0
(cd /home/greg/src/router/openwrt/F7D7301/build_dir/host/ppl-0.10.2; rm -f aclocal.m4; if [ -f ./configure.ac ] || [ -f ./configure.in ]; then [ -d ./autom4te.cache ] && rm -rf autom4te.cache; [ -e ./config.rpath ] || ln -s /home/greg/src/router/openwrt/F7D7301/scripts/config.rpath ./config.rpath; touch NEWS AUTHORS COPYING ABOUT-NLS ChangeLog; AUTOM4TE=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/autom4te AUTOCONF=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/autoconf AUTOMAKE=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/automake ACLOCAL=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/aclocal AUTOHEADER=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/autoheader LIBTOOLIZE=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/libtoolize LIBTOOL=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/libtool M4=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/m4 AUTOPOINT=true /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/autoreconf -v -f -i -s -B /home/greg/src/router/openwrt/F7D7301/staging_dir/host/share/aclocal -I m4 -I . . || true; fi; );
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/aclocal -I m4 -I . --force -I m4
main::scan_file() called too early to check prototype at /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/aclocal.real line 628.
configure.ac:953: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2504: _AC_PREPROC_IFELSE is expanded from...
../../lib/autoconf/general.m4:2519: AC_PREPROC_IFELSE is expanded from...
.
. (more AC_LANG_SOURCE warnings)
.
configure.ac:1101: the top level
autoreconf: configure.ac: adding subdirectory Watchdog to autoreconf
autoreconf: Entering directory `Watchdog'
main::scan_file() called too early to check prototype at /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/aclocal.real line 628.
autoreconf: running: /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/libtoolize --force
OpenWrt-libtoolize: putting auxiliary files in `.'.
OpenWrt-libtoolize: linking file `./ltmain.sh'
OpenWrt-libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
OpenWrt-libtoolize: linking file `m4/libtool.m4'
OpenWrt-libtoolize: linking file `m4/ltoptions.m4'
OpenWrt-libtoolize: linking file `m4/ltsugar.m4'
OpenWrt-libtoolize: linking file `m4/ltversion.m4'
OpenWrt-libtoolize: linking file `m4/lt~obsolete.m4'
main::scan_file() called too early to check prototype at /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/aclocal.real line 628.
autoreconf: running: /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/autoconf --include=m4 --include=. --prepend-include=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/share/aclocal --force
autoreconf: running: /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/autoheader --include=m4 --include=. --prepend-include=/home/greg/src/router/openwrt/F7D7301/staging_dir/host/share/aclocal --force
autoreconf: running: /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/automake --add-missing --force-missing
autoreconf: Leaving directory `Watchdog'
OpenWrt-libtoolize: putting auxiliary files in `.'.
OpenWrt-libtoolize: linking file `./ltmain.sh'
OpenWrt-libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
OpenWrt-libtoolize: linking file `m4/libtool.m4'
OpenWrt-libtoolize: linking file `m4/ltoptions.m4'
OpenWrt-libtoolize: linking file `m4/ltsugar.m4'
OpenWrt-libtoolize: linking file `m4/ltversion.m4'
OpenWrt-libtoolize: linking file `m4/lt~obsolete.m4'
main::scan_file() called too early to check prototype at /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/aclocal.real line 628.
configure.ac:953: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2504: _AC_PREPROC_IFELSE is expanded from...
../../lib/autoconf/general.m4:2519: AC_PREPROC_IFELSE is expanded from...
.
. (more AC_LANG_SOURCE warnings)
.
configure.ac:1101: the top level
interfaces/Prolog/Ciao/Makefile.am:168: `pkglibdir' is not a legitimate directory for `DATA'
interfaces/Prolog/GNU/Makefile.am:167: `pkglibdir' is not a legitimate directory for `DATA'
interfaces/Prolog/SICStus/Makefile.am:89: `pkglibdir' is not a legitimate directory for `DATA'
interfaces/Prolog/SWI/Makefile.am:187: `pkglibdir' is not a legitimate directory for `DATA'
interfaces/Prolog/XSB/Makefile.am:186: `pkglibdir' is not a legitimate directory for `DATA'
interfaces/Prolog/YAP/Makefile.am:176: `pkglibdir' is not a legitimate directory for `DATA'
autoreconf: /home/greg/src/router/openwrt/F7D7301/staging_dir/host/bin/automake failed with exit status: 1

Note that I have both parallel tools building and ccache enabled. Also possibly relevant: In this build I'm giving gcc-4.5-linaro + graphite a try.

This was encountered building as: make V=s from a squeaky clean (git clean -fxd!) build-from-scratch. My tree is not pristine owrt mainline but my host tools stuff is vanilla AFAIK.

I don't even know what ppl is or why it got pulled into my tools but updating to 12.1 allowed my build to continue (whether this will triggers some subsequent disaster later in the build remains to be seen -- ask me in several hours :) ).

diff --git a/tools/ppl/Makefile b/tools/ppl/Makefile
index 46c966d..df159af 100644
--- a/tools/ppl/Makefile
+++ b/tools/ppl/Makefile
@@ -7,11 +7,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ppl
-PKG_VERSION:=0.10.2
+PKG_VERSION:=0.12.1
 
-PKG_SOURCE_URL:=ftp://gcc.gnu.org/pub/gcc/infrastructure
+PKG_SOURCE_URL:=http://bugseng.com/products/ppl/download/ftp/releases/$(PKG_VERSION)/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_MD5SUM:=e7dd265afdeaea81f7e87a72b182d875
+PKG_MD5SUM:=cec8144f2072ac45a850214cca97d075
 
 HOST_FIXUP:=autoreconf
 
diff --git a/tools/ppl/patches/001-gmp_5_fix.patch b/tools/ppl/patches/001-gmp_5_fix.patch
deleted file mode 100644
index bd7fad3..0000000
--- a/tools/ppl/patches/001-gmp_5_fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Roberto Bagnara <bagnara@cs.unipr.it>
-Date: Sat, 9 Jan 2010 15:32:08 +0000 (+0100)
-Subject: Added support for GMP 5.0.
-X-Git-Url: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl%2Fppl.git;a=commitdiff_plain;h=9c19bc2b318a35016e0189f9552c98910be37f53
-
-Added support for GMP 5.0.
----
-
-diff --git a/m4/ac_check_gmp.m4 b/m4/ac_check_gmp.m4
-index 60cecdc..15acb18 100644
---- a/m4/ac_check_gmp.m4
-+++ b/m4/ac_check_gmp.m4
-@@ -71,6 +71,10 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #GMP version 4.1.3 or higher is required
- #endif
- 
-+#ifndef BITS_PER_MP_LIMB
-+#define BITS_PER_MP_LIMB GMP_LIMB_BITS
-+#endif
-+
- int
- main() {
-   std::string header_version;
-@@ -97,11 +101,11 @@ main() {
-     return 1;
-   }
- 
--  if (sizeof(mp_limb_t)*CHAR_BIT != GMP_LIMB_BITS
--      || GMP_LIMB_BITS != mp_bits_per_limb) {
-+  if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
-+      || BITS_PER_MP_LIMB != mp_bits_per_limb) {
-     std::cerr
-       << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
--      << "header gives " << __GMP_BITS_PER_MP_LIMB << ";\n"
-+      << "header gives " << BITS_PER_MP_LIMB << ";\n"
-       << "library gives " << mp_bits_per_limb << ".\n"
-       << "This probably means you are on a bi-arch system and\n"
-       << "you are compiling with the wrong header or linking with\n"

(note: guessing "toolchain" is correct for "host tools" issues? If not, sorry, my bad.)

Attachments (0)

Change History (5)

comment:1 Changed 6 years ago by Greg Turner <gmt@…>

Well that didn't take long -- tools/cloog-ppl failed with some kind of glibc/gmp symbols not found. If I find an easy fix for this I'll document below, but since I have no pressing need for graphite (which is what I am guessing is pulling in all this gobbldeygook I know nothing about) I'm probably going to give up on it for now and start over without... If I do happen to figure out anything else I'll update this ticket but since I'm well outside the "supported, normal config" zone this issue may not be worth anyone's time.

comment:2 Changed 6 years ago by Greg Turner <gmt@…>

OK, I was able to continue by upgrading to ppl-cloog -> cloog-0.17.0... No clue what affect this might have on the full matrix of supported/semi-supported targets and, for that matter, it will be a bit before I'm even able to say whether this builds a full 4.5-linaro-graphite toolchain or not (my workstation is pretty slow to start and I'm building in an emulator :( )... plus building a toolchain is not the same as building a useful toolchain :)

Anyhow, there is at least a glimmer of hope for this ticket providing some potentially useful info. In 12 hours or so I'll hopefully be able to provide a result of some kind (not necessarily a conclusive one, I guess, but... something) so my advice would be: stay tuned and ignore this ticket for a day.

-gmt

comment:3 Changed 6 years ago by Greg Turner <gmt@…>

Happy days! Not only did this work but at long last it enabled me to unbrick my gizmo.

Anyhow, here is an updated version of my patch including the cloog stuff. Note that I've tested only with mipsel_gcc-4.5-linaro_uClibc-0.9.33.2; this may well break gcc-4.{6,7} or any number of other things.

diff --git a/tools/cloog/Makefile b/tools/cloog/Makefile
index 140d4db..b4fbc65 100644
--- a/tools/cloog/Makefile
+++ b/tools/cloog/Makefile
@@ -6,12 +6,12 @@
 #
 include $(TOPDIR)/rules.mk
 
-PKG_NAME:=cloog-ppl
-PKG_VERSION:=0.15.11
+PKG_NAME:=cloog
+PKG_VERSION:=0.17.0
 
-PKG_SOURCE_URL:=ftp://gcc.gnu.org/pub/gcc/infrastructure
+PKG_SOURCE_URL:=http://www.bastoul.net/cloog/pages/download/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_MD5SUM:=060ae4df6fb8176e021b4d033a6c0b9e
+PKG_MD5SUM:=0aa3302c81f65ca62c114e5264f8a802
 
 HOST_FIXUP:=autoreconf
 
diff --git a/tools/ppl/Makefile b/tools/ppl/Makefile
index 46c966d..df159af 100644
--- a/tools/ppl/Makefile
+++ b/tools/ppl/Makefile
@@ -7,11 +7,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ppl
-PKG_VERSION:=0.10.2
+PKG_VERSION:=0.12.1
 
-PKG_SOURCE_URL:=ftp://gcc.gnu.org/pub/gcc/infrastructure
+PKG_SOURCE_URL:=http://bugseng.com/products/ppl/download/ftp/releases/$(PKG_VERSION)/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_MD5SUM:=e7dd265afdeaea81f7e87a72b182d875
+PKG_MD5SUM:=cec8144f2072ac45a850214cca97d075
 
 HOST_FIXUP:=autoreconf
 
diff --git a/tools/ppl/patches/001-gmp_5_fix.patch b/tools/ppl/patches/001-gmp_5_fix.patch
deleted file mode 100644
index bd7fad3..0000000
--- a/tools/ppl/patches/001-gmp_5_fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Roberto Bagnara <bagnara@cs.unipr.it>
-Date: Sat, 9 Jan 2010 15:32:08 +0000 (+0100)
-Subject: Added support for GMP 5.0.
-X-Git-Url: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl%2Fppl.git;a=commitdiff_plain;h=9c19bc2b318a35016e0189f9552c98910be37f53
-
-Added support for GMP 5.0.
----
-
-diff --git a/m4/ac_check_gmp.m4 b/m4/ac_check_gmp.m4
-index 60cecdc..15acb18 100644
---- a/m4/ac_check_gmp.m4
-+++ b/m4/ac_check_gmp.m4
-@@ -71,6 +71,10 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #GMP version 4.1.3 or higher is required
- #endif
- 
-+#ifndef BITS_PER_MP_LIMB
-+#define BITS_PER_MP_LIMB GMP_LIMB_BITS
-+#endif
-+
- int
- main() {
-   std::string header_version;
-@@ -97,11 +101,11 @@ main() {
-     return 1;
-   }
- 
--  if (sizeof(mp_limb_t)*CHAR_BIT != GMP_LIMB_BITS
--      || GMP_LIMB_BITS != mp_bits_per_limb) {
-+  if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
-+      || BITS_PER_MP_LIMB != mp_bits_per_limb) {
-     std::cerr
-       << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
--      << "header gives " << __GMP_BITS_PER_MP_LIMB << ";\n"
-+      << "header gives " << BITS_PER_MP_LIMB << ";\n"
-       << "library gives " << mp_bits_per_limb << ".\n"
-       << "This probably means you are on a bi-arch system and\n"
-       << "you are compiling with the wrong header or linking with\n"

comment:4 Changed 6 years ago by gmt@…

OK, I did a bit more looking into this and things at best did not get any clearer... the move from cloog-ppl to cloog+isl may not be backported to earlier gcc's. I haven't verified this but it may well be the case that my "fix" above only works because it effectively disables graphite for the whole tool-chain.

Anyhow there is a disclaimer that using the ISL included with cloog (which, by not doing anything about ISL, is effectively what the above patch does) is purportedly not OK. So even if I did have the right idea above, to make it actually work it would purportedly be necessary to add an ISL build-dependency to cloog and provide the appropriate configure argument to get the installed (native) ISL used during the cloog compile above.

Rather than continue with this I've opted to just give up on graphite. For my personal needs, the benefits just doesn't justify investing the effort and time needed to figure all of this out, sorry.

However, if someone out there cares about this and wants to look into it, it may be worth considering upgrading ppl to 0.11 instead of 0.12 as I see some reports of ppl 0.12 problems solved by downgrading, particularly with 4.6 gcc's.

As for OpenWRT the best bet may be to mark as BROKEN until somebody comes along with the time and motivation to sort this all out.

Going forward, I get the impression that gcc4.8 will be fully targeted to mainline cloog (as opposed to cloog-ppl)... but I have yet to find a clear, "primary" source for that information. Anyhow is there is reason at least to hope that in the future the matrix of graphite-support options for gcc will get simpler for packagers.

comment:5 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.