I can't compile licq since new gcc-3.4.0: g++ -DHAVE_CONFIG_H -I. -I. -I.. -Wall -I../include -DINSTALL_PREFIX=\"/usr\" -fPIC -DPIC -D_REENTRANT -O2 -fno-exceptions -fno-check-new -c -o socket.o `test -f socket.cpp || echo './'`socket.cpp socket.cpp: In member function `bool TCPSocket::SecureConnect()': socket.cpp:1081: error: ISO C++ forbids cast to non-reference type used as lvalue socket.cpp: In member function `bool TCPSocket::SecureListen()': socket.cpp:1114: error: ISO C++ forbids cast to non-reference type used as lvalue gmake[2]: *** [socket.o] Error 1 gmake[2]: Leaving directory `/usr/portage/distfiles/licq-1.2.7/src' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/usr/portage/distfiles/licq-1.2.7' gmake: *** [all] Error 2 Reproducible: Always Steps to Reproduce:
Created attachment 34546 [details, diff] licq-1.2.7.ebuild-gcc34.patch ebuild patch to add -fpermissive to CXXFLAGS and apply a patch (see next attachment)
Created attachment 34547 [details, diff] 1.2.7-gcc34.patch Not yet tested with qt or kde USE flags.
Tested with qt and kde flags, no further problems encountered.
works here perfectly, please update ebuild...
licq is masked on amd64 or i would test this. that and fixes that force the use of -fpermissive dont make me too confident...
Hi Travis, As I understand it, using -fpermissive is kind of like turning off -Werror. GCC knows exactly how to compile the code, but it doesn't want to because it's not "standard" C++. The code should still be fixed of course, but I figured I'd leave it up to the authors of licq to decide how to do that :)
licq-1.3.0_pre is in portage may this one should be closed?
Yeah, works for me (gcc-3.4.1-r2 and licq-1.3.0_pre-r4). The crypt flag is broken, but that's not gcc34-specific. Open a new bug or reopen this one in case you find new gcc-3.4 issues with the latest version of licq, but it looks like this one has been fixed upstream.
*** Bug 95806 has been marked as a duplicate of this bug. ***