2016-05-12 1 views
1

Я пытаюсь получить CaffeOnSpark работает локально и я следую за эту процедуру на CaffeOnSpark вики: https://github.com/yahoo/CaffeOnSpark/wiki/GetStarted_localCaffeonSpark caffe.proto сборки ошибки необходимы «SRC/главная/Java/Caffe/Caffe.java

Первые 4 пункта являются хорошо me.However, когда я делаю Make сборки на шаге 5. Я получил эту ошибку на protoc:

весь стек ошибка:

[email protected]:~/github/CaffeOnSpark$ make build 
cd caffe-public; make proto; make -j4 -e distribute; cd .. 
make[1]: Entering directory '/home/jiaqi/github/CaffeOnSpark/caffe-public' 
make[1]: Nothing to be done for 'proto'. 
make[1]: Leaving directory '/home/jiaqi/github/CaffeOnSpark/caffe-public' 
make[1]: Entering directory '/home/jiaqi/github/CaffeOnSpark/caffe-public' 
CXX/LD -o .build_release/tools/convert_imageset.bin 
CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin 
CXX/LD -o .build_release/tools/compute_image_mean.bin 
CXX/LD -o .build_release/tools/caffe.bin 
.build_release/tools/compute_image_mean.o: In function `std::string* google::MakeCheckOpString<int, int>(int const&, int const&, char const*)': 
compute_image_mean.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc]+0x50): undefined reference to `google::base::CheckOpMessageBuilder::NewString()' 
.build_release/tools/compute_image_mean.o: In function `std::string* google::MakeCheckOpString<unsigned long, int>(unsigned long const&, int const&, char const*)': 
compute_image_mean.cpp:(.text._ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc]+0x50): undefined reference to `google::base::CheckOpMessageBuilder::NewString()' 
.build_release/tools/compute_image_mean.o: In function `main': 
compute_image_mean.cpp:(.text.startup+0x168): undefined reference to `google::SetUsageMessage(std::string const&)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::String const&, int)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)' 
.build_release/lib/libcaffe.so: undefined reference to `leveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)' 
.build_release/lib/libcaffe.so: undefined reference to `leveldb::Status::ToString() const' 
collect2: error: ld returned 1 exit status 
Makefile:613: recipe for target '.build_release/tools/compute_image_mean.bin' failed 
make[1]: *** [.build_release/tools/compute_image_mean.bin] Error 1 
make[1]: *** Waiting for unfinished jobs.... 
.build_release/tools/convert_imageset.o: In function `std::string* google::MakeCheckOpString<unsigned long, int>(unsigned long const&, int const&, char const*)': 
convert_imageset.cpp:(.text._ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc]+0x50): undefined reference to `google::base::CheckOpMessageBuilder::NewString()' 
.build_release/tools/convert_imageset.o: In function `main': 
convert_imageset.cpp:(.text.startup+0x347): undefined reference to `google::SetUsageMessage(std::string const&)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::String const&, int)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)' 
.build_release/lib/libcaffe.so: undefined reference to `leveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)' 
.build_release/lib/libcaffe.so: undefined reference to `leveldb::Status::ToString() const' 
collect2: error: ld returned 1 exit status 
Makefile:613: recipe for target '.build_release/tools/convert_imageset.bin' failed 
make[1]: *** [.build_release/tools/convert_imageset.bin] Error 1 
.build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::String const&, int)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)' 
.build_release/lib/libcaffe.so: undefined reference to `leveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)' 
.build_release/lib/libcaffe.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString()' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)' 
.build_release/lib/libcaffe.so: undefined reference to `leveldb::Status::ToString() const' 
collect2: error: ld returned 1 exit status 
Makefile:613: recipe for target '.build_release/tools/upgrade_net_proto_binary.bin' failed 
make[1]: *** [.build_release/tools/upgrade_net_proto_binary.bin] Error 1 
.build_release/tools/caffe.o: In function `std::string* google::MakeCheckOpString<unsigned long, int>(unsigned long const&, int const&, char const*)': 
caffe.cpp:(.text._ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc]+0x50): undefined reference to `google::base::CheckOpMessageBuilder::NewString()' 
.build_release/tools/caffe.o: In function `main': 
caffe.cpp:(.text.startup+0x50): undefined reference to `google::SetVersionString(std::string const&)' 
caffe.cpp:(.text.startup+0x83): undefined reference to `google::SetUsageMessage(std::string const&)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::String const&, int)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)' 
.build_release/lib/libcaffe.so: undefined reference to `leveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)' 
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)' 
.build_release/lib/libcaffe.so: undefined reference to `leveldb::Status::ToString() const' 
collect2: error: ld returned 1 exit status 
Makefile:613: recipe for target '.build_release/tools/caffe.bin' failed 
make[1]: *** [.build_release/tools/caffe.bin] Error 1 
make[1]: Leaving directory '/home/jiaqi/github/CaffeOnSpark/caffe-public' 
export LD_LIBRARY_PATH="/home/y/lib64:/home/y/lib64/mkl/intel64:/home/jiaqi/github/CaffeOnSpark/caffe-public/distribute/lib:/home/jiaqi/github/CaffeOnSpark/caffe-distri/distribute/lib:/usr/lib64:/lib64 "; mvn -B package 
[INFO] Scanning for projects... 
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.yahoo.ml:caffe-grid:jar:0.1-SNAPSHOT 
[WARNING] The expression ${version} is deprecated. Please use ${project.version} instead. 
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. 
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects. 
[WARNING] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Build Order: 
[INFO] 
[INFO] caffe 
[INFO] caffe-distri 
[INFO] caffe-grid 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building caffe 0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building caffe-distri 0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-antrun-plugin:1.7:run (proto) @ caffe-distri --- 
[INFO] Executing tasks 

protoc: 
    [exec] make[1]: Entering directory '/home/jiaqi/github/CaffeOnSpark/caffe-distri' 
    [exec] make[1]: Leaving directory '/home/jiaqi/github/CaffeOmake[1]: *** No rule to make target '../caffe-public/distribute/proto/caffe.proto', needed by 'src/main/java/caffe/Caffe.java'. nSpark/caffe-distri' 
    [exec] Stop. 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] caffe .............................................. SUCCESS [ 0.019 s] 
[INFO] caffe-distri ....................................... FAILURE [ 2.425 s] 
[INFO] caffe-grid ......................................... SKIPPED 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 3.144 s 
[INFO] Finished at: 2016-05-13T12:33:40+08:00 
[INFO] Final Memory: 9M/238M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (proto) on project caffe-distri: An Ant BuildException has occured: exec returned: 2 
[ERROR] around Ant part ...<exec failonerror="true" dir="/home/jiaqi/github/CaffeOnSpark/caffe-distri" executable="make">... @ 5:97 in /home/jiaqi/github/CaffeOnSpark/caffe-distri/target/antrun/build-protoc.xml 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command 
[ERROR] mvn <goals> -rf :caffe-distri 
Makefile:9: recipe for target 'build' failed 
make: *** [build] Error 1 

кажется protoc не может найти свое правило. Вы когда-нибудь сталкивались с этой проблемой? Пожалуйста, помогите мне!

Версия моего прототипа - 2.5.0.

+0

У вас есть все необходимые пакеты? – GameOfThrows

+0

Я не совсем уверен в этом. Но я с успехом собираю и управляю кофе. – user3584021

ответ

0

которое должно быть сообщение об ошибке на начальном этапе, сообщает, что библиотека blas не может быть найдена. По умолчанию Caffe использует библиотеку атласа, который можно найти в Makefile.config: BLAS := atlas, если у вас установлена ​​библиотека другие Блас, скажем MKL, вы должны использовать BLAS := mkl

+0

Привет, Xiangyu! Я отредактировал свой вопрос, разместив весь стек ошибок. Однако я не нашел, что библиотека BLAS не обнаружила ошибку. – user3584021

+0

Кажется, вам не хватает opencv, а также некоторых других библиотек google. Вы просмотрели инструкции по адресу: http://caffe.berkeleyvision.org/install_apt.html – Xiangyu

1

я столкнулся ошибки построения с CaffeOnSpark раньше. Я знаю, что этот пост старый, но в любом случае он может помочь кому-то.

Из журналов я думаю, что у вас есть проблемы с зависимостью. CaffeOnSpark требует, чтобы все зависимости Caffe встречались. Поэтому первый вопрос, который я хочу задать, - это то, работает ли Caffe или нет (если он установлен).

  1. Если Caffe не установлен, вы можете попробовать установить Caffe и проверить его работу, открыв питона и набрав import caffe. Если Caffe не работает, перейдите к шагу 5.

  2. Если кофейная работает, убедитесь, что вы выполнили точную команду для загрузки мерзавца:

    GIT клон https://github.com/yahoo/CaffeOnSpark.git --recursive

  3. Тогда, пожалуйста, проверьте свой Makefile.config в CaffeOnSpark/caffe-public. Убедитесь, что все флаги указаны правильно. После проверки их, управлять ими:

    кд CaffeOnSpark сделать чистый макияж построить

  4. Если вы столкнулись с этой ошибки:

    make[1]: Leaving directory `/home/das/CaffeOnSpark/caffe-public' 
    export LD_LIBRARY_PATH="/usr/local/cuda-7.5/lib64:/home/das/CaffeOnSpark/caffe-public/distribute/lib:/home/das/CaffeOnSpark/caffe-distri/distribute/lib:/usr/lib64:/lib64 "; mvn -B package -DskipTests 
    /bin/sh: 1: mvn: not found 
    make: *** [build] Error 127 
    

    запустить эту команду, чтобы установить Maven:

    sudo apt-get install maven 
    
  5. Если вы все еще получаете ошибки, вы можете установить переустановить/проверить зависимости еще раз. Я отправлю инструкции на всякий случай. Обратите внимание, что многие из них на самом деле не являются требованием.Установить их, чтобы создать свою глубокую машину обучения:

    sudo apt-get update 
    sudo apt-get install -y build-essential cmake g++ gfortran git pkg-config python-dev software-properties-common 
    sudo apt-get install -y python-pip python-dev python-numpy python-scipy python-nose python-h5py python-skimage python-matplotlib python-pandas python-sklearn python-sympy 
    sudo apt-get install --no-install-recommends libboost-all-dev 
    sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler libgflags-dev libgoogle-glog-dev liblmdb-dev 
    

    и установить требования из корневой папки Caffe:

    sudo pip install -r python/requirements.txt 
    
  6. Если есть проблема BLAS, установите его правильно:

    git clone https://github.com/xianyi/OpenBLAS.git 
    cd OpenBLAS 
    make FC=gfortran -j 4 
    sudo make PREFIX=/usr/local install 
    
  7. Убедитесь, что в файле .bashrc все пути исправлены.

    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH 
    export CAFFE_ROOT=/home/das/Caffe 
    export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH 
    export CAFFE_ON_SPARK=/home/das/CaffeOnSpark 
    export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 
    export HADOOP_HOME=/usr/local/hadoop 
    export SPARK_HOME=/usr/local/spark 
    export LD_LIBRARY_PATH=${CAFFE_ON_SPARK}/caffe-public/distribute/lib:${CAFFE_ON_SPARK}/caffe-distri/distribute/lib 
    

..и если есть еще ошибка, пожалуйста, напишите его так, что мы можем смотреть на него.

Спасибо.

0

Я пытаюсь скомпилировать CaffeOnSpark на Ubuntu 16.04, перед ссылкой GetStarted_standalone я установил maven-3.0.5 и hadoop-2.7.1 и spark-2.0.0-bin-hadoop2.7 со своего соответствующего сайта. И я встречаю аналогичную проблему, ошибка вроде:

[INFO] Compiling 10 source files to /home/bdg/usr/CaffeOnSpark/caffe-distri/target/classes 
[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] /home/bdg/usr/CaffeOnSpark/caffe-distri/src/main/java/caffe/Caffe.java:[9919,31] cannot find symbol 
    symbol: class ProtocolStringList 
    location: package com.google.protobuf 
[ERROR] /home/bdg/usr/CaffeOnSpark/caffe-distri/src/main/java/caffe/Caffe.java:[8280,24] cannot find symbol 
    symbol: class ProtocolStringList 
    location: package com.google.protobuf 
... 
[ERROR] /home/bdg/usr/CaffeOnSpark/caffe-distri/src/main/java/caffe/Caffe.java:[5655,26] cannot find symbol 
    symbol: method getUnmodifiableView() 
    location: variable input_ of type com.google.protobuf.LazyStringList 
[ERROR] /home/bdg/usr/CaffeOnSpark/caffe-distri/src/main/java/caffe/Caffe.java:[6395,26] cannot find symbol 
    symbol: method getUnmodifiableView() 
    location: variable input_ of type com.google.protobuf.LazyStringList 
... 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command 
[ERROR] mvn <goals> -rf :caffe-distri 
Makefile:19: recipe for target 'build' failed 
make: *** [build] Error 1