Archived

This forum has been archived. Please start a new discussion on GitHub.

Problem linking to debug libraries on RH7

Guillaume
edited October 2020 in Help Center

Hello,

I am having trouble building our project in debug, linking to Ice debug libraries
Setup :

  • Our compilation machine is a RHEL7
  • The ice 3.7.4 install is a standard 'yum install zero-ice' (ice-all-devel.i686)
  • Compiler is gcc version 6.3.1 20170216 (Red Hat 6.3.1-3) (GCC)
  • We use a modified findIce with cmake 2.8.12 or 3.3.0

The linking problem only happens on a debug compilation, release works fine.

Find results:

DANS FIND ICE TEST ... ICE_INCLUDE_DIR = /usr/include
DANS FIND ICE TEST ... ICE_LIB_SUFFIX = lib64
---- ICE_libVar : ICE_GLACIER2_LIBRARY
Found ICE component full path at /usr/lib/debug/usr/lib64/libGlacier2.so.debug
---- ICE_libVar : ICE_ICEBOX_LIBRARY
Found ICE component full path at /usr/lib/debug/usr/lib64/libIceBox.so.debug
---- ICE_libVar : ICE_ICEGRID_LIBRARY
Found ICE component full path at /usr/lib/debug/usr/lib64/libIceGrid.so.debug
---- ICE_libVar : ICE_ICE_LIBRARY
Found ICE component full path at /usr/lib/debug/usr/lib64/libIce.so.debug
---- ICE_libVar : ICE_ICESTORM_LIBRARY
Found ICE component full path at /usr/lib/debug/usr/lib64/libIceStorm.so.debug
DANS FIND ICE TEST ... SLICE2CPP_EXECUTABLE = /usr/bin/slice2cpp
DANS FIND ICE TEST 1 ... ICE_SLICE_PATH =
DANS FIND ICE TEST 2 ... ICE_SLICE_PATH = /usr/share/ice/slice/

Problem:
I get a linking error from undefined references, e.g. :

../../../../../_lib/gcc48/Debug/libice_generated_internal_monitoringd.a(Monitor.cpp.o): In function castor::internal::CoreMonitor::_iceD_getByIdentifiers(IceInternal::Incoming&, Ice::Current const&)': /srv/grid/sources/b/build-1.23-linux-RH7/build/_compilation/unix_makefiles/debug/ice/generated/internal/monitoring/Monitor.cpp:589: undefined reference toIce::InputStream::read(std::__debug::vector<std::string, std::allocator >&, bool)'
collect2: error: ld returned 1 exit status

Any clue is welcome :) !
Guillaume


Output of yum list
(source) -bash-4.2$ yum list | grep zeroc | grep devel
ice-all-devel.x86_64 3.7.4-1.el7 @zeroc-ice3.7
libice-c++-devel.x86_64 3.7.4-1.el7 @zeroc-ice3.7
ice-all-devel.i686 3.7.4-1.el7 zeroc-ice3.7
libfreeze-c++-devel.x86_64 3.7.3-1.el7 zeroc-ice3.7
libice-c++-devel.i686 3.7.4-1.el7 zeroc-ice3.7
lmdb-devel.i686 0.9.24-1ice.el7 zeroc-ice3.7
lmdb-devel.x86_64 0.9.24-1ice.el7 zeroc-ice3.7
mcpp-devel.i686 2.7.2-14ice.el7 zeroc-ice3.7
mcpp-devel.x86_64 2.7.2-14ice.el7 zeroc-ice3.7

Comments

  • xdm
    xdm La Coruña, Spain

    Hi Guillaume,

    Can you include the link command? what is your target arch?

    Cheers,
    Jose

  • Target architecture is standard amd64

    I believe our link command looks a bit like this :
    Linking CXX executable ../../../../../_bin/gcc48/Debug/ice_internal_monitor_exe
    /opt/rh/devtoolset-6/root/usr/bin/g++ -Wsequence-point -Wreturn-type -Wno-deprecated-declarations -Wuninitialized -Wempty-body -Wignored-qualifiers -fpermissive -std=c++14 -pthread -fno-stack-protector -fnon-call-exceptions -fvisibility-inlines-hidden -fnon-call-exceptions -DBOOST_THREAD_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0=1 -DBOOST_RESULT_OF_USE_DECLTYPE -DBOOST_ASIO_HAS_MOVE -O0 -ggdb -D_GLIBCXX_DEBUG -DTBB_USE_DEBUG -fno-inline -fno-eliminate-unused-debug-types -DOTL_ORA10G -DOTL_STL -DOTL_ORA_UTF8 -DOTL_ADD_NULL_TERMINATOR_TO_STRING_SIZE -DNOMINMAX -fPIC -DPIC -m64 -lrt -lssl -lcrypto -lz -lbz2 -lsystemd CMakeFiles/ice_internal_monitor_exe.dir/__/impl/internal_monitor_exe/main.cpp.o -o ../../../../../_bin/gcc48/Debug/ice_internal_monitor_exe -L/goinfre/kits/amd64/Linux/tbb/tbb-4.2_gcc48/lib -rdynamic ../../../../../_lib/gcc48/Debug/libice_internal_monitord.a -Wl,--start-group ../../../../../_lib/gcc48/Debug/libice_generated_internal_business_serverd.a ../../../../../_lib/gcc48/Debug/libice_generated_castor_session_managerd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_environmentd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_pricingd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_environment_packerd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_environment_repositoryd.a ../../../../../_lib/gcc48/Debug/libice_generated_pricingd.a ../../../../../_lib/gcc48/Debug/libice_generated_environmentd.a ../../../../../_lib/gcc48/Debug/libice_generated_session_managerd.a ../../../../../_lib/gcc48/Debug/libice_generated_asynchronous_transferd.a ../../../../../_lib/gcc48/Debug/libice_generated_stressd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_properties_managementd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_monitoringd.a ../../../../../_lib/gcc48/Debug/libice_generated_commond.a -Wl,--end-group ../../../../../_lib/gcc48/Debug/libice_toolsd.a ../../../../../_lib/gcc48/Debug/libice_serviced.a ../../../../../_lib/gcc48/Debug/libice_ctrl_c_handlerd.a ../../../../../_lib/gcc48/Debug/libsecurityd.a ../../../../../_lib/gcc48/Debug/libstl_toolsd.a ../../../../../_lib/gcc48/Debug/libice_serviced.a ../../../../../_lib/gcc48/Debug/libgregorian_toolsd.a ../../../../../_lib/gcc48/Debug/liblogger_serviced.a ../../../../../_lib/gcc48/Debug/liblogger_managerd.a ../../../../../_lib/gcc48/Debug/liblogger_filed.a ../../../../../_lib/gcc48/Debug/liblogger_consoled.a ../../../../../_lib/gcc48/Debug/libloggerd.a ../../../../../_lib/gcc48/Debug/libserviced.a ../../../../../_lib/gcc48/Debug/libos_tools_monitord.a ../../../../../_lib/gcc48/Debug/libos_toolsd.a ../../../../../_lib/gcc48/Debug/libexceptionsd.a ../../../../../_lib/gcc48/Debug/libmonitoring_serviced.a /usr/lib/debug/usr/lib64/libGlacier2.so.debug /usr/lib/debug/usr/lib64/libIceBox.so.debug /usr/lib/debug/usr/lib64/libIceGrid.so.debug /usr/lib/debug/usr/lib64/libIce.so.debug /usr/lib/debug/usr/lib64/libIceStorm.so.debug /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_serialization-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_date_time-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_filesystem-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_system-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_program_options-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_thread-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_regex-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_chrono-gcc48-mt-d-1_59.a -ltbb_debug -ltbbmalloc_debug /goinfre/kits/amd64/Linux/lzo/lzo-2.04/lib64/liblzo2.a -Wl,-rpath,/goinfre/kits/amd64/Linux/tbb/tbb-4.2_gcc48/lib

  • xdm
    xdm La Coruña, Spain
    /usr/lib/debug/usr/lib64/libGlacier2.so.debug /usr/lib/debug/usr/lib64/libIceBox.so.debug /usr/lib/debug/usr/lib64/libIceGrid.so.debug /usr/lib/debug/usr/lib64/libIce.so.debug /usr/lib/debug/usr/lib64/libIceStorm.so.debug
    

    Those are the debug symbols you need to link with the .so files not with .so.debug

    Typically you will just do -lIce if using the C++98 mapping or -lIce++11 for the C++ 11 mapping

    see https://doc.zeroc.com/ice/3.7/release-notes/using-the-linux-binary-distributions#id-.UsingtheLinuxBinaryDistributionsv3.7-C++

  • Thanks for the answer !
    To clarify : I shoudl link only with .so and (NOT with the .so.debug) Ice libs, correct ?

    I have made all the links point to the release libs of Ice, added the -lIce option (we are still at the C++98 mapping)
    I get the same error (but I'm not entirely sure I'm giving you the right information, please let me know):

    cd /srv/grid/sources/b/build-1.23-linux-RH7/build/_compilation/unix_makefiles/debug/ice/solution && /srv/grid/kits/amd64/Linux/cmake/cmake-2.8.12.2/bin/cmake -E cmake_link_script CMakeFiles/ice_grid_test_exe.dir/link.txt --verbose=1
    /opt/rh/devtoolset-6/root/usr/bin/g++ -Wsequence-point -Wreturn-type -Wno-deprecated-declarations -Wuninitialized -Wempty-body -Wignored-qualifiers -fpermissive -std=c++14 -pthread -fno-stack-protector -fnon-call-exceptions -fvisibility-inlines-hidden -fnon-call-exceptions -DBOOST_THREAD_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0=1 -DBOOST_RESULT_OF_USE_DECLTYPE -DBOOST_ASIO_HAS_MOVE -O0 -ggdb -D_GLIBCXX_DEBUG -DTBB_USE_DEBUG -fno-inline -fno-eliminate-unused-debug-types -DOTL_ORA10G -DOTL_STL -DOTL_ORA_UTF8 -DOTL_ADD_NULL_TERMINATOR_TO_STRING_SIZE -DNOMINMAX -fPIC -DPIC -m64 -lrt -lssl -lcrypto -lz -lbz2 -lsystemd -lIce CMakeFiles/ice_grid_test_exe.dir//impl/grid_test/CallbackI.cpp.o CMakeFiles/ice_grid_test_exe.dir//impl/grid_test/Exceptions.cpp.o CMakeFiles/ice_grid_test_exe.dir//impl/grid_test/main.cpp.o CMakeFiles/ice_grid_test_exe.dir//impl/grid_test/Pricer.cpp.o -o ../../../../../_bin/gcc48/Debug/ice_grid_test_exe -L/goinfre/kits/amd64/Linux/tbb/tbb-4.2_gcc48/lib -rdynamic ../../../../../_lib/gcc48/Debug/libice_toolsd.a ../../../../../_lib/gcc48/Debug/libos_tools_monitord.a ../../../../../_lib/gcc48/Debug/libdata_access_serviced.a ../../../../../_lib/gcc48/Debug/libdata_access_otld.a ../../../../../_lib/gcc48/Debug/libdata_access_stream_impld.a ../../../../../_lib/gcc48/Debug/libdata_access_streamd.a ../../../../../_lib/gcc48/Debug/libdata_access_exceptionsd.a ../../../../../_lib/gcc48/Debug/libice_serviced.a ../../../../../_lib/gcc48/Debug/libice_ctrl_c_handlerd.a ../../../../../_lib/gcc48/Debug/libsecurityd.a ../../../../../_lib/gcc48/Debug/libresultsd.a ../../../../../_lib/gcc48/Debug/libstl_toolsd.a ../../../../../_lib/gcc48/Debug/libgregorian_toolsd.a ../../../../../_lib/gcc48/Debug/liblogger_serviced.a ../../../../../_lib/gcc48/Debug/liblogger_managerd.a ../../../../../_lib/gcc48/Debug/liblogger_filed.a ../../../../../_lib/gcc48/Debug/liblogger_consoled.a ../../../../../_lib/gcc48/Debug/libloggerd.a ../../../../../_lib/gcc48/Debug/libserviced.a ../../../../../_lib/gcc48/Debug/libos_toolsd.a ../../../../../_lib/gcc48/Debug/libexceptionsd.a ../../../../../_lib/gcc48/Debug/libice_castor_helpersd.a ../../../../../_lib/gcc48/Debug/libmonitoring_serviced.a -Wl,--start-group ../../../../../_lib/gcc48/Debug/libice_generated_internal_business_serverd.a ../../../../../_lib/gcc48/Debug/libice_generated_castor_session_managerd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_environmentd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_pricingd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_environment_packerd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_environment_repositoryd.a ../../../../../_lib/gcc48/Debug/libice_generated_pricingd.a ../../../../../_lib/gcc48/Debug/libice_generated_environmentd.a ../../../../../_lib/gcc48/Debug/libice_generated_session_managerd.a ../../../../../_lib/gcc48/Debug/libice_generated_asynchronous_transferd.a ../../../../../_lib/gcc48/Debug/libice_generated_stressd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_properties_managementd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_monitoringd.a ../../../../../_lib/gcc48/Debug/libice_generated_commond.a -Wl,--end-group -lGlacier2 -lIceBox -lIceGrid -lIce -lIceStorm /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_serialization-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_date_time-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_filesystem-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_system-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_program_options-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_thread-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_regex-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_chrono-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/instantclient/instantclient-11_1.1/lib/libclntsh.so -ltbb_debug -ltbbmalloc_debug /goinfre/kits/amd64/Linux/lzo/lzo-2.04/lib64/liblzo2.a -Wl,-rpath,/goinfre/kits/amd64/Linux/instantclient/instantclient-11_1.1/lib:/goinfre/kits/amd64/Linux/tbb/tbb-4.2_gcc48/lib
    CMakeFiles/ice_grid_test_exe.dir//impl/grid_test/CallbackI.cpp.o: In function IceProxy::Ice::Object::ice_ping(std::__debug::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)': /usr/include/Ice/Proxy.h:1868: undefined reference toIceProxy::Ice::Object::_iceI_begin_ice_ping(std::__debug::map<std::string, std::string, std::less, std::allocator<std::pair > > const&, IceUtil::Handle const&, IceInternal::Handle const&, bool)'
    CMakeFiles/ice_grid_test_exe.dir/
    /impl/grid_test/Pricer.cpp.o: In function `IceProxy::Ice::Object::ice_isA(std::string const&, std::__debug::map<std::string, std::string, std::less, std::allocator<std::pair > > const&)':

  • xdm
    xdm La Coruña, Spain

    To clarify : I shoudl link only with .so and (NOT with the .so.debug) Ice libs, correct ?

    Right, this is correct.

    /usr/include/Ice/Proxy.h:1868: undefined reference toIceProxy::Ice::Object::_iceI_begin_ice_ping(std::__debug::map<std::string, std::string, std::less, std::allocator<std::pair > > const&, IceUtil::Handle const&, IceInternal::Handle const&, bool)'
    CMakeFiles/ice_grid_test_exe.dir//impl/grid_test/Pricer.cpp.o: In function `IceProxy::Ice::Object::ice_isA(std::string const&, std::__debug::map<std::string, std::string, std::less, std::allocator<std::pair > > const&)':
    

    Not sure why this is happing the symbol is in Ice library, can you try adding tracing to your linker to ensure the library name is correctly resolved, "-Wl,--trace"

    /opt/rh/devtoolset-6/root/usr/bin/g++
    

    Seems you are not using the default rhel7 G++ compiler, we build Ice with the default rhel7 G++ compiler, using different compilers could result in incompatible binaries, in this case, is best to build Ice from source using the same compiler.

    We provide instructions on how to do that on our git repository https://github.com/zeroc-ice/ice/blob/3.7/cpp/README.md,

  • Thank you for the answer !

    • Strangely enough my linker doesn't like the -Wl option. And not sure the --trace gives me more, but I'm pasting below the result of one of the errors
    • We're indeed using the RH devtoolset-6, so yes we could try a local build. Ice is compiled with gcc 4.8.5, then ?
      The thing is, when migrating from Ice 3.5 to 3.7, we precisely wanted to stop recompiling Ice, and take advantage of RH Rpms, to just use a 'standard' Ice build...

    Linking CXX executable ../../../../../_bin/gcc48/Debug/ice_internal_scheduler_exe
    cd /srv/grid/sources/b/build-1.23-linux-RH7/build/_compilation/unix_makefiles/debug/ice/solution && /srv/grid/kits/amd64/Linux/cmake/cmake-2.8.12.2/bin/cmake -E cmake_link_script CMakeFiles/ice_internal_scheduler_exe.dir/link.txt --verbose=1
    /opt/rh/devtoolset-6/root/usr/bin/g++ -Wsequence-point -Wreturn-type -Wno-deprecated-declarations -Wuninitialized -Wempty-body -Wignored-qualifiers -fpermissive -std=c++14 -pthread -fno-stack-protector -fnon-call-exceptions -fvisibility-inlines-hidden -fnon-call-exceptions -DBOOST_THREAD_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0=1 -DBOOST_RESULT_OF_USE_DECLTYPE -DBOOST_ASIO_HAS_MOVE -O0 -ggdb -D_GLIBCXX_DEBUG -DTBB_USE_DEBUG -fno-inline -fno-eliminate-unused-debug-types -DOTL_ORA10G -DOTL_STL -DOTL_ORA_UTF8 -DOTL_ADD_NULL_TERMINATOR_TO_STRING_SIZE -DNOMINMAX -fPIC -DPIC -m64 -lrt -lssl -lcrypto -lz -lbz2 -lsystemd -lIce --trace CMakeFiles/ice_internal_scheduler_exe.dir/__/impl/internal_scheduler_exe/main.cpp.o -o ../../../../../_bin/gcc48/Debug/ice_internal_scheduler_exe -L/goinfre/kits/amd64/Linux/tbb/tbb-4.2_gcc48/lib -rdynamic ../../../../../_lib/gcc48/Debug/libice_internal_schedulerd.a ../../../../../_lib/gcc48/Debug/libice_internal_dispatcherd.a ../../../../../_lib/gcc48/Debug/libice_internal_dispatcher_toolsd.a ../../../../../_lib/gcc48/Debug/libice_asynchronous_transferd.a ../../../../../_lib/gcc48/Debug/libice_toolsd.a ../../../../../_lib/gcc48/Debug/libresultsd.a ../../../../../_lib/gcc48/Debug/libmonitoring_serviced.a ../../../../../_lib/gcc48/Debug/libice_internal_properties_clientd.a ../../../../../_lib/gcc48/Debug/libice_serviced.a ../../../../../_lib/gcc48/Debug/libice_ctrl_c_handlerd.a ../../../../../_lib/gcc48/Debug/libstl_toolsd.a ../../../../../_lib/gcc48/Debug/libgregorian_toolsd.a ../../../../../_lib/gcc48/Debug/liblogger_serviced.a ../../../../../_lib/gcc48/Debug/liblogger_managerd.a ../../../../../_lib/gcc48/Debug/liblogger_filed.a ../../../../../_lib/gcc48/Debug/liblogger_consoled.a ../../../../../_lib/gcc48/Debug/libloggerd.a ../../../../../_lib/gcc48/Debug/libserviced.a ../../../../../_lib/gcc48/Debug/libsecurityd.a ../../../../../_lib/gcc48/Debug/libos_toolsd.a ../../../../../_lib/gcc48/Debug/libexceptionsd.a ../../../../../_lib/gcc48/Debug/libice_castor_helpersd.a -Wl,--start-group ../../../../../_lib/gcc48/Debug/libice_generated_internal_business_serverd.a ../../../../../_lib/gcc48/Debug/libice_generated_castor_session_managerd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_environmentd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_pricingd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_environment_packerd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_environment_repositoryd.a ../../../../../_lib/gcc48/Debug/libice_generated_pricingd.a ../../../../../_lib/gcc48/Debug/libice_generated_environmentd.a ../../../../../_lib/gcc48/Debug/libice_generated_session_managerd.a ../../../../../_lib/gcc48/Debug/libice_generated_asynchronous_transferd.a ../../../../../_lib/gcc48/Debug/libice_generated_stressd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_properties_managementd.a ../../../../../_lib/gcc48/Debug/libice_generated_internal_monitoringd.a ../../../../../_lib/gcc48/Debug/libice_generated_commond.a -Wl,--end-group -lGlacier2 -lIceBox -lIceGrid -lIce -lIceStorm /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_serialization-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_date_time-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_filesystem-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_system-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_program_options-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_thread-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_regex-gcc48-mt-d-1_59.a /goinfre/kits/amd64/Linux/boost/boost-1.59.0_gcc48/lib/libboost_chrono-gcc48-mt-d-1_59.a -ltbb_debug -ltbbmalloc_debug /goinfre/kits/amd64/Linux/instantclient/instantclient-11_1.1/lib/libclntsh.so /goinfre/kits/amd64/Linux/lzo/lzo-2.04/lib64/liblzo2.a -Wl,-rpath,/goinfre/kits/amd64/Linux/tbb/tbb-4.2_gcc48/lib:/goinfre/kits/amd64/Linux/instantclient/instantclient-11_1.1/lib
    ../../../../../_lib/gcc48/Debug/libice_generated_internal_monitoringd.a(Monitor.cpp.o): In function IceProxy::castor::internal::CoreMonitor::_iceI_begin_update(std::string const&, std::__debug::map<std::string, castor::internal::MonitorDelta, std::less<std::string>, std::allocator<std::pair<std::string const, castor::internal::MonitorDelta> > > const&, std::__debug::map<std::string, castor::internal::MonitorValue, std::less<std::string>, std::allocator<std::pair<std::string const, castor::internal::MonitorValue> > > const&, std::__debug::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, IceUtil::Handle<IceInternal::CallbackBase> const&, IceInternal::Handle<Ice::LocalObject> const&, bool)': /srv/grid/sources/b/build-1.23-linux-RH7/build/_compilation/unix_makefiles/debug/ice/generated/internal/monitoring/Monitor.cpp:342: undefined reference toIceInternal::OutgoingAsync::prepare(std::string const&, Ice::OperationMode, std::__debug::map<std::string, std::string, std::less, std::allocator<std::pair > > const&)'

  • bernard
    bernard Jupiter, FL

    Hi Guillaume,

    On Linux, we build Ice C++ with the default compiler that comes with each distribution. Obviously we can't ship builds for all possible compiler versions.

    We also routinely prepare non-default builds for customers with a support contract.

    All the best,
    Bernard

  • Makes sense, yes. I'll try to see if recompiling ICE with gcc 4.8.5 can make the debug work.
    Many thanks for the support :) !