Debian 9 Install from Source

93 views
Skip to first unread message

Ed Bird

unread,
Dec 12, 2017, 11:12:35 AM12/12/17
to Caffe Users
I have been unable to install Caffe from source on Debian 9.

I managed to follow the instructions for Fedora fairly well and managed to get Caffe built and installed from source on a Fedora 24 system.

However I am now moving to a Debian system, and I have been trying to follow the same steps but with no success.

Because I am finding it difficult to remember which commands I ran where I am going to follow the process again on a virtual machine.

I think it would be helpful if the Debian install instructions were updated to include "installing from source" rather than just having a section on binary installation with apt. At the moment the novice user is left guessing which packages they might need to install from the prerequisites and left to try and follow instructions for other linux distros, converting for example from Fedora instructions to Debian. The Ubuntu instructions, which should be closer to Debian, similarly are not very detailed.

My understanding is that because I need some of the Caffe libraries/headers in my own C++ program, I need to do an installation from source in order to run `make distribute`. By the way, I figured out where the files produced by this command should go (eg; /usr/include/caffe, /usr/lib etc) BUT IT MIGHT NOT BE OBVIOUS TO NON-EXPERTS. The "Compile from Source" instructions should probably be updated with a line about where the "make distribute" output files should be moved to.

I am personally fairly competent with C++, however I am fairly new to CMake and Make. But I still ran into trouble:

The errors I currently face are produced in the linking of CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin: There are a lot of them, listed below.

//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dgetrs_N_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `slauum_U_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `clauu2_U'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrs_C_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zpotf2_U'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrtri_LU_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrtri_UN_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrf_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dlaswp_minus'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrtri_UN_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `slauum_L_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dgetrf_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strtri_UN_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrtri_UU_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strtri_LN_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrtri_LU_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `spotrf_L_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrs_T_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrti2_LU'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `sgetrs_T_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `clauu2_L'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `claswp_plus'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zlaswp_plus'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrtri_LU_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zpotrf_U_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `sgetrf_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrtri_UN_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strti2_UN'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrti2_UN'
//usr/lib/x86_64-linux-gnu/libblas.so.3: undefined reference to `gotoblas'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrs_T_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zlaswp_minus'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `slauu2_L'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrti2_UU'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dgetrs_N_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrs_N_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `spotf2_L'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zlauum_U_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrtri_LN_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zlauu2_L'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `clauum_U_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrtri_LN_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dgetrs_T_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `sgetrs_T_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cpotrf_U_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrti2_UU'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrti2_LU'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrs_T_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `slauu2_U'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dpotrf_U_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrti2_LN'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrtri_LU_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrtri_UN_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strti2_LU'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrtri_LN_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrti2_LN'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zpotrf_L_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrtri_LN_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zpotf2_L'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrti2_LU'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrtri_UU_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dpotrf_U_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrs_N_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `spotrf_U_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strtri_UU_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zlauum_L_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrtri_LU_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrtri_UN_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `slauum_L_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrtri_LN_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dgetf2_k'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `slaswp_minus'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `sgetrf_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrtri_UU_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrf_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `sgetrs_N_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cpotrf_L_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrs_T_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrs_N_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `claswp_minus'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `clauum_L_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrs_R_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dlauu2_U'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrs_N_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `clauum_U_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zpotrf_U_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dpotf2_U'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrf_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dlauum_L_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cpotf2_U'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zlauum_L_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrs_R_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrf_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrs_R_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strtri_LU_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dlauu2_L'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetf2_k'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrs_C_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrtri_UU_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cpotrf_L_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrtri_UU_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrti2_UN'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cpotf2_L'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strti2_LN'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dpotrf_L_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dpotf2_L'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strti2_UU'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `slauum_U_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrtri_LN_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dpotrf_L_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strtri_UN_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strtri_LN_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zlauum_U_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetrs_C_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrtri_UN_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrs_C_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrti2_UN'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dlauum_L_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `spotrf_L_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strtri_UU_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dlaswp_plus'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cgetrs_R_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dlauum_U_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `sgetf2_k'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `cpotrf_U_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zpotrf_L_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `spotf2_U'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zlauu2_U'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `slaswp_plus'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrtri_LU_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dlauum_U_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ztrtri_UU_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `strtri_LU_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dgetrs_T_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `ctrti2_UU'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `clauum_L_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dgetrf_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `spotrf_U_single'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `sgetrs_N_parallel'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `zgetf2_k'
//usr/lib/x86_64-linux-gnu/liblapack.so.3: undefined reference to `dtrti2_LN'

I am attempting to build using OpenBLAS, in CPU only mode. My understanding is that OpenBLAS has the best performance of the blas libraries? Which is why I chose it.

Googling these error messages does not seem to turn up any relevant results. So I am a bit stuck, and I don't know what to do.

As mentioned earlier, I am now going to start working through a new installation attempt using a virtual machine. I will post an update about progress with this soon.

Ed Bird

unread,
Dec 14, 2017, 10:23:08 AM12/14/17
to Caffe Users
I never managed to find out the source of this problem. In the end I reinstalled the OS and ran through the installation process again and everything worked fine, as it did inside the VM.
Reply all
Reply to author
Forward
0 new messages