public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
From: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
To: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: crossgcc@sourceware.org
Subject: [PATCH 2 of 2] complibs/cloog: fix linking with libm
Date: Fri, 27 Jan 2012 12:38:00 -0000	[thread overview]
Message-ID: <5fe33bb8e7a423e0b6bc.1327667856@advdt005-ubuntu> (raw)
In-Reply-To: <patchbomb.1327667854@advdt005-ubuntu>

# HG changeset patch
# User "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
# Date 1327667476 -3600
# Node ID 5fe33bb8e7a423e0b6bcfab47da1cd1e67e87159
# Parent  1dcf0328f4802825f3e3df2692c3539bfe687964
complibs/cloog: fix linking with libm

In Ubuntu 11.04 and 11.10, the default options for ld have changed.
--no-copy-dt-needed-entries and --as-needed are now enabled by default, which
causes errors like:

[EXTRA]    Checking CLooG/ppl
[DEBUG]    ==> Executing: 'make' '-j3' '-s' 'check'
[ALL  ]    Making check in .
[ALL  ]    config.status: creating include/cloog/cloog-config.h
[ALL  ]    config.status: include/cloog/cloog-config.h is unchanged
[ALL  ]    libtool: link: i686-build_pc-linux-gnu-gcc -Wall -fomit-frame-pointer
 -pipe -o cloog cloog.o  -L/<snip>/build/static/lib ./.libs/libcloog.a -lm
 /<snip>/build/static/lib/libppl_c.a /<snip>/build/static/lib/libpwl.a
 /<snip>/build/static/lib/libppl.a /<snip>/build/static/lib/libgmpxx.a
 /<snip>/build/static/lib/libgmp.a -lstdc++
[ALL  ]    /usr/bin/ld: /<snip>/build/static/lib/libppl.a(MIP_Problem.o):
 undefined reference to symbol 'sqrt@@GLIBC_2.0'
[ALL  ]    /usr/bin/ld: note: 'sqrt@@GLIBC_2.0' is defined in DSO
 /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so so try adding
 it to the linker command line
[ALL  ]    /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so:
 could not read symbols: Invalid operation
[ALL  ]    collect2: ld returned 1 exit status
[ERROR]    make[2]: *** [cloog] Error 1
[ERROR]    make[1]: *** [check-recursive] Error 1

See:
https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition

This patch fixes these errors by placing '-lm' at the right place on the command
line as libppl requires libm when linking cloog.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>

diff --git a/patches/cloog-ppl/0.15.10/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.10/100-add_on_libs_position.patch
new file mode 100644
--- /dev/null
+++ b/patches/cloog-ppl/0.15.10/100-add_on_libs_position.patch
@@ -0,0 +1,24 @@
+diff -Naurd cloog-ppl-0.15.10-a/configure cloog-ppl-0.15.10-b/configure
+--- cloog-ppl-0.15.10-a/configure	2010-08-27 21:14:33.000000000 +0200
++++ cloog-ppl-0.15.10-b/configure	2012-01-27 13:28:49.262987773 +0100
+@@ -11168,7 +11168,7 @@
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 
+ $as_echo "#define CLOOG_PPL_BACKEND 1" >>confdefs.h
+ 
+diff -Naurd cloog-ppl-0.15.10-a/configure.in cloog-ppl-0.15.10-b/configure.in
+--- cloog-ppl-0.15.10-a/configure.in	2010-08-27 21:13:48.000000000 +0200
++++ cloog-ppl-0.15.10-b/configure.in	2012-01-27 13:28:49.262987773 +0100
+@@ -343,7 +343,7 @@
+ 	#endif
+ 	], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 	AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
+ 
+ else
diff --git a/patches/cloog-ppl/0.15.11/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.11/100-add_on_libs_position.patch
new file mode 100644
--- /dev/null
+++ b/patches/cloog-ppl/0.15.11/100-add_on_libs_position.patch
@@ -0,0 +1,24 @@
+diff -Naurd cloog-ppl-0.15.11-a/configure cloog-ppl-0.15.11-b/configure
+--- cloog-ppl-0.15.11-a/configure	2011-04-01 06:22:53.000000000 +0200
++++ cloog-ppl-0.15.11-b/configure	2012-01-27 13:29:42.698987517 +0100
+@@ -11238,7 +11238,7 @@
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 
+ $as_echo "#define CLOOG_PPL_BACKEND 1" >>confdefs.h
+ 
+diff -Naurd cloog-ppl-0.15.11-a/configure.in cloog-ppl-0.15.11-b/configure.in
+--- cloog-ppl-0.15.11-a/configure.in	2010-08-27 21:13:48.000000000 +0200
++++ cloog-ppl-0.15.11-b/configure.in	2012-01-27 13:29:42.698987517 +0100
+@@ -343,7 +343,7 @@
+ 	#endif
+ 	], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 	AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
+ 
+ else
diff --git a/patches/cloog-ppl/0.15.6/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.6/100-add_on_libs_position.patch
new file mode 100644
--- /dev/null
+++ b/patches/cloog-ppl/0.15.6/100-add_on_libs_position.patch
@@ -0,0 +1,24 @@
+diff -Naurd cloog-ppl-0.15.6-a/configure cloog-ppl-0.15.6-b/configure
+--- cloog-ppl-0.15.6-a/configure	2009-08-10 23:18:07.000000000 +0200
++++ cloog-ppl-0.15.6-b/configure	2012-01-27 13:25:08.858988857 +0100
+@@ -12917,7 +12917,7 @@
+ 
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 
+ cat >>confdefs.h <<\_ACEOF
+ #define CLOOG_PPL_BACKEND 1
+diff -Naurd cloog-ppl-0.15.6-a/configure.in cloog-ppl-0.15.6-b/configure.in
+--- cloog-ppl-0.15.6-a/configure.in	2009-08-10 23:18:07.000000000 +0200
++++ cloog-ppl-0.15.6-b/configure.in	2012-01-27 13:25:08.862988846 +0100
+@@ -354,7 +354,7 @@
+ 	#endif
+ 	], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 	AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
+ 
+ else
diff --git a/patches/cloog-ppl/0.15.7/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.7/100-add_on_libs_position.patch
new file mode 100644
--- /dev/null
+++ b/patches/cloog-ppl/0.15.7/100-add_on_libs_position.patch
@@ -0,0 +1,24 @@
+diff -Naurd cloog-ppl-0.15.7-a/configure cloog-ppl-0.15.7-b/configure
+--- cloog-ppl-0.15.7-a/configure	2009-08-12 03:33:31.000000000 +0200
++++ cloog-ppl-0.15.7-b/configure	2012-01-27 13:26:13.970988501 +0100
+@@ -12902,7 +12902,7 @@
+ 
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 
+ cat >>confdefs.h <<\_ACEOF
+ #define CLOOG_PPL_BACKEND 1
+diff -Naurd cloog-ppl-0.15.7-a/configure.in cloog-ppl-0.15.7-b/configure.in
+--- cloog-ppl-0.15.7-a/configure.in	2009-08-12 03:33:31.000000000 +0200
++++ cloog-ppl-0.15.7-b/configure.in	2012-01-27 13:26:13.970988501 +0100
+@@ -345,7 +345,7 @@
+ 	#endif
+ 	], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 	AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
+ 
+ else
diff --git a/patches/cloog-ppl/0.15.8/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.8/100-add_on_libs_position.patch
new file mode 100644
--- /dev/null
+++ b/patches/cloog-ppl/0.15.8/100-add_on_libs_position.patch
@@ -0,0 +1,24 @@
+diff -Naurd cloog-ppl-0.15.8-a/configure cloog-ppl-0.15.8-b/configure
+--- cloog-ppl-0.15.8-a/configure	2010-02-11 19:05:30.000000000 +0100
++++ cloog-ppl-0.15.8-b/configure	2012-01-27 13:27:09.710988253 +0100
+@@ -12902,7 +12902,7 @@
+ 
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 
+ cat >>confdefs.h <<\_ACEOF
+ #define CLOOG_PPL_BACKEND 1
+diff -Naurd cloog-ppl-0.15.8-a/configure.in cloog-ppl-0.15.8-b/configure.in
+--- cloog-ppl-0.15.8-a/configure.in	2010-02-11 19:05:31.000000000 +0100
++++ cloog-ppl-0.15.8-b/configure.in	2012-01-27 13:27:09.710988253 +0100
+@@ -345,7 +345,7 @@
+ 	#endif
+ 	], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 	AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
+ 
+ else
diff --git a/patches/cloog-ppl/0.15.9/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.9/100-add_on_libs_position.patch
new file mode 100644
--- /dev/null
+++ b/patches/cloog-ppl/0.15.9/100-add_on_libs_position.patch
@@ -0,0 +1,24 @@
+diff -Naurd cloog-ppl-0.15.9-a/configure cloog-ppl-0.15.9-b/configure
+--- cloog-ppl-0.15.9-a/configure	2010-03-23 22:29:47.000000000 +0100
++++ cloog-ppl-0.15.9-b/configure	2012-01-27 13:28:03.866987993 +0100
+@@ -12902,7 +12902,7 @@
+ 
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 
+ cat >>confdefs.h <<\_ACEOF
+ #define CLOOG_PPL_BACKEND 1
+diff -Naurd cloog-ppl-0.15.9-a/configure.in cloog-ppl-0.15.9-b/configure.in
+--- cloog-ppl-0.15.9-a/configure.in	2010-03-23 22:29:47.000000000 +0100
++++ cloog-ppl-0.15.9-b/configure.in	2012-01-27 13:28:03.866987993 +0100
+@@ -345,7 +345,7 @@
+ 	#endif
+ 	], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
+ 
+-	LIBS="$LIBS -lppl_c -lppl -lgmpxx"
++	LIBS="-lppl_c -lppl -lgmpxx $LIBS"
+ 	AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
+ 
+ else
diff --git a/scripts/build/companion_libs/cloog.sh b/scripts/build/companion_libs/cloog.sh
--- a/scripts/build/companion_libs/cloog.sh
+++ b/scripts/build/companion_libs/cloog.sh
@@ -45,7 +45,7 @@
 
     CT_DoExecLog CFG                            \
     CFLAGS="${CT_CFLAGS_FOR_HOST}"              \
-    LDFLAGS="-lm"                               \
+    LIBS="-lm"                                  \
     "${cloog_src_dir}/configure"                \
         --build=${CT_BUILD}                     \
         --host=${CT_HOST}                       \

  reply	other threads:[~2012-01-27 12:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-13 20:07 [PATCH 0 of 1] CLooG/PPL build fails on Ubuntu 11.10 Benoît Thébaudeau
2011-12-13 20:07 ` [PATCH 1 of 1] complibs/cloog: fix linking with libm Benoît Thébaudeau
2012-01-27 11:54   ` [PATCH] " Benoît Thébaudeau
2012-01-27 12:38     ` [PATCH 0 of 2] Fix CLooG/PPL build on latest Ubuntus Benoît Thébaudeau
2012-01-27 12:38       ` Benoît Thébaudeau [this message]
2012-01-27 12:38       ` [PATCH 1 of 2] complibs/cloog: remove unsupported versions from config Benoît Thébaudeau
2012-01-28 16:11       ` [PATCH 0 of 2] Fix CLooG/PPL build on latest Ubuntus Yann E. MORIN
2012-01-03 23:55 ` [PATCH 0 of 1] CLooG/PPL build fails on Ubuntu 11.10 Benoît Thébaudeau
2012-01-04  0:09   ` Yann E. MORIN
2012-01-20 23:24     ` Benoît Thébaudeau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5fe33bb8e7a423e0b6bc.1327667856@advdt005-ubuntu \
    --to=benoit.thebaudeau@advansee.com \
    --cc=crossgcc@sourceware.org \
    --cc=yann.morin.1998@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).