Hi, when trying to compile net-fs/fex-0.8.18 with GCC 4.1.2 I got this result: nmstl/netioevent:141: error: extra qualification 'nmstl::tcp_acceptor<T, Arg>::' on member 'ravail' nmstl/netioevent:141: error: explicit specialization of 'void nmstl::tcp_acceptor<T, Arg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:141: error: invalid member function declaration nmstl/netioevent:171: error: extra qualification 'nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::' on member 'ravail' nmstl/netioevent:171: error: explicit specialization of 'void nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:171: error: invalid member function declaration client.cpp: In member function 'virtual void client::FullSyncDialog::start()': client.cpp:56: error: cast from 'client::FullSyncDialog*' to 'unsigned int' loses precision make[2]: *** [client.o] Error 1 make[2]: *** Waiting for unfinished jobs.... nmstl/netioevent:141: error: extra qualification 'nmstl::tcp_acceptor<T, Arg>::' on member 'ravail' nmstl/netioevent:141: error: explicit specialization of 'void nmstl::tcp_acceptor<T, Arg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:141: error: invalid member function declaration nmstl/netioevent:171: error: extra qualification 'nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::' on member 'ravail' nmstl/netioevent:171: error: explicit specialization of 'void nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:171: error: invalid member function declaration nmstl/netioevent:141: error: extra qualification 'nmstl::tcp_acceptor<T, Arg>::' on member 'ravail' nmstl/netioevent:141: error: explicit specialization of 'void nmstl::tcp_acceptor<T, Arg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:141: error: invalid member function declaration nmstl/netioevent:171: error: extra qualification 'nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::' on member 'ravail' nmstl/netioevent:171: error: explicit specialization of 'void nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:171: error: invalid member function declaration server.cpp: In member function 'void server::FullSyncDialog::sendStatFile()': server.cpp:84: error: cast from 'server::FullSyncDialog*' to 'unsigned int' loses precision make[2]: *** [fexd.o] Error 1 make[2]: *** [server.o] Error 1 nmstl/netioevent:141: error: extra qualification 'nmstl::tcp_acceptor<T, Arg>::' on member 'ravail' nmstl/netioevent:141: error: explicit specialization of 'void nmstl::tcp_acceptor<T, Arg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:141: error: invalid member function declaration nmstl/netioevent:171: error: extra qualification 'nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::' on member 'ravail' nmstl/netioevent:171: error: explicit specialization of 'void nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:171: error: invalid member function declaration make[2]: *** [configfile.o] Error 1 nmstl/netioevent:141: error: extra qualification 'nmstl::tcp_acceptor<T, Arg>::' on member 'ravail' nmstl/netioevent:141: error: explicit specialization of 'void nmstl::tcp_acceptor<T, Arg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:141: error: invalid member function declaration nmstl/netioevent:171: error: extra qualification 'nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::' on member 'ravail' nmstl/netioevent:171: error: explicit specialization of 'void nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:171: error: invalid member function declaration connection.cpp: In member function 'void Connection::calcSpeed(const fex_header&)': connection.cpp:213: warning: large integer implicitly truncated to unsigned type make[2]: *** [connection.o] Error 1 filelistener.cpp:91:6: warning: extra tokens at end of #else directive nmstl/netioevent:141: error: extra qualification 'nmstl::tcp_acceptor<T, Arg>::' on member 'ravail' nmstl/netioevent:141: error: explicit specialization of 'void nmstl::tcp_acceptor<T, Arg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:141: error: invalid member function declaration nmstl/netioevent:171: error: extra qualification 'nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::' on member 'ravail' nmstl/netioevent:171: error: explicit specialization of 'void nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:171: error: invalid member function declaration filelistener.cpp: In member function 'virtual void DNotifyMonitor::setup_handler()': filelistener.cpp:358: error: cast from 'std::vector<int, __gnu_cxx::malloc_allocator<int> >*' to 'int' loses precision filelistener.cpp: In member function 'virtual void DNotifyMonitor::fire()': filelistener.cpp:442: error: cast from 'std::vector<int, __gnu_cxx::malloc_allocator<int> >*' to 'int' loses precision make[2]: *** [filelistener.o] Error 1 nmstl/netioevent:141: error: extra qualification 'nmstl::tcp_acceptor<T, Arg>::' on member 'ravail' nmstl/netioevent:141: error: explicit specialization of 'void nmstl::tcp_acceptor<T, Arg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:141: error: invalid member function declaration nmstl/netioevent:171: error: extra qualification 'nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::' on member 'ravail' nmstl/netioevent:171: error: explicit specialization of 'void nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:171: error: invalid member function declaration dialog.cpp: In member function 'bool SyncReceiveDialog::lock()': dialog.cpp:227: error: cast from 'ConnectedWatchPoint*' to 'unsigned int' loses precision make[2]: *** [dialog.o] Error 1 nmstl/netioevent:141: error: extra qualification 'nmstl::tcp_acceptor<T, Arg>::' on member 'ravail' nmstl/netioevent:141: error: explicit specialization of 'void nmstl::tcp_acceptor<T, Arg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:141: error: invalid member function declaration nmstl/netioevent:171: error: extra qualification 'nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::' on member 'ravail' nmstl/netioevent:171: error: explicit specialization of 'void nmstl::tcp_acceptor<T, nmstl::__nmstl_tcp_acceptor_noarg>::ravail()' must be introduced by 'template <>' nmstl/netioevent:171: error: invalid member function declaration make[2]: *** [rsync.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-fs/fex-0.8.18/work/fex-0.8.18/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/net-fs/fex-0.8.18/work/fex-0.8.18/src' make: *** [all-recursive] Error 1 Reproducible: Always Steps to Reproduce: 1. emerge net-fs/fex Actual Results: Don't compile Expected Results: Compiles correctly
Created attachment 122095 [details, diff] fex-0.8.18-gcc4.patch could you see if it still works correctly with this patch? i'm not 100% sure about the filelistener.cpp bits. thanks
Ryan, thanks for the patch. The file "src/watchpoint.cpp" should also be patched so I modified your patch with it and added here. Now it compiles and works quite well.
Created attachment 122109 [details, diff] Previuos patch modified with "/src/watchpoint.cpp" patching
fex won't even configure anymore: checking for main in -llog4cpp... no configure: error: liblog4cpp must be installed configure:20217: checking for main in -llog4cpp configure:20241: i686-pc-linux-gnu-g++ -o conftest -O2 -DNDEBUG -O2 -g -march=prescott -fomit-frame-pointer -pipe -Wl,-O1,--hash-style=gnu conftest.cc -llog4cpp -lconfuse -lz -lrsync >&5 /usr/lib/gcc/i686-pc-linux-gnu/4.2.3-pre20071228/../../../liblog4cpp.so: undefined reference to `pthread_key_create' /usr/lib/gcc/i686-pc-linux-gnu/4.2.3-pre20071228/../../../liblog4cpp.so: undefined reference to `pthread_getspecific' /usr/lib/gcc/i686-pc-linux-gnu/4.2.3-pre20071228/../../../liblog4cpp.so: undefined reference to `pthread_key_delete' /usr/lib/gcc/i686-pc-linux-gnu/4.2.3-pre20071228/../../../liblog4cpp.so: undefined reference to `pthread_setspecific' collect2: ld returned 1 exit status configure:20247: $? = 1 how bad do we want this around? ;)
Please vote. SIGKILL from me. :)
i just couldn't leave it alone. sorry for the noise. ;)