Opened 9 years ago
Closed 9 years ago
#71 closed defect (fixed)
Boost build problems
Reported by: | abwillis | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | *none | Version: | |
Severity: | low | Keywords: | |
Cc: |
Description
Build errors in Boost:Log
In file included from libs\log\src/text_file_backend.cpp:44:0:
./boost/filesystem/convenience.hpp:19:5: error: #error Configuration not support
ed: Boost.Filesystem V3 and later requires std::wstring support
# error Configuration not supported: Boost.Filesystem V3 and later requires s
td::wstring support
...failed gcc.compile.c++ bin.v2\libs\log\build\gcc-4.9.2\release\build-no\link-
static\threading-multi/text_multifile_backend.o...
gcc.compile.c++ bin.v2\libs\log\build\gcc-4.9.2\release\build-no\link-static\thr
eading-multi/timestamp.o
libs\log\src/timestamp.cpp:312:5: error: #error Boost.Log: Timestamp generation
is not supported for your platform
# error Boost.Log: Timestamp generation is not supported for your platform
Probably should add
to the os2.hpp
Plus these diffs were needed:
Index: boost/config/platform/os2.hpp =================================================================== --- boost/config/platform/os2.hpp (revision 1154) +++ boost/config/platform/os2.hpp (working copy) @@ -24,6 +24,10 @@ #define BOOST_NO_CTYPE_FUNCTIONS +#undef BOOST_LOG_USE_WCHAR_T + +#define BOOST_LOG_WITHOUT_WCHAR_T + // // thread API's not auto detected: // Index: boost/filesystem/convenience.hpp =================================================================== --- boost/filesystem/convenience.hpp (revision 1154) +++ boost/filesystem/convenience.hpp (working copy) @@ -15,7 +15,7 @@ #include <boost/config.hpp> -# if defined( BOOST_NO_STD_WSTRING ) +# if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support # endif Index: boost/filesystem/fstream.hpp =================================================================== --- boost/filesystem/fstream.hpp (revision 1154) +++ boost/filesystem/fstream.hpp (working copy) @@ -14,7 +14,7 @@ #include <boost/config.hpp> -# if defined( BOOST_NO_STD_WSTRING ) +# if defined( BOOST_NO_STD_WSTRING ) && !defined(__OS2__) # error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support # endif Index: libs/log/src/timestamp.cpp =================================================================== --- libs/log/src/timestamp.cpp (revision 1154) +++ libs/log/src/timestamp.cpp (working copy) @@ -202,7 +202,7 @@ #endif // _WIN32_WINNT >= 0x0600 -#elif defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 +#elif defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 || defined(__OS2__) BOOST_LOG_API int64_t duration::milliseconds() const {
Change History (10)
comment:1 by , 9 years ago
comment:3 by , 9 years ago
I see you got the other error while building math. Math uses pch, which our gcc doesn't understand.
r1156 fixes it
comment:4 by , 9 years ago
Another one... this may be doable by changing a define in os2.hpp for t_divide but this looks like where it should be to me:
Index: boost/wave/token_ids.hpp =================================================================== --- boost/wave/token_ids.hpp (revision 1156) +++ boost/wave/token_ids.hpp (working copy) @@ -27,7 +27,7 @@ #if !defined(BOOST_WAVE_TOKEN_IDS_DEFINED) #define BOOST_WAVE_TOKEN_IDS_DEFINED -#if (defined (__FreeBSD__) || defined (__DragonFly__) || defined (__OpenBSD__)) && defined (T_DIVIDE) +#if (defined (__FreeBSD__) || defined (__DragonFly__) || defined (__OpenBSD__)) || defined(__OS2__) && defined (T_DIVIDE) #undef T_DIVIDE #endif
comment:5 by , 9 years ago
Index: libs/container/src/dlmalloc_2_8_6.c =================================================================== --- libs/container/src/dlmalloc_2_8_6.c (revision 1156) +++ libs/container/src/dlmalloc_2_8_6.c (working copy) @@ -565,6 +565,10 @@ #endif /*MMAP_CLEARS */ #endif /* WIN32 */ +#ifdef __OS2__ +#define LACKS_SCHED_H +#endif + #if defined(DARWIN) || defined(_DARWIN) /* Mac OSX docs advise not to use sbrk; it seems better to use mmap */ #ifndef HAVE_MORECORE
comment:6 by , 9 years ago
OK, I have the following errors from:
#ifdef BOOST_NO_STD_WSTREAMBUF
#error "wide char i/o not supported on this platform"
#else
gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/basic_text_wiprimitive.o libs\serialization\src/basic_text_wiprimitive.cpp:14:2: error: #error "wide char i/o not supported on this platform" #error "wide char i/o not supported on this platform" ^ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/basic_text_wiprimitive.o" "libs\serialization\src/basic_text_wiprimitive.cpp" ...failed gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/basic_text_wiprimitive.o... gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/basic_text_woprimitive.o libs\serialization\src/basic_text_woprimitive.cpp:14:2: error: #error "wide char i/o not supported on this platform" #error "wide char i/o not supported on this platform" ^ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/basic_text_woprimitive.o" "libs\serialization\src/basic_text_woprimitive.cpp" ...failed gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/basic_text_woprimitive.o... gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/text_wiarchive.o libs\serialization\src/text_wiarchive.cpp:14:2: error: #error "wide char i/o not supported on this platform" #error "wide char i/o not supported on this platform" ^ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/text_wiarchive.o" "libs\serialization\src/text_wiarchive.cpp" ...failed gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/text_wiarchive.o... gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/text_woarchive.o libs\serialization\src/text_woarchive.cpp:13:2: error: #error "wide char i/o not supported on this platform" #error "wide char i/o not supported on this platform" ^ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/text_woarchive.o" "libs\serialization\src/text_woarchive.cpp" ...failed gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/text_woarchive.o... gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/utf8_codecvt_facet.o libs\serialization\src/utf8_codecvt_facet.cpp:8:2: error: #error "wide char i/o not supported on this platform" #error "wide char i/o not supported on this platform" ^ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/utf8_codecvt_facet.o" "libs\serialization\src/utf8_codecvt_facet.cpp" ...failed gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/utf8_codecvt_facet.o... gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/xml_wgrammar.o libs\serialization\src/xml_wgrammar.cpp:14:2: error: #error "wide char i/o not supported on this platform" #error "wide char i/o not supported on this platform" ^ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/xml_wgrammar.o" "libs\serialization\src/xml_wgrammar.cpp" ...failed gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/xml_wgrammar.o... gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/xml_wiarchive.o libs\serialization\src/xml_wiarchive.cpp:13:2: error: #error "wide char i/o not supported on this platform" #error "wide char i/o not supported on this platform" ^ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/xml_wiarchive.o" "libs\serialization\src/xml_wiarchive.cpp" ...failed gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/xml_wiarchive.o... gcc.compile.c++ bin.v2\libs\serialization\build\gcc-4.9.2\release\link-static\threading-multi/xml_woarchive.o libs\serialization\src/xml_woarchive.cpp:13:2: error: #error "wide char i/o not supported on this platform" #error "wide char i/o not supported on this platform" ^
I am going to try to add the !defined(OS2) but not sure if that is the only/right fix here or not.
comment:9 by , 9 years ago
container fixed in r1158
as a remark, I doubt we can build all boost libs, as some heavy use wchar. And we lack this.
comment:10 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Everything I need is now working... thank you.
Using GCC 4.9.2 from rpm:
...failed gcc.compile.c++ bin.v2\libs\math\build\gcc-4.9.2\release\link-static\t
hreading-multi/comp_ellint_2f.o...
gcc.compile.c++ bin.v2\libs\math\build\gcc-4.9.2\release\link-static\threading-m
ulti/comp_ellint_3f.o
g++: internal compiler error: Segmentation fault (program cc1plus)
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.