Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document compilation against conda-forge provided dependencies #477

Closed
traversaro opened this issue Oct 4, 2020 · 9 comments · Fixed by #610
Closed

Document compilation against conda-forge provided dependencies #477

traversaro opened this issue Oct 4, 2020 · 9 comments · Fixed by #610

Comments

@traversaro
Copy link
Member

After conda-forge/staged-recipes#12698, at least for Linux and Windows the dependencies of the robotology-superbuild should be all available in conda-forge. For this reason, it could make sense to document somewhere the procedure to compile the robotology-superbuild against the dependency provided by conda-forge .

@traversaro
Copy link
Member Author

traversaro commented Oct 4, 2020

The basic instructions are:

# Install dependencies
conda install -c conda-forge ace asio boost eigen freeglut gsl glew glfw ipopt libxml2 libode libjpeg-turbo libmatio pkg-config opencv portaudio qt sdl sdl2 sqlite gazebo 
# Build 
# On *nix
export CMAKE_PREFIX_PATH=$CONDA_PREFIX
# On Windows
set CMAKE_PREFIX_PATH=%CONDA_PREFIX%/Library
# Compile
git clone https://github.com/robotology/robotology-superbuild
cd robotology-superbuild
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build --config Release ..

However on Windows the compilation is failing with:

  YARP_priv_hmac.vcxproj -> C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\lib\Release\YARP_priv_hmac.lib
     Creating library C:/src/conda-ws/robotology-superbuild/build/robotology/YARP/lib/Release/YARP_os.lib and object C:/src/conda-ws/robotology-superbuild/build/robotology/YARP/lib/Release/YARP_os.exp
Os.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) char const * __cdecl ACE::basename(char const *,char)" (__imp_?basename@ACE@@YAPEBDPEBDD@Z) referenced in function "void __cdecl yarp::o
s::setprogname(char const *)" (?setprogname@os@yarp@@YAXPEBD@Z) [C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\src\libYARP_os\src\YARP_os.vcxproj]
Property.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) struct ACE_DIR * __cdecl ACE_OS::opendir_emulation(char const *)" (__imp_?opendir_emulation@ACE_OS@@YAPEAUACE_DIR@@PEBD@Z) referen
ced in function "public: bool __cdecl yarp::os::Property::Private::fromConfigDir(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,stru
ct std::char_traits<char>,class std::allocator<char> > const &,bool)" (?fromConfigDir@Private@Property@os@yarp@@QEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0_N@Z) [C:\src\conda-ws\rob
otology-superbuild\build\robotology\YARP\src\libYARP_os\src\YARP_os.vcxproj]
Property.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) int __cdecl ACE_OS::scandir_emulation(char const *,struct dirent * * * const,int (__cdecl*)(struct dirent const *),int (__cdecl*)(
struct dirent const * *,struct dirent const * *))" (__imp_?scandir_emulation@ACE_OS@@YAHPEBDQEAPEAPEAUdirent@@P6AHPEBU2@@ZP6AHPEAPEBU2@4@Z@Z) referenced in function "public: bool __cdecl yarp::os::Property::Pri
vate::readDir(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct ACE_DIR * &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<c
har> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?readDir@Private@Property@os@yarp@@QEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@s
td@@AEAPEAUACE_DIR@@AEAV56@0@Z) [C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\src\libYARP_os\src\YARP_os.vcxproj]
SharedLibrary.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __cdecl ACE_DLL::open(char const *,int,bool)" (__imp_?open@ACE_DLL@@QEAAHPEBDH_N@Z) referenced in function "publi
c: bool __cdecl yarp::os::SharedLibrary::open(char const *)" (?open@SharedLibrary@os@yarp@@QEAA_NPEBD@Z) [C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\src\libYARP_os\src\YARP_os.vcxproj]
    Hint on symbols that are defined and could potentially match:
      "__declspec(dllimport) public: int __cdecl ACE_SOCK_Acceptor::open(class ACE_Addr const &,int,int,int,int,int)" (__imp_?open@ACE_SOCK_Acceptor@@QEAAHAEBVACE_Addr@@HHHHH@Z)
      "__declspec(dllimport) public: int __cdecl ACE_SOCK_Dgram::open(class ACE_Addr const &,int,int,int,int)" (__imp_?open@ACE_SOCK_Dgram@@QEAAHAEBVACE_Addr@@HHHH@Z)
SharedLibrary.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void * __cdecl ACE_DLL::symbol(char const *,int)" (__imp_?symbol@ACE_DLL@@QEAAPEAXPEBDH@Z) referenced in function "pu
blic: void * __cdecl yarp::os::SharedLibrary::getSymbol(char const *)" (?getSymbol@SharedLibrary@os@yarp@@QEAAPEAXPEBD@Z) [C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\src\libYARP_os\src\YARP_os.
vcxproj]
SharedLibrary.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: char * __cdecl ACE_DLL::error(void)const " (__imp_?error@ACE_DLL@@QEBAPEADXZ) referenced in function "public: bool __
cdecl yarp::os::SharedLibrary::close(void)" (?close@SharedLibrary@os@yarp@@QEAA_NXZ) [C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\src\libYARP_os\src\YARP_os.vcxproj]
DgramTwoWayStream.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __cdecl ACE_SOCK_Dgram_Mcast::open(class ACE_INET_Addr const &,char const *,int)" (__imp_?open@ACE_SOCK_Dgram
_Mcast@@QEAAHAEBVACE_INET_Addr@@PEBDH@Z) referenced in function "public: virtual bool __cdecl yarp::os::impl::DgramTwoWayStream::openMcast(class yarp::os::Contact const &,class yarp::os::Contact const &)" (?ope
nMcast@DgramTwoWayStream@impl@os@yarp@@UEAA_NAEBVContact@34@0@Z) [C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\src\libYARP_os\src\YARP_os.vcxproj]
    Hint on symbols that are defined and could potentially match:
      "__declspec(dllimport) public: int __cdecl ACE_SOCK_Acceptor::open(class ACE_Addr const &,int,int,int,int,int)" (__imp_?open@ACE_SOCK_Acceptor@@QEAAHAEBVACE_Addr@@HHHHH@Z)
      "__declspec(dllimport) public: int __cdecl ACE_SOCK_Dgram::open(class ACE_Addr const &,int,int,int,int)" (__imp_?open@ACE_SOCK_Dgram@@QEAAHAEBVACE_Addr@@HHHH@Z)
DgramTwoWayStream.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __cdecl ACE_SOCK_Dgram_Mcast::join(class ACE_INET_Addr const &,int,char const *)" (__imp_?join@ACE_SOCK_Dgram
_Mcast@@QEAAHAEBVACE_INET_Addr@@HPEBD@Z) referenced in function "public: virtual bool __cdecl yarp::os::impl::DgramTwoWayStream::join(class yarp::os::Contact const &,bool,class yarp::os::Contact const &)" (?joi
n@DgramTwoWayStream@impl@os@yarp@@UEAA_NAEBVContact@34@_N0@Z) [C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\src\libYARP_os\src\YARP_os.vcxproj]
C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\bin\Release\YARP_os.dll : fatal error LNK1120: 8 unresolved externals [C:\src\conda-ws\robotology-superbuild\build\robotology\YARP\src\libYARP_os\src\
YARP_os.vcxproj]

@traversaro
Copy link
Member Author

The windows compilation failure should be fixed by conda-forge/ace-feedstock#4 .

@traversaro
Copy link
Member Author

conda-forge can provide its own compilers, so for now I am just testing this configuration:

  • OS : Ubuntu 20.04
  • Compilers: provided by conda-forge(i.e. conda install -c conda-forge compilers cmake)
  • Dependencies installed: conda install -c conda-forge ace asio boost eigen freeglut gsl glew glfw ipopt libxml2 libode libjpeg-turbo libmatio pkg-config opencv portaudio qt sdl sdl2 sqlite gazebo

Under this configuration, the first error that I get is:

[  0%] Building CXX object extern/qcustomplot/CMakeFiles/YARP_priv_qcustomplot.dir/YARP_priv_qcustomplot_autogen/mocs_compilation.cpp.o
In file included from /home/traversaro/miniforge3/include/qt/QtGui/QtGui:45:0,
                 from /home/traversaro/miniforge3/include/qt/QtPrintSupport/QtPrintSupportDepends:4,
                 from /home/traversaro/miniforge3/include/qt/QtPrintSupport/QtPrintSupport:3,
                 from /home/traversaro/robotology-superbuild/build/robotology/YARP/extern/qcustomplot/YARP_priv_qcustomplot_autogen/EIXI6URBL5/../../../../../../../robotology/YARP/extern/qcustomplot/qcustomplot/qcustomplot.h:91,
                 from /home/traversaro/robotology-superbuild/build/robotology/YARP/extern/qcustomplot/YARP_priv_qcustomplot_autogen/EIXI6URBL5/moc_qcustomplot.cpp:9,
                 from /home/traversaro/robotology-superbuild/build/robotology/YARP/extern/qcustomplot/YARP_priv_qcustomplot_autogen/mocs_compilation.cpp:2:
/home/traversaro/miniforge3/include/qt/QtGui/qopengl.h:141:13: fatal error: GL/gl.h: No such file or directory
 #   include <GL/gl.h>
             ^~~~~~~~~
compilation terminated.

@traversaro
Copy link
Member Author

The failure fatal error: GL/gl.h: No such file or directory was fixed by installing also mesalib, but then the compilation fails with some linking errors:

[ 27%] Building CXX object src/libYARP_wire_rep_utils/src/CMakeFiles/YARP_wire_rep_utils.dir/yarp/wire_rep_utils/WireBottle.cpp.o
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libselinux.so.1, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libXdamage.so.1, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libXxf86vm.so.1, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XDamageAdd'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XF86VidModeQueryVersion'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XDamageQueryVersion'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XF86VidModeGetModeLine'
collect2: error: ld returned 1 exit status
make[5]: *** [src/yarpview/src/CMakeFiles/yarpview.dir/build.make:163: bin/yarpview] Error 1
make[4]: *** [CMakeFiles/Makefile2:7270: src/yarpview/src/CMakeFiles/yarpview.dir/all] Error 2
make[4]: *** Waiting for unfinished jobs....
[ 27%] Building CXX object src/libYARP_wire_rep_utils/src/CMakeFiles/YARP_wire_rep_utils.dir/yarp/wire_rep_utils/WireTwiddler.cpp.o
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libselinux.so.1, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libXdamage.so.1, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libXxf86vm.so.1, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XDamageAdd'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XF86VidModeQueryVersion'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XDamageQueryVersion'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XF86VidModeGetModeLine'
collect2: error: ld returned 1 exit status
make[5]: *** [src/yarpscope/src/CMakeFiles/yarpscope.dir/build.make:160: bin/yarpscope] Error 1
make[4]: *** [CMakeFiles/Makefile2:7383: src/yarpscope/src/CMakeFiles/yarpscope.dir/all] Error 2

This were solved by installing:

 conda install -c conda-forge libxxf86vm-cos6-x86_64 libxdamage-cos6-x86_64 libselinux-cos6-x86_64

@traversaro
Copy link
Member Author

Similar problem with blocktest scriptBuiler:

[ 81%] Linking CXX executable ../../bin/Scriptbuilder
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libXext.so.6, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libXfixes.so.3, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libxcb-glx.so.0, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libxcb-dri2.so.0, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libxcb.so.1, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libexpat.so.1, needed by /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1, not found (try using -rpath or -rpath-link)
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XextAddDisplay'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XextRemoveDisplay'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_SetUserData'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_take_socket'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_are_textures_resident'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_disconnect'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_get_string_reply'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_flush'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XFixesDestroyRegion'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_dri2_swap_interval'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_dri2_get_msc_reply'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_Parse'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_get_string_string'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_dri2_swap_buffers_reply'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_query_version'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XMissingExtension'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_connect_to_display_with_auth_info'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_dri2_wait_msc_reply'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_swap_buffers'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_connect'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_ParseBuffer'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_ErrorString'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XextFindDisplay'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_query_version_reply'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_is_direct'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_dri2_swap_buffers_unchecked'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_poll_for_reply64'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_dri2_get_msc_unchecked'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_parse_display'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_GetCurrentColumnNumber'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_client_info'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_query_server_string_string'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_dri2_wait_sbc_unchecked'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_are_textures_resident_data_length'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_ParserFree'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_query_server_string_reply'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_wait_for_event'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_dri2_wait_msc_unchecked'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_get_maximum_request_length'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_ParserCreate'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_query_server_string'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_render_large'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XFixesCreateRegion'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_set_client_info_arb'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_get_string_string_length'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_is_direct_reply'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_poll_for_event'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_query_server_string_string_length'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_GetErrorCode'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_create_context_attribs_arb_checked'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_GetCurrentLineNumber'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_set_client_info_2arb'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_get_setup'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_SetElementHandler'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_render'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_writev'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_are_textures_resident_data'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XML_GetBuffer'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_are_textures_resident_reply'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `XextCreateExtension'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_request_check'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_generate_id'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_dri2_wait_sbc_reply'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libGL.so.1: undefined reference to `xcb_glx_get_string'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_wait_for_reply64'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_connection_has_error'
/home/traversaro/miniforge3/bin/../lib/gcc/x86_64-conda-linux-gnu/7.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/traversaro/miniforge3/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib64/libX11.so.6: undefined reference to `xcb_get_file_descriptor'
collect2: error: ld returned 1 exit status
make[5]: *** [src/scriptbuilder/CMakeFiles/Scriptbuilder.dir/build.make:360: bin/Scriptbuilder] Error 1
make[4]: *** [CMakeFiles/Makefile2:444: src/scriptbuilder/CMakeFiles/Scriptbuilder.dir/all] Error 2
make[3]: *** [Makefile:149: all] Error 2
make[2]: *** [CMakeFiles/blocktestcore.dir/build.make:126: robotology/blocktestcore/CMakeFiles/YCMStamp/blocktestcore-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:768: CMakeFiles/blocktestcore.dir/all] Err

@traversaro
Copy link
Member Author

Inspection reveled some missing dependencies:

@traversaro
Copy link
Member Author

The blocktestcore failures were solved by:

 conda install expat-cos6-x86_64 libxau-cos6-x86_64  libxfixes-cos6-x86_64

traversaro added a commit that referenced this issue Oct 11, 2020
See #477 for more details.
 
In a nutshell conda is a package manager (originally for Python, but now quite language agnostic) that works on Linux, macOS and Windows. `conda-forge`  is a channel for the conda package manager that provides many dependency, in particular all the one that are required by the robotology-superbuild .
traversaro added a commit that referenced this issue Oct 12, 2020
* CI: Add conda-forge based builds

See #477 for more details.
 
In a nutshell conda is a package manager (originally for Python, but now quite language agnostic) that works on Linux, macOS and Windows. `conda-forge`  is a channel for the conda package manager that provides many dependency, in particular all the one that are required by the robotology-superbuild .
@traversaro
Copy link
Member Author

PR to add compilation of Ipopt on Windows: conda-forge/ipopt-feedstock#47 .

@traversaro
Copy link
Member Author

traversaro commented Nov 25, 2021

The failure fatal error: GL/gl.h: No such file or directory was fixed by installing also mesalib, but then the compilation fails with some linking errors:

This fix was not ideal. In line with conda-forge suggestions, the correct package to install was mesa-libgl-devel-cos6-x86_64 (I guess). See also S1 from #929 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant