Can't compile seti_boinc client


log in

Advanced search

Questions and Answers : Unix/Linux : Can't compile seti_boinc client

Author Message
markkuk
Send message
Joined: 9 Oct 00
Posts: 6
Credit: 861,136
RAC: 484
Finland
Message 14367 - Posted: 6 Aug 2004, 19:29:03 UTC
Last modified: 6 Aug 2004, 19:41:56 UTC

I'm trying to compile an optimized version of the seti_boinc client on a Fedora Core 3 Test 1 system (GCC 3.4.1), but the compilation fails with:

make[1]: Entering directory `/home/mk/src/seti_boinc/client' g++ -march=pentium4 -msse2 -mfpmath=sse -O3 -funroll-loops -DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT -I/home/mk/src/boinc/api -I/home/mk/src/boinc/lib -I/home/mk/src/boinc/image_libs/ -I.. -I../db -c -o main.o main.cpp In file included from seti_header.h:34, from s_util.h:107, from main.cpp:44: ../db/sqlblob.h: In instantiation of `sqlblob<coordinate_t>': ../db/schema_master.h:111: instantiated from here ../db/sqlblob.h:105: error: template-id `xml_encode_string<coordinate_t>' for `std::basic_string<char, std::char_traits<char>, std::allocator<char> > xml_encode_string(const sqlblob<coordinate_t>&, tag_xml_encoding)' does not match any template declaration ../db/db_table.h: In instantiation of `db_table<receiver_config>': ../db/schema_master.h:129: instantiated from here ../db/db_table.h:77: error: template-id `operator<< <receiver_config>' for `std::basic_ostream<char, std::char_traits<char> >& operator<<(std::basic_ostream<char, std::char_traits<char> >&, const db_table<receiver_config>&)' does not match any template declaration ../db/db_table.h:78: error: template-id `operator>><receiver_config>' for `std::basic_istream<char, std::char_traits<char> >& operator>>(std::basic_istream<char, std::char_traits<char> >&, db_table<receiver_config>&)' does not match any template declaration ../db/sqlblob.h: In instantiation of `sqlblob<float>': ../db/schema_master.h:141: instantiated from here ../db/sqlblob.h:105: error: template-id `xml_encode_string<float>' for `std::basic_string<char, std::char_traits<char>, std::allocator<char> > xml_encode_string(const sqlblob<float>&, tag_xml_encoding)' does not match any template declaration
... (many similar errors omitted)

markkuk
Send message
Joined: 9 Oct 00
Posts: 6
Credit: 861,136
RAC: 484
Finland
Message 14371 - Posted: 6 Aug 2004, 20:08:24 UTC

All the errors are related to friend declarations, so the problem may be related to this: http://gcc.gnu.org/faq.html#friend
The GCC team has again "tightened" the compiler to reject sloppy code that was accepted in previous compiler versions.

KWSN - Migratory Coconuts
Send message
Joined: 26 Dec 99
Posts: 16
Credit: 17,647,128
RAC: 0
Greece
Message 16964 - Posted: 24 Aug 2004, 5:45:22 UTC

I've been seeing the same error on FreeBSD 5.x ever since they switched to gcc 3.4.2. Unfortunately, since the 3.4.2 broke C++ ABI compatibility, I can't run my old BOINC/S@H client which was compiled with 3.3.3. I'd really appreciate a fix for this.

Questions and Answers : Unix/Linux : Can't compile seti_boinc client

Copyright © 2014 University of California