Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MinGW-W64 Compatability #56

Open
GeekOffTheStreet opened this issue Aug 15, 2013 · 0 comments
Open

MinGW-W64 Compatability #56

GeekOffTheStreet opened this issue Aug 15, 2013 · 0 comments

Comments

@GeekOffTheStreet
Copy link

Excluding the build system, Agnos has one issue with MinGW-W64. For years, there has been a comparability issue between multiple versions of Boost & MinGW-W64. If you use Boost Thread & ASIO, you need to ensure that boost/asio.hpp is included before boost/thread.hpp, or you'll get something like this:

In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/atomic.hpp:54:0,
                 from src\protocol.cpp:22:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp: In function 'long int boost::interprocess::winapi::interlocked_increment(volatile long int*)':
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1186:11: error: '_InterlockedIncrement' is not a member of 'boost::detail'
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1186:11: note: suggested alternative:
In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/windows.h:70:0,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winsock2.h:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/socket_types.hpp:31,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/win_tss_ptr.hpp:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/tss_ptr.hpp:25,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/call_stack.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/impl/handler_alloc_hook.ipp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/handler_alloc_hook.hpp:80,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/handler_alloc_helpers.hpp:22,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/bind_handler.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/wrapped_handler.hpp:18,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/io_service.hpp:24,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_io_object.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_socket.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_datagram_socket.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio.hpp:20,
                 from src\transports.hpp:26,
                 from src\packers.hpp:25,
                 from src\protocol.hpp:26,
                 from src\protocol.cpp:21:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winbase.h:4072:34: note:   '_InterlockedIncrement'
In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/atomic.hpp:54:0,
                 from src\protocol.cpp:22:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp: In function 'long int boost::interprocess::winapi::interlocked_decrement(volatile long int*)':
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1189:11: error: '_InterlockedDecrement' is not a member of 'boost::detail'
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1189:11: note: suggested alternative:
In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/windows.h:70:0,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winsock2.h:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/socket_types.hpp:31,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/win_tss_ptr.hpp:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/tss_ptr.hpp:25,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/call_stack.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/impl/handler_alloc_hook.ipp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/handler_alloc_hook.hpp:80,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/handler_alloc_helpers.hpp:22,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/bind_handler.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/wrapped_handler.hpp:18,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/io_service.hpp:24,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_io_object.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_socket.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_datagram_socket.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio.hpp:20,
                 from src\transports.hpp:26,
                 from src\packers.hpp:25,
                 from src\protocol.hpp:26,
                 from src\protocol.cpp:21:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winbase.h:4084:34: note:   '_InterlockedDecrement'
In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/atomic.hpp:54:0,
                 from src\protocol.cpp:22:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp: In function 'long int boost::interprocess::winapi::interlocked_compare_exchange(volatile long int*, long int, long int)':
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1192:11: error: '_InterlockedCompareExchange' is not
a member of 'boost::detail'
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1192:11: note: suggested alternative:
In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/windows.h:70:0,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winsock2.h:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/socket_types.hpp:31,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/win_tss_ptr.hpp:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/tss_ptr.hpp:25,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/call_stack.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/impl/handler_alloc_hook.ipp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/handler_alloc_hook.hpp:80,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/handler_alloc_helpers.hpp:22,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/bind_handler.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/wrapped_handler.hpp:18,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/io_service.hpp:24,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_io_object.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_socket.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_datagram_socket.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio.hpp:20,
                 from src\transports.hpp:26,
                 from src\packers.hpp:25,
                 from src\protocol.hpp:26,
                 from src\protocol.cpp:21:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winbase.h:4145:34: note:   '_InterlockedCompareExchange'
In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/atomic.hpp:54:0,
                 from src\protocol.cpp:22:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp: In function 'long int boost::interprocess::winapi::interlocked_exchange_add(volatile long int*, long int)':
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1195:11: error: '_InterlockedExchangeAdd' is not a member of 'boost::detail'
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1195:11: note: suggested alternative:
In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/windows.h:70:0,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winsock2.h:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/socket_types.hpp:31,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/win_tss_ptr.hpp:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/tss_ptr.hpp:25,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/call_stack.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/impl/handler_alloc_hook.ipp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/handler_alloc_hook.hpp:80,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/handler_alloc_helpers.hpp:22,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/bind_handler.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/wrapped_handler.hpp:18,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/io_service.hpp:24,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_io_object.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_socket.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_datagram_socket.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio.hpp:20,
                 from src\transports.hpp:26,
                 from src\packers.hpp:25,
                 from src\protocol.hpp:26,
                 from src\protocol.cpp:21:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winbase.h:4116:34: note:   '_InterlockedExchangeAdd'
In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/atomic.hpp:54:0,
                 from src\protocol.cpp:22:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp: In function 'long int boost::interprocess::winapi::interlocked_exchange(volatile long int*, long int)':
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1198:11: error: '_InterlockedExchange' is not a member of 'boost::detail'
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/interprocess/detail/win32_api.hpp:1198:11: note: suggested alternative:
In file included from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/windows.h:70:0,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winsock2.h:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/socket_types.hpp:31,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/win_tss_ptr.hpp:23,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/tss_ptr.hpp:25,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/call_stack.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/impl/handler_alloc_hook.ipp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/handler_alloc_hook.hpp:80,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/handler_alloc_helpers.hpp:22,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/bind_handler.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/detail/wrapped_handler.hpp:18,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/io_service.hpp:24,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_io_object.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_socket.hpp:19,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio/basic_datagram_socket.hpp:20,
                 from c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/boost/asio.hpp:20,
                 from src\transports.hpp:26,
                 from src\packers.hpp:25,
                 from src\protocol.hpp:26,
                 from src\protocol.cpp:21:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/winbase.h:4096:34: note:   '_InterlockedExchange'
src\protocol.cpp: In member function 'int32_t agnos::protocol::ClientUtils::get_seq()':
src\protocol.cpp:281:32: error: 'boost::interprocess::detail' has not been declared
GeekOffTheStreet pushed a commit to GeekOffTheStreet/agnos that referenced this issue Aug 15, 2013
tomerfiliba added a commit that referenced this issue Aug 15, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant