Public bug reported: Binary package hint: gcc-4.5
I'm in a natty environment (created with pbuilder in an Ubuntu maverick). # pbuilder create --distribution natty --othermirror "deb http://archive.ubuntu.com/ubuntu natty main restricted universe multiverse" # pbuilder --login Check g++ version: # g++ --version|head -1 g++ (Ubuntu/Linaro 4.5.1-12ubuntu1) 4.5.2 I install required dependencies: # apt-get install libxmlrpc-c3-dev libcurl4-openssl-dev I create a small program which uses the xmlrpc-c library: ------------------------------------------------------------------------ server.cpp ------------------------------------------------------------------------ #include <xmlrpc-c/base.hpp> #include <xmlrpc-c/registry.hpp> int main(int argc, char *argv[]) { xmlrpc_c::registry RequestManagerRegistry; return 0; } ------------------------------------------------------------------------ I obtain the building libraries with xmlrpc-config: # xmlrpc-c-config c++2 abyss-server --libs --cflags -L/usr/lib -lxmlrpc_server_abyss++ -lxmlrpc_server++ -lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc_abyss -lpthread -lxmlrpc++ -lxmlrpc -lxmlrpc_util -lxmlrpc_xmlparse -lxmlrpc_xmltok -I/usr/include I compile the program: # g++ server.cpp `xmlrpc-c-config c++2 abyss-server --libs --cflags` /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_traceXml' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_struct_size' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_array_size' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_mem_block_free' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_env_clean' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_registry_new' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_mem_block_size' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_serialize_call' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_read_datetime_sec' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_double_new' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_mem_block_new' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_parse_response2' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_registry_free' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_read_base64' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_registry_disable_introspection' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_DECREF' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_mem_block_contents' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_env_init' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_datetime_new_str' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_string_new' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_abort_if_array_bad' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_datetime_new_sec' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_registry_process_call' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_INCREF' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_struct_read_member' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_bool_new' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_registry_add_method_w_doc' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_vasprintf' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_value_type' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_struct_new' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_strfree' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_read_bool' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_registry_set_default_method' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_array_append_item' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_struct_set_value_n' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_nil_new' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_base64_new' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_read_string_lp' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_read_int' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_read_base64_size' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_env_set_fault' /usr/lib/libxmlrpc_server++.so: undefined reference to `xmlrpc_array_read_item' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_array_new' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_int_new' /usr/lib/libxmlrpc++.so: undefined reference to `xmlrpc_read_double' collect2: ld returned 1 exit status If we look for the missing references manually we can find them: # nm -D /usr/lib/libxmlrpc++.so|grep trace 000000000000db80 T _ZN8xmlrpc_c3xml5traceERKSsS2_ U xmlrpc_traceXml This used to work with previous versions of gcc: (in the same environment) # apt-get install g++-4.4 Check g++ version: # g++-4.4 --version|head -1 g++-4.4 (Ubuntu/Linaro 4.4.5-10ubuntu1) 4.4.5 # g++-4.4 server.cpp `xmlrpc-c-config c++2 abyss-server --libs --cflags` # echo $? 0 We need to fix this in order to complete the following merge: https://bugs.launchpad.net/ubuntu/+source/opennebula/+bug/688666 Thank you ** Affects: gcc-4.5 (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/690779 Title: Undefined reference error with methods of libxmlrpc-c3-dev -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
