Can't compile seti_boinc client

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

To post messages, you must log in.

AuthorMessage
markkuk

Send message
Joined: 9 Oct 00
Posts: 6
Credit: 1,214,242
RAC: 0
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)

ID: 14367 · Report as offensive
markkuk

Send message
Joined: 9 Oct 00
Posts: 6
Credit: 1,214,242
RAC: 0
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.
ID: 14371 · Report as offensive
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.
ID: 16964 · Report as offensive

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


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.