From: Kevin H. <bar...@gm...> - 2011-11-04 17:46:45
|
2011/11/4 Björn Esser <bjo...@go...>: > When I was trying to build BloCxx with support for IPv6 on several linux > distris (CentOS 6, Fedora 15, Debian Squeeze, Ubuntu 10.04 LTS through > 11.11, (Open)SuSE 11) from trunk and BRANCH_2.2.0 there where problems > during compilation when "--disable-Werror" is not applied in the > ./configure-command. > > The errors/warnings occur like shown here: > > ...snip... > if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src -I../../src > -D_LARGE_FILES= -fno-enforce-eh-specs -fPIC -D_REENTRANT -D_GNU_SOURCE > -pipe -Wall -W -Woverloaded-virtual -Wno-unused -Wno-unused-label > -Wno-unused-parameter -Wno-long-long -Wwrite-strings -Wextra -Wabi -DNDEBUG > -O3 -MT ServerSocketImpl.o -MD -MP -MF ".deps/ServerSocketImpl.Tpo" -c -o > ServerSocketImpl.o ServerSocketImpl.cpp; \ > then mv -f ".deps/ServerSocketImpl.Tpo" ".deps/ServerSocketImpl.Po"; > else rm -f ".deps/ServerSocketImpl.Tpo"; exit 1; fi > ServerSocketImpl.cpp: In member function »void > blocxx8::ServerSocketImpl::doListenIPv4(blocxx8::UInt16, int, const > blocxx8::String&)«: > ServerSocketImpl.cpp:516: Warnung: dereferencing pointer »inetAddr.130« does > break strict-aliasing rules > When compiling after ./configure --disable-ipv6 theese errors/warnings do > not appear. I cannot duplicate this on my various ubuntu installs, 32 or 64 bit. Not even when forcefully injecting -fstrict-alias. I did do a little search for your problem, and made a potential workaround. Could you apply the attached patch to a checkout of trunk and see if it fixes your compilation issues? Note that the patch compiles on my machines, with and without ipv6, but has not been thoroughly tested. |