ASIO: Problem with building boost 1.53 ASIO examples under cygwin

Hi all, I tried building boost 1.53 ASIO examples under cygwin and it didn't worked with bjam or b2 respectively. Then I used "bjam -n" to get the invoked commands in order to further track down the issue. I end up with the following command to compile an example "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -I"../../../.." -o "blocking_udp_echo_server" "blocking_udp_echo_server.cpp" -D__USE_W32_SOCKETS -D_WIN32_WINNT=0x0501 ../../../../bin.v2/libs/thread/build/gcc-4.5.3/release/link-static/threading-multi/libboost_thread.a ../../../../bin.v2/libs/system/build/gcc-4.5.3/release/link-static/threading-multi/libboost_system.a -lws2_32 -lmswsock and I got the following errors: In file included from ../../../../boost/asio/detail/impl/posix_tss_ptr.ipp:24:0, from ../../../../boost/asio/detail/posix_tss_ptr.hpp:77, from ../../../../boost/asio/detail/tss_ptr.hpp:27, from ../../../../boost/asio/detail/call_stack.hpp:20, from ../../../../boost/asio/impl/handler_alloc_hook.ipp:19, from ../../../../boost/asio/handler_alloc_hook.hpp:80, from ../../../../boost/asio/detail/handler_alloc_helpers.hpp:22, from ../../../../boost/asio/detail/bind_handler.hpp:19, from ../../../../boost/asio/detail/wrapped_handler.hpp:18, from ../../../../boost/asio/io_service.hpp:24, from ../../../../boost/asio/basic_io_object.hpp:19, from ../../../../boost/asio/basic_socket.hpp:19, from ../../../../boost/asio/basic_datagram_socket.hpp:20, from ../../../../boost/asio.hpp:20, from blocking_udp_echo_server.cpp:13: ../../../../boost/asio/error.hpp:77:17: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:130:15: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:135:19: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:149:23: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:163:15: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:244:45: warning: boost::asio::error::system_category defined but not used ../../../../boost/asio/error.hpp:246:45: warning: boost::asio::error::netdb_category defined but not used ../../../../boost/asio/error.hpp:248:45: warning: boost::asio::error::addrinfo_category defined but not used ../../../../boost/asio/error.hpp:250:45: warning: boost::asio::error::misc_category defined but not used ../../../../boost/asio/detail/winsock_init.hpp:78:30: warning: boost::asio::detail::winsock_init_instance defined but not used The error messages boils down to the use of "__MSABI_LONG(x)" within an enumeration definition. __MSABI_LONG is a macro that has to be resolved during the cpp run but isn't but it seems not to be known at this point. I also tested the boost version 1.52 and there are none of these issues and it worked like it is intended. Best regards, Michael

Hi all, can no one help on this question? br, Michael Quoting mschulze@ivs.cs.uni-magdeburg.de:
Hi all,
I tried building boost 1.53 ASIO examples under cygwin and it didn't worked with bjam or b2 respectively. Then I used "bjam -n" to get the invoked commands in order to further track down the issue. I end up with the following command to compile an example
"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -I"../../../.." -o "blocking_udp_echo_server" "blocking_udp_echo_server.cpp" -D__USE_W32_SOCKETS -D_WIN32_WINNT=0x0501 ../../../../bin.v2/libs/thread/build/gcc-4.5.3/release/link-static/threading-multi/libboost_thread.a ../../../../bin.v2/libs/system/build/gcc-4.5.3/release/link-static/threading-multi/libboost_system.a -lws2_32 -lmswsock
and I got the following errors:
In file included from ../../../../boost/asio/detail/impl/posix_tss_ptr.ipp:24:0, from ../../../../boost/asio/detail/posix_tss_ptr.hpp:77, from ../../../../boost/asio/detail/tss_ptr.hpp:27, from ../../../../boost/asio/detail/call_stack.hpp:20, from ../../../../boost/asio/impl/handler_alloc_hook.ipp:19, from ../../../../boost/asio/handler_alloc_hook.hpp:80, from ../../../../boost/asio/detail/handler_alloc_helpers.hpp:22, from ../../../../boost/asio/detail/bind_handler.hpp:19, from ../../../../boost/asio/detail/wrapped_handler.hpp:18, from ../../../../boost/asio/io_service.hpp:24, from ../../../../boost/asio/basic_io_object.hpp:19, from ../../../../boost/asio/basic_socket.hpp:19, from ../../../../boost/asio/basic_datagram_socket.hpp:20, from ../../../../boost/asio.hpp:20, from blocking_udp_echo_server.cpp:13: ../../../../boost/asio/error.hpp:77:17: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:130:15: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:135:19: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:149:23: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:163:15: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:244:45: warning: boost::asio::error::system_category defined but not used ../../../../boost/asio/error.hpp:246:45: warning: boost::asio::error::netdb_category defined but not used ../../../../boost/asio/error.hpp:248:45: warning: boost::asio::error::addrinfo_category defined but not used ../../../../boost/asio/error.hpp:250:45: warning: boost::asio::error::misc_category defined but not used ../../../../boost/asio/detail/winsock_init.hpp:78:30: warning: boost::asio::detail::winsock_init_instance defined but not used
The error messages boils down to the use of "__MSABI_LONG(x)" within an enumeration definition. __MSABI_LONG is a macro that has to be resolved during the cpp run but isn't but it seems not to be known at this point.
I also tested the boost version 1.52 and there are none of these issues and it worked like it is intended.
Best regards, Michael
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

Hi all, it seems nobody is able to help. What a pity. Will cygwin as build environment still be supported? Best regards, Michael Quoting mschulze@ivs.cs.uni-magdeburg.de:
Hi all,
can no one help on this question?
br, Michael
Quoting mschulze@ivs.cs.uni-magdeburg.de:
Hi all,
I tried building boost 1.53 ASIO examples under cygwin and it didn't worked with bjam or b2 respectively. Then I used "bjam -n" to get the invoked commands in order to further track down the issue. I end up with the following command to compile an example
"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -I"../../../.." -o "blocking_udp_echo_server" "blocking_udp_echo_server.cpp" -D__USE_W32_SOCKETS -D_WIN32_WINNT=0x0501 ../../../../bin.v2/libs/thread/build/gcc-4.5.3/release/link-static/threading-multi/libboost_thread.a ../../../../bin.v2/libs/system/build/gcc-4.5.3/release/link-static/threading-multi/libboost_system.a -lws2_32 -lmswsock
and I got the following errors:
In file included from ../../../../boost/asio/detail/impl/posix_tss_ptr.ipp:24:0, from ../../../../boost/asio/detail/posix_tss_ptr.hpp:77, from ../../../../boost/asio/detail/tss_ptr.hpp:27, from ../../../../boost/asio/detail/call_stack.hpp:20, from ../../../../boost/asio/impl/handler_alloc_hook.ipp:19, from ../../../../boost/asio/handler_alloc_hook.hpp:80, from ../../../../boost/asio/detail/handler_alloc_helpers.hpp:22, from ../../../../boost/asio/detail/bind_handler.hpp:19, from ../../../../boost/asio/detail/wrapped_handler.hpp:18, from ../../../../boost/asio/io_service.hpp:24, from ../../../../boost/asio/basic_io_object.hpp:19, from ../../../../boost/asio/basic_socket.hpp:19, from ../../../../boost/asio/basic_datagram_socket.hpp:20, from ../../../../boost/asio.hpp:20, from blocking_udp_echo_server.cpp:13: ../../../../boost/asio/error.hpp:77:17: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:130:15: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:135:19: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:149:23: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:163:15: error: a function call cannot appear in a constant-expression ../../../../boost/asio/error.hpp:244:45: warning: boost::asio::error::system_category defined but not used ../../../../boost/asio/error.hpp:246:45: warning: boost::asio::error::netdb_category defined but not used ../../../../boost/asio/error.hpp:248:45: warning: boost::asio::error::addrinfo_category defined but not used ../../../../boost/asio/error.hpp:250:45: warning: boost::asio::error::misc_category defined but not used ../../../../boost/asio/detail/winsock_init.hpp:78:30: warning: boost::asio::detail::winsock_init_instance defined but not used
The error messages boils down to the use of "__MSABI_LONG(x)" within an enumeration definition. __MSABI_LONG is a macro that has to be resolved during the cpp run but isn't but it seems not to be known at this point.
I also tested the boost version 1.52 and there are none of these issues and it worked like it is intended.
Best regards, Michael
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

Hi, I spent whole day reading your f**king posts (when searching on google), and feeling as much alone as you seemed ! I found the solution at home : compile boost with ./bootstrap -prefix=/usr/local/ ./bjam cxxflags="-D__USE_W32_SOCKETS -D_WIN32_WINNT=0x0501" ./bjam install And compile my program with g++-4.exe -I/usr/local/include -Wall -o client.exe client.cc -L/usr/local/lib -llibboost_regex -llibboost_system -llibboost_thread -llibboost_date_time -llibboost_serialization -D__USE_W32_SOCKETS -lws2_32 -lwsock32 This solved my problem Yipiiii ! -- View this message in context: http://boost.2283326.n4.nabble.com/ASIO-Problem-with-building-boost-1-53-ASI... Sent from the Boost - Users mailing list archive at Nabble.com.

Hi,
I tried Douli's suggestions/instructions to compile the asio examples
that comes with boost 1.5.3 and it didn't worked, meaning it's not a
solutions like Douli said. The errors are the same as in the original
post of myself. It seams that boost::asio doesn't support cygwin as
platform anymore as boost::asio from boost 1.5.4-beta shows the same
problem.
br, Michael
Quoting douli
Hi,
I spent whole day reading your f**king posts (when searching on google), and feeling as much alone as you seemed !
I found the solution at home : compile boost with ./bootstrap -prefix=/usr/local/ ./bjam cxxflags="-D__USE_W32_SOCKETS -D_WIN32_WINNT=0x0501" ./bjam install
And compile my program with g++-4.exe -I/usr/local/include -Wall -o client.exe client.cc -L/usr/local/lib -llibboost_regex -llibboost_system -llibboost_thread -llibboost_date_time -llibboost_serialization -D__USE_W32_SOCKETS -lws2_32 -lwsock32
This solved my problem Yipiiii !
-- View this message in context: http://boost.2283326.n4.nabble.com/ASIO-Problem-with-building-boost-1-53-ASI... Sent from the Boost - Users mailing list archive at Nabble.com. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
douli
-
mschulze@ivs.cs.ovgu.de