• Ошибка компиляции OSRM: /usr/bin/ld: cannot find -lc++. Как побороть?

    @GhOsT_MZ Автор вопроса
    vilgeforce: если пытаюсь так, то он выдает такую вот ошибку:
    "/usr/bin/clang++" -cc1 -triple x86_64-unknown-freebsd9.3 -emit-obj -disable-free -main-file-name src.cxx -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables
     -target-cpu x86-64 -v -coverage-file /usr/home/Project-OSRM/build/CMakeFiles/CMakeTmp/CMakeFiles/cmTryCompileExec3637790593.dir/src.cxx.o -resource-dir /usr/bin/../lib/clang/3.4.1 -D LUABIND51_WORKS -D NDEBUG -I
     /usr/local/include/c++/v1/tr1 -I /usr/local/include -I /usr/local/include/luabind -I /usr/local/include/lua51 -internal-isystem /usr/include/c++/4.2 -internal-isystem /usr/include/c++/4.2/backward -O3 -Wall -Wun
    reachable-code -pedantic -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /usr/home/Project-OSRM/build/CMakeFiles/CMakeTmp -ferror-limit 19 -fmessage-length 0 -mstackrealign -fobjc-runtime=gnustep -fcxx-exce
    ptions -fexceptions -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o CMakeFiles/cmTryCompileExec3637790593.dir/src.cxx.o -x c++ /home/Project-OSRM/build/CMakeFiles/CMakeTmp/src.cxx                    
    clang -cc1 version 3.4.1 based upon LLVM 3.4.1 default target x86_64-unknown-freebsd9.3                                                                                                                             
    ignoring nonexistent directory "/usr/bin/../lib/clang/3.4.1/include"                                                                                                                                                
    #include "..." search starts here:                                                                                                                                                                                  
    #include <...> search starts here:                                                                                                                                                                                  
     /usr/local/include/c++/v1/tr1                                                                                                                                                                                      
     /usr/local/include                                                                                                                                                                                                 
     /usr/local/include/luabind                                                                                                                                                                                         
     /usr/local/include/lua51                                                                                                                                                                                           
     /usr/include/c++/4.2                                                                                                                                                                                               
     /usr/include/c++/4.2/backward                                                                                                                                                                                      
     /usr/include/clang/3.4.1                                                                                                                                                                                           
     /usr/include                                                                                                                                                                                                       
    End of search list.                                                                                                                                                                                                 
    In file included from /home/Project-OSRM/build/CMakeFiles/CMakeTmp/src.cxx:2:                                                                                                                                       
    In file included from /usr/local/include/luabind/luabind.hpp:28:                                                                                                                                                    
    In file included from /usr/local/include/luabind/class.hpp:93:                                                                                                                                                      
    In file included from /usr/local/include/luabind/back_reference.hpp:27:                                                                                                                                             
    In file included from /usr/local/include/luabind/wrapper_base.hpp:31:                                                                                                                                               
    In file included from /usr/local/include/luabind/detail/call_member.hpp:30:                                                                                                                                         
    In file included from /usr/local/include/luabind/detail/convert_to_lua.hpp:28:                                                                                                                                      
    In file included from /usr/local/include/luabind/detail/policy.hpp:51:                                                                                                                                              
    /usr/local/include/luabind/detail/object_rep.hpp:77:11: error: no member named 'malloc' in namespace 'std'; did you mean 'valloc'?                                                                                  
                            return std::malloc(size);                                                                                                                                                                   
                                   ^~~~~~~~~~~                                                                                                                                                                          
                                   valloc                                                                                                                                                                               
    /usr/include/unistd.h:581:7: note: 'valloc' declared here                                                                                                                                                           
    void    *valloc(size_t);                        /* obsoleted by malloc() */                                                                                                                                         
             ^                                                                                                                                                                                                          
    In file included from /home/Project-OSRM/build/CMakeFiles/CMakeTmp/src.cxx:2:                                                                                                                                       
    In file included from /usr/local/include/luabind/luabind.hpp:28:                                                                                                                                                    
    In file included from /usr/local/include/luabind/class.hpp:93:                                                                                                                                                      
    In file included from /usr/local/include/luabind/back_reference.hpp:27:                                                                                                                                             
    In file included from /usr/local/include/luabind/wrapper_base.hpp:31:                                                                                                                                               
    In file included from /usr/local/include/luabind/detail/call_member.hpp:30:                                                                                                                                         
    In file included from /usr/local/include/luabind/detail/convert_to_lua.hpp:28:                                                                                                                                      
    In file included from /usr/local/include/luabind/detail/policy.hpp:51:                                                                                                                                              
    /usr/local/include/luabind/detail/object_rep.hpp:84:9: error: no type named 'free' in namespace 'std'                                                                                                               
                            std::free(storage);                                                                                                                                                                         
                            ~~~~~^


    Если я все верно понимаю, чтобы собрать, необходимо указать компилятору -stdlib=libc++ и -std=c++11, и как только я это указываю, опять получаю ошибку от ld:
    "/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --hash-style=both --enable-new-dtags -o cmTryCompileExec3848589959 /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib CMakeFiles/cmTryCompileExec3848589959.dir/testCXXCompiler.cxx.o -lc++ -lm -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o
    
      /usr/bin/ld: cannot find -lc++
  • Ошибка компиляции OSRM: /usr/bin/ld: cannot find -lc++. Как побороть?

    @GhOsT_MZ Автор вопроса
    vilgeforce: если я все верно понимаю (просто описания этого не нашел, да и впервые подобное вижу), это своего рода ссылка на библиотеку (или библиотеки). При этом, обе библиотеки присутствуют.
  • Ошибка компиляции OSRM: /usr/bin/ld: cannot find -lc++. Как побороть?

    @GhOsT_MZ Автор вопроса
    vilgeforce: Хотя нет, обманываю, в каталоге есть libstdc++.so, содержащий:
    GROUP ( /usr/local/lib/libc++.so.1 /usr/local/lib/libcxxrt.so )