Hello all, I got a build error when building Boost 1.46 on Visual Studio 2003 (MSVC 7.1) in Boost.Fusion: compile-c-c++ bin.v2\libs\math\build\msvc-7.1\debug\pch-off\threading-multi\asso c_legendre.obj assoc_legendre.cpp boost\fusion\sequence\comparison\less_equal.hpp(49) : error C2039: 'is_native_fu sion_sequence' : is not a member of 'boost::fusion::detail' boost\fusion\sequence\comparison\less_equal.hpp(49) : error C2065: 'is_native_fu sion_sequence' : undeclared identifier boost\fusion\sequence\comparison\less_equal.hpp(49) : error C2974: 'boost::disab le_if' : invalid template argument for 'Cond', type expected boost\utility\enable_if.hpp(59) : see declaration of 'boost::disable_if' Anyone?
On 2/22/2011 3:11 PM, gast128 wrote:
Hello all,
I got a build error when building Boost 1.46 on Visual Studio 2003 (MSVC 7.1) in Boost.Fusion:
compile-c-c++ bin.v2\libs\math\build\msvc-7.1\debug\pch-off\threading-multi\asso c_legendre.obj assoc_legendre.cpp boost\fusion\sequence\comparison\less_equal.hpp(49) : error C2039: 'is_native_fu sion_sequence' : is not a member of 'boost::fusion::detail' boost\fusion\sequence\comparison\less_equal.hpp(49) : error C2065: 'is_native_fu sion_sequence' : undeclared identifier boost\fusion\sequence\comparison\less_equal.hpp(49) : error C2974: 'boost::disab le_if' : invalid template argument for 'Cond', type expected boost\utility\enable_if.hpp(59) : see declaration of 'boost::disable_if'
Anyone?
Looks like a bug, yes. is_native_fusion_sequence was moved out of the detail namespace and into the traits namespace, but this work-around code for vc7.1 and vc8 was not updated. If you replace detail::is_native_fusion_sequence with traits::is_native_fusion_sequence, the problem should go away. Would you be kind enough to file a bug? -- Eric Niebler BoostPro Computing http://www.boostpro.com
On 2/22/2011 5:01 PM, Eric Niebler wrote:
On 2/22/2011 3:11 PM, gast128 wrote:
Hello all,
I got a build error when building Boost 1.46 on Visual Studio 2003 (MSVC 7.1) in Boost.Fusion:
compile-c-c++ bin.v2\libs\math\build\msvc-7.1\debug\pch-off\threading-multi\asso c_legendre.obj assoc_legendre.cpp boost\fusion\sequence\comparison\less_equal.hpp(49) : error C2039: 'is_native_fu sion_sequence' : is not a member of 'boost::fusion::detail' boost\fusion\sequence\comparison\less_equal.hpp(49) : error C2065: 'is_native_fu sion_sequence' : undeclared identifier boost\fusion\sequence\comparison\less_equal.hpp(49) : error C2974: 'boost::disab le_if' : invalid template argument for 'Cond', type expected boost\utility\enable_if.hpp(59) : see declaration of 'boost::disable_if'
Anyone?
Looks like a bug, yes. is_native_fusion_sequence was moved out of the detail namespace and into the traits namespace, but this work-around code for vc7.1 and vc8 was not updated.
If you replace detail::is_native_fusion_sequence with traits::is_native_fusion_sequence, the problem should go away.
Would you be kind enough to file a bug?
It's already fixed in trunk but unfortunately did not make it into the release :-( Regards, -- Joel de Guzman http://www.boostpro.com http://boost-spirit.com
see https://svn.boost.org/trac/boost/ticket/5209. Lol, including a http link in svn gives a spam report: 'Submission rejected as potential spam (External links in post found)'
I've got an error while trying to upgrade from 1.44 to this release under Linux (see below). common.mkdir bin.v2/libs/system/build/gcc-4.2.0/release/link-static common.mkdir bin.v2/libs/system/build/gcc-4.2.0/release/link-static/threading-multi gcc.compile.c++ bin.v2/libs/system/build/gcc-4.2.0/release/link-static/threading-multi/error_code.o gcc.archive bin.v2/libs/system/build/gcc-4.2.0/release/link-static/threading-multi/libboost_system.a common.copy stage/lib/libboost_system.a common.mkdir bin.v2/libs/thread/build/gcc-4.2.0/release/link-static common.mkdir bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi common.mkdir bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/pthread gcc.compile.c++ bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/pthread/thread.o In file included from ./boost/thread/condition_variable.hpp:16, from ./boost/thread/pthread/shared_mutex.hpp:13, from ./boost/thread/shared_mutex.hpp:16, from ./boost/thread/detail/thread_group.hpp:9, from ./boost/thread/thread.hpp:24, from libs/thread/src/pthread/thread.cpp:10: ./boost/thread/pthread/condition_variable.hpp: In member function 'void boost::condition_variable::wait(boost::unique_lockboost::mutex&)': ./boost/thread/pthread/condition_variable.hpp:53: warning: unused variable 'res' gcc.compile.c++ bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/pthread/once.o gcc.archive bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/libboost_thread.a common.copy stage/lib/libboost_thread.a ...failed updating 2 targets... ...skipped 6 targets... ...updated 130 targets... process stops here... Do you compile with -Werror maybe? Regards, Andreas On 02/22/2011 11:53 AM, gast128 wrote:
see https://svn.boost.org/trac/boost/ticket/5209.
Lol, including a http link in svn gives a spam report: 'Submission rejected as potential spam (External links in post found)'
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Dipl.-Ing. (FH) Andreas Wehrmann Software Development -------------------------------------------------------------- Center Communication Systems GmbH A-1210 Wien, Ignaz-Köck-Straße 19 Sitz in Wien FN 796 88p, Firmenbuchgericht Wien www.centersystems.com Tel.: +43 (0) 190 199 - 3616 Mobile: +43 (0) 664 884 75916 Fax: +43 (0) 190 199 - 2110 E-Mail: a.wehrmann@centersystems.com
Andreas Wehrmann wrote:
I've got an error while trying to upgrade from 1.44 to this release under Linux (see below).
common.mkdir bin.v2/libs/system/build/gcc-4.2.0/release/link-static common.mkdir bin.v2/libs/system/build/gcc-4.2.0/release/link-static/threading-multi gcc.compile.c++ bin.v2/libs/system/build/gcc-4.2.0/release/link-static/threading-multi/error_code.o gcc.archive bin.v2/libs/system/build/gcc-4.2.0/release/link-static/threading-multi/libboost_system.a common.copy stage/lib/libboost_system.a common.mkdir bin.v2/libs/thread/build/gcc-4.2.0/release/link-static common.mkdir bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi common.mkdir bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/pthread gcc.compile.c++ bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/pthread/thread.o In file included from ./boost/thread/condition_variable.hpp:16, from ./boost/thread/pthread/shared_mutex.hpp:13, from ./boost/thread/shared_mutex.hpp:16, from ./boost/thread/detail/thread_group.hpp:9, from ./boost/thread/thread.hpp:24, from libs/thread/src/pthread/thread.cpp:10: ./boost/thread/pthread/condition_variable.hpp: In member function 'void boost::condition_variable::wait(boost::unique_lockboost::mutex&)': ./boost/thread/pthread/condition_variable.hpp:53: warning: unused variable 'res' gcc.compile.c++ bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/pthread/once.o gcc.archive bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/libboost_thread.a common.copy stage/lib/libboost_thread.a ...failed updating 2 targets... ...skipped 6 targets... ...updated 130 targets... process stops here...
Do you compile with -Werror maybe?
No, we don't. In fact, it seems like the actual error is omitted from your output -- is there something else above? - Volodya -- Vladimir Prus Mentor Graphics +7 (812) 677-68-40
I'm not sure if it's omitted, I couldn't find anything suspicious on a first glance. I attached the output for the entire boost build. In boost/config/user.hpp I defined BOOST_ASIO_DISABLE_FENCED_BLOCK, but that shouldn't be the problem here. This is what my build environment (am crosscompiling) spits out: wehrmann@cruncher:~/Perforce/depot/Baugruppen/Software/dev/awh$ ./ltib --force -p boost 2>&1 >boost_build.log No remote package pools defined PKG_GLIBC in /home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/config/platform/mcf548x/pkg_map is not selectable + umask 022 + cd /home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/rpm/BUILD + cd /home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/rpm/BUILD + rm -rf boost_1_46_0 + /bin/bzip2 -dc /home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/rpm/SOURCES/boost_1_46_0.tar.bz2 + tar -xvvf - + STATUS=0 + '[' 0 -ne 0 ']' + cd boost_1_46_0 + echo 'Patch #1 (boost_1_46_0_disabled-fenced-blocking.patch):' + patch -p1 -s + exit 0 + umask 022 + cd /home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/rpm/BUILD + cd boost_1_46_0 + '[' -n /home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/bin:/opt/freescale/ltib/usr/bin:/opt/freescale/usr/local/gcc-4.2.35-eglibc-2.5.35/m68k-linux/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin ']' + ORIG_PATH=/home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/bin:/opt/freescale/ltib/usr/spoof:/home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/bin:/opt/freescale/ltib/usr/bin:/opt/freescale/usr/local/gcc-4.2.35-eglibc-2.5.35/m68k-linux/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin + export PATH=/home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/bin:/opt/freescale/ltib/usr/bin:/opt/freescale/usr/local/gcc-4.2.35-eglibc-2.5.35/m68k-linux/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin + PATH=/home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/bin:/opt/freescale/ltib/usr/bin:/opt/freescale/usr/local/gcc-4.2.35-eglibc-2.5.35/m68k-linux/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin + cd tools/build/v2/engine/src + ./build.sh jam.c: In function 'executable_path': jam.c:623: warning: incompatible implicit declaration of built-in function 'strndup' + export PATH=/home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/bin:/opt/freescale/ltib/usr/spoof:/home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/bin:/opt/freescale/ltib/usr/bin:/opt/freescale/usr/local/gcc-4.2.35-eglibc-2.5.35/m68k-linux/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin + PATH=/home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/bin:/opt/freescale/ltib/usr/spoof:/home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/bin:/opt/freescale/ltib/usr/bin:/opt/freescale/usr/local/gcc-4.2.35-eglibc-2.5.35/m68k-linux/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin + cd ../../../../.. ++ find tools/build/v2/engine/src -name bjam -a -type f + BJAM=tools/build/v2/engine/src/bin.linuxx86/bjam + ./bootstrap.sh --prefix=/home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/tmp/boost//opt/freescale/rootfs/m68k//usr --with-libraries=iostreams,program_options,regex,system,thread --without-icu --with-bjam=tools/build/v2/engine/src/bin.linuxx86/bjam + tools/build/v2/engine/src/bin.linuxx86/bjam error: Bad exit status from /home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/tmp/rpm-tmp.7241 (%build) Bad exit status from /home/wehrmann/Perforce/depot/Baugruppen/Software/dev/awh/tmp/rpm-tmp.7241 (%build) Failed building boost f_buildrpms() returned an error, exiting Exiting on error or interrupt On 02/22/2011 12:18 PM, Vladimir Prus wrote:
Andreas Wehrmann wrote:
I've got an error while trying to upgrade from 1.44 to this release under Linux (see below).
common.mkdir bin.v2/libs/system/build/gcc-4.2.0/release/link-static common.mkdir bin.v2/libs/system/build/gcc-4.2.0/release/link-static/threading-multi gcc.compile.c++ bin.v2/libs/system/build/gcc-4.2.0/release/link-static/threading-multi/error_code.o gcc.archive bin.v2/libs/system/build/gcc-4.2.0/release/link-static/threading-multi/libboost_system.a common.copy stage/lib/libboost_system.a common.mkdir bin.v2/libs/thread/build/gcc-4.2.0/release/link-static common.mkdir bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi common.mkdir bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/pthread gcc.compile.c++ bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/pthread/thread.o In file included from ./boost/thread/condition_variable.hpp:16, from ./boost/thread/pthread/shared_mutex.hpp:13, from ./boost/thread/shared_mutex.hpp:16, from ./boost/thread/detail/thread_group.hpp:9, from ./boost/thread/thread.hpp:24, from libs/thread/src/pthread/thread.cpp:10: ./boost/thread/pthread/condition_variable.hpp: In member function 'void boost::condition_variable::wait(boost::unique_lockboost::mutex&)': ./boost/thread/pthread/condition_variable.hpp:53: warning: unused variable 'res' gcc.compile.c++ bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/pthread/once.o gcc.archive bin.v2/libs/thread/build/gcc-4.2.0/release/link-static/threading-multi/libboost_thread.a common.copy stage/lib/libboost_thread.a ...failed updating 2 targets... ...skipped 6 targets... ...updated 130 targets... process stops here...
Do you compile with -Werror maybe? No, we don't. In fact, it seems like the actual error is omitted from your output -- is there something else above?
- Volodya
-- Dipl.-Ing. (FH) Andreas Wehrmann Software Development -------------------------------------------------------------- Center Communication Systems GmbH A-1210 Wien, Ignaz-Köck-Straße 19 Sitz in Wien FN 796 88p, Firmenbuchgericht Wien www.centersystems.com Tel.: +43 (0) 190 199 - 3616 Mobile: +43 (0) 664 884 75916 Fax: +43 (0) 190 199 - 2110 E-Mail: a.wehrmann@centersystems.com
Andreas Wehrmann wrote:
libs/iostreams/src/bzip2.cpp:164: error: 'BZ2_bzDecompressInit' was not declared in this scope
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG -I"." -c -o "bin.v2/libs/iostreams/build/gcc-4.2.0/release/link-static/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"
...failed gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.2.0/release/link-static/threading-multi/bzip2.o...
Here's you real error. You don't have headers for libbz2. Either install them, or use --without-iostreams when building. HTH, -- Vladimir Prus Mentor Graphics +7 (812) 677-68-40
When did those become mandatory? Previous versions (including 1.44) build without this option. This error messages appeared also, but they just showed up; nothing bad happened. Regards, Andreas On 02/22/2011 03:52 PM, Vladimir Prus wrote:
Andreas Wehrmann wrote:
libs/iostreams/src/bzip2.cpp:164: error: 'BZ2_bzDecompressInit' was not declared in this scope
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG -I"." -c -o "bin.v2/libs/iostreams/build/gcc-4.2.0/release/link-static/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"
...failed gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.2.0/release/link-static/threading-multi/bzip2.o... Here's you real error. You don't have headers for libbz2. Either install them, or use --without-iostreams when building.
HTH,
-- Dipl.-Ing. (FH) Andreas Wehrmann Software Development -------------------------------------------------------------- Center Communication Systems GmbH A-1210 Wien, Ignaz-Köck-Straße 19 Sitz in Wien FN 796 88p, Firmenbuchgericht Wien www.centersystems.com Tel.: +43 (0) 190 199 - 3616 Mobile: +43 (0) 664 884 75916 Fax: +43 (0) 190 199 - 2110 E-Mail: a.wehrmann@centersystems.com
Andreas Wehrmann wrote:
When did those become mandatory? Previous versions (including 1.44) build without this option. This error messages appeared also, but they just showed up; nothing bad happened.
We've changed the default behaviour to stop on the first error, just like 99% of other projects do. You can use --keep-going option to make thing proceed further no matter what. - Volodya -- Vladimir Prus Mentor Graphics +7 (812) 677-68-40
On 02/22/2011 04:35 PM, Vladimir Prus wrote:
Andreas Wehrmann wrote:
When did those become mandatory? Previous versions (including 1.44) build without this option. This error messages appeared also, but they just showed up; nothing bad happened. We've changed the default behaviour to stop on the first error, just like 99% of other projects do. You can use --keep-going option to make thing proceed further no matter what.
- Volodya
That was it, thanks! Regards, Andreas -- Dipl.-Ing. (FH) Andreas Wehrmann Software Development -------------------------------------------------------------- Center Communication Systems GmbH A-1210 Wien, Ignaz-Köck-Straße 19 Sitz in Wien FN 796 88p, Firmenbuchgericht Wien www.centersystems.com Tel.: +43 (0) 190 199 - 3616 Mobile: +43 (0) 664 884 75916 Fax: +43 (0) 190 199 - 2110 E-Mail: a.wehrmann@centersystems.com
On Feb 22, 2011, at 9:52 AM, Vladimir Prus wrote:
Andreas Wehrmann wrote:
libs/iostreams/src/bzip2.cpp:164: error: 'BZ2_bzDecompressInit' was not declared in this scope
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG -I"." -c -o "bin.v2/libs/iostreams/build/gcc-4.2.0/release/link-static/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"
...failed gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.2.0/release/link-static/threading-multi/bzip2.o...
Here's you real error. You don't have headers for libbz2. Either install them, or use --without-iostreams when building.
We've been using the following addition to our user-config.jam for some time on systems that don't have libbz2, so that we still have the rest of the iostreams library. modules.poke : NO_BZIP2 : 1 ; NO_BZIP2 is documented in the iostreams Installation page, along with a number of similar options.
participants (6)
-
Andreas Wehrmann
-
Eric Niebler
-
gast128
-
Joel de Guzman
-
Kim Barrett
-
Vladimir Prus