Posts by rogue

InfoMessage
1) Message boards : API : Linking issue with BOINC libraries
Message 21138
Posted 5 Nov 2008 by rogue
I have Mac OS 10.5 on PPC. I got the sources for BOINC 6.2 and built with Xcode out of the box, so to speak, and had no issues. The problem is that I am trying to write a program that can be integrated into BOINC. I get this error when I link my program:

gcc -L/Distributed/boinc_core_release_6_2/mac_build/build/Development -lboinc -lboinc_api -lstdc++ psieve.o bitmap.o clock.o events.o factors.o files.o global.o primes.o sieve.o util.o priority.o convert.o -lm -o psieve
Undefined symbols:
"std::__default_alloc_template<true, 0>::deallocate(void*, unsigned long)", referenced from:
std::__simple_alloc<UPLOAD_FILE_STATUS, std::__default_alloc_template<true, 0> >::deallocate(UPLOAD_FILE_STATUS*, unsigned long)in libboinc_api.a(boinc_api.o)
std::__simple_alloc<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__default_alloc_template<true, 0> >::deallocate(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, unsigned long)in libboinc.a(util.o)
"std::__default_alloc_template<true, 0>::allocate(unsigned long)", referenced from:
std::__simple_alloc<UPLOAD_FILE_STATUS, std::__default_alloc_template<true, 0> >::allocate(unsigned long)in libboinc_api.a(boinc_api.o)
std::__simple_alloc<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__default_alloc_template<true, 0> >::allocate(unsigned long)in libboinc.a(util.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [psieve] Error 1

There doesn't appear to be a problem finding any of the libraries. It just can't find these symbols that are referenced in the libraries. This happens with both gcc 4.0.1 and gcc 4.2. I get a host of other issues with gcc 3.3, so I haven't bothered with it. What am I doing wrong? Where do I start in trying to resolve this issue?

BTW, this same code builds and links on x86 without a problem.


Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.