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

Reply via email to