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 abwillis, 9 years ago

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.

comment:2 by Silvan Scherrer, 9 years ago

done in r1155. I don't see the other error you mention btw.

comment:3 by Silvan Scherrer, 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 abwillis, 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) +#if (defined (FreeBSD)
defined (DragonFly) defined (OpenBSD)) && defined (T_DIVIDE)
defined (DragonFly) defined (OpenBSD)) defined(OS2) && defined (T_DIVIDE)

#undef T_DIVIDE
#endif


Version 0, edited 9 years ago by abwillis (next)

comment:5 by abwillis, 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 abwillis, 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:7 by abwillis, 9 years ago

As I had suspected:

&& !defined(OS2)

just caused other errors to occur.

comment:8 by Silvan Scherrer, 9 years ago

your wave fix from comment:4 had a typo. I fixed it in r1157

comment:9 by Silvan Scherrer, 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 abwillis, 9 years ago

Resolution: fixed
Status: newclosed

Everything I need is now working... thank you.

Note: See TracTickets for help on using tickets.