On Jun 1, 2013, at 8:26 PM, Daniel King wrote:
Hello All,
I am currently following the the cross compiled linux from
scratch(Version GIT-20130531-x86_64-Multilib). I am using Ubuntu
13.04on an AMD FX system. I was building PPL 0.12.1 when make
returned the following error.
make all-am
make[3]: Entering directory `/mnt/lfs/sources/ppl-0.12.1/src'
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -
I.. -I.. -I../src -I/cross-tools/include -I/cross-tools/include -g -
frounding-math -W -Wall -MT assert.lo -MD -MP -MF .deps/assert.Tpo -
c -o assert.lo assert.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/
cross-tools/include -I/cross-tools/include -g -frounding-math -W -
Wall -MT assert.lo -MD -MP -MF .deps/assert.Tpo -c assert.cc -fPIC -
DPIC -o .libs/assert.o
mv -f .deps/assert.Tpo .deps/assert.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -
I.. -I.. -I../src -I/cross-tools/include -I/cross-tools/include -g -
frounding-math -W -Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c -o
Box.lo Box.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/
cross-tools/include -I/cross-tools/include -g -frounding-math -W -
Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c Box.cc -fPIC -DPIC -
o .libs/Box.o
In file included from checked.defs.hh:30:0,
from Checked_Number.defs.hh:28,
from Coefficient.types.hh:16,
from Coefficient.defs.hh:27,
from Box.defs.hh:29,
from Box.cc:25:
mp_std_bits.defs.hh:47:7: error: redefinition of 'class
std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >'
In file included from checked.defs.hh:29:0,
from Checked_Number.defs.hh:28,
from Coefficient.types.hh:16,
from Coefficient.defs.hh:27,
from Box.defs.hh:29,
from Box.cc:25:
/cross-tools/include/gmpxx.h:3270:21: error: previous definition of
'class std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct
[1]> >'
In file included from checked.defs.hh:30:0,
from Checked_Number.defs.hh:28,
from Coefficient.types.hh:16,
from Coefficient.defs.hh:27,
from Box.defs.hh:29,
from Box.cc:25:
mp_std_bits.defs.hh:108:7: error: redefinition of 'class
std::numeric_limits<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >'
In file included from checked.defs.hh:29:0,
from Checked_Number.defs.hh:28,
from Coefficient.types.hh:16,
from Coefficient.defs.hh:27,
from Box.defs.hh:29,
from Box.cc:25:
/cross-tools/include/gmpxx.h:3307:21: error: previous definition of
'class std::numeric_limits<__gmp_expr<__mpq_struct [1], __mpq_struct
[1]> >'
make[3]: *** [Box.lo] Error 1
make[3]: Leaving directory `/mnt/lfs/sources/ppl-0.12.1/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/mnt/lfs/sources/ppl-0.12.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/lfs/sources/ppl-0.12.1'
make: *** [all] Error 2
Hello Daniel,
We are in the middle of adding gcc 4.8.1 and removing ppl. Use this
patch for now:
--- src/p_std_bits.cc.org 2012-12-30 00:37:03.033948083 +0100
+++ src/mp_std_bits.cc 2012-12-30 00:44:12.893019313 +0100
@@ -25,6 +25,9 @@
#include "ppl-config.h"
#include "mp_std_bits.defs.hh"
+#if __GNU_MP_VERSION < 5 \
+ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+
const bool std::numeric_limits<mpz_class>::is_specialized;
const int std::numeric_limits<mpz_class>::digits;
const int std::numeric_limits<mpz_class>::digits10;
@@ -70,3 +73,6 @@
const bool std::numeric_limits<mpq_class>::traps;
const bool std::numeric_limits<mpq_class>::tininess_before;
const std::float_round_style
std::numeric_limits<mpq_class>::round_style;
+
+#endif // __GNU_MP_VERSION < 5
+ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
--- src/mp_std_bits.defs.hh.org 2012-12-30 00:37:03.037948187 +0100
+++ src/mp_std_bits.defs.hh 2012-12-30 00:42:32.002424189 +0100
@@ -38,6 +38,9 @@
#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
void swap(mpq_class& x, mpq_class& y);
+#if __GNU_MP_VERSION < 5 \
+ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+
namespace std {
#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -164,6 +167,9 @@
} // namespace std
+#endif // __GNU_MP_VERSION < 5
+ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+
#include "mp_std_bits.inlines.hh"
#endif // !defined(PPL_mp_std_bits_defs_hh)
I'll link it at http://cross-lfs.org/~kb0iic/ppl-0.12.1-gmp_fixes-1.patch
Sincerely,
William Harrington
_______________________________________________
Clfs-support mailing list
[email protected]
http://lists.cross-lfs.org/listinfo.cgi/clfs-support-cross-lfs.org