Are you setting CUDA_HOST_COMPILER? I hacked around this issue last night and got caffe linking on Ubuntu 15.10.
The issue with linking to protobuf is down to c++ ABI changes between GCC 4.9 and GCC 5.x. The ABI for std::string has changed so you need to be sure to link with compatible libraries.
Since CUDA doesn't officially support GCC >= 4.9, I had initially set CUDA_HOST_COMPILER to get CUDA stuff compiled. The issue with doing just that is that caffe will build with the default GCC which is 5.2.
If you go ahead and build caffe with GCC 4.9 as well then you'll have link problems against the libprotobuf-dev package which is built with GCC 5.x as with all other Ubuntu packages in 15.10.
What I ended up doing is just hacking the header in CUDA that claims CUDA can't be built with GCC 5.x. I think it was host_config.h or something similar (don't have it here, sorry). Hacking that to make the version check accept GCC 5.2 made the problem go away and I've not had any issues with CUDA. I'm guessing it's just a defensive check, but YMMV!
The alternative meant too much building IMO so I went with a hack. You may want to build everything with GCC 4.9 but you'll also have to build protobuf and possibly also all other system packages that export c++ functions containing std::string, std::vector, etc.with GCC 4.9 (eg. glog, gflags, boost?).
It would be better if nvidia just updated CUDA to support GCC 5.x (I was using the latest 7.5 version btw). I've not checked yet if there's a ticket for that open.
I have one more outstanding issue with liblzma linking but that's related to using anaconda. I only mention it for posterity.
Hope that helps.
Cheers,
Darren
--
You received this message because you are subscribed to the Google Groups "Caffe Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to caffe-users...@googlegroups.com.
To post to this group, send email to caffe...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/caffe-users/42d8dbb9-109f-4bf3-90b6-d041a6947e18%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
That hack is what the Arch Linux package has done. The comment still says to support 4.9, but that is a relic from when the SDK didn't support 4.9. :)
CXX/LD -o .build_release/tools/extract_features.bin
--
You received this message because you are subscribed to the Google Groups "Caffe Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to caffe-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/caffe-users/09013e4a-84f5-4cf6-9698-974165088733%40googlegroups.com.
autoreconf: Entering directory `.'autoreconf: configure.ac: not using Gettextautoreconf: running: aclocal --force -I m4autoreconf: configure.ac: tracingautoreconf: running: libtoolize --copy --forcelibtoolize: putting auxiliary files in '.'.libtoolize: copying file './ltmain.sh'libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.libtoolize: copying file 'm4/libtool.m4'libtoolize: copying file 'm4/ltoptions.m4'libtoolize: copying file 'm4/ltsugar.m4'libtoolize: copying file 'm4/ltversion.m4'libtoolize: copying file 'm4/lt~obsolete.m4'autoreconf: running: /usr/bin/autoconf --forceautoreconf: running: /usr/bin/autoheader --forceautoreconf: running: automake --add-missing --copy --force-missingconfigure.ac:19: installing './compile'configure.ac:13: installing './missing'Makefile.am: installing './depcomp'autoreconf: Leaving directory `.'
ACLOCAL = ${SHELL} /home/bassel/basselTMP/glog-0.3.4/missing aclocal-1.15
AUTOMAKE = ${SHELL} /home/bassel/basselTMP/glog-0.3.4/missing automake-1.15
/bin/bash ./config.status --recheckrunning CONFIG_SHELL=/bin/bash /bin/bash ./configure --no-create --no-recursionchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for a thread-safe mkdir -p... /bin/mkdir -pchecking for gawk... nochecking for mawk... mawkchecking whether make sets $(MAKE)... yeschecking whether make supports nested variables... yeschecking for gcc... gccchecking whether the C compiler works... yeschecking for C compiler default output file name... a.outchecking for suffix of executables... checking whether we are cross compiling... nochecking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none neededchecking whether gcc understands -c and -o together... yeschecking for style of include used by make... GNUchecking dependency style of gcc... gcc3checking how to run the C preprocessor... gcc -Echecking for g++... g++checking whether we are using the GNU C++ compiler... yeschecking whether g++ accepts -g... yeschecking dependency style of g++... gcc3checking build system type... x86_64-pc-linux-gnuchecking host system type... x86_64-pc-linux-gnuchecking how to print strings... printfchecking for a sed that does not truncate output... /bin/sedchecking for grep that handles long lines and -e... /bin/grepchecking for egrep... /bin/grep -Echecking for fgrep... /bin/grep -Fchecking for ld used by gcc... /usr/bin/ldchecking if the linker (/usr/bin/ld) is GNU ld... yeschecking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -Bchecking the name lister (/usr/bin/nm -B) interface... BSD nmchecking whether ln -s works... yeschecking the maximum length of command line arguments... 1572864checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noopchecking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noopchecking for /usr/bin/ld option to reload object files... -rchecking for objdump... objdumpchecking how to recognize dependent libraries... pass_allchecking for dlltool... nochecking how to associate runtime and link libraries... printf %s\nchecking for ar... archecking for archiver @FILE support... @checking for strip... stripchecking for ranlib... ranlibchecking command to parse /usr/bin/nm -B output from gcc object... okchecking for sysroot... nochecking for a working dd... /bin/ddchecking how to truncate binary pipes... /bin/dd bs=4096 count=1checking for mt... mtchecking if mt is a manifest tool... nochecking for ANSI C header files... nochecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking for dlfcn.h... yeschecking for objdir... .libschecking if gcc supports -fno-rtti -fno-exceptions... nochecking for gcc option to produce PIC... -fPIC -DPICchecking if gcc PIC flag -fPIC -DPIC works... yeschecking if gcc static flag -static works... yeschecking if gcc supports -c -o file.o... yeschecking if gcc supports -c -o file.o... (cached) yeschecking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking whether -lc should be explicitly linked in... nochecking dynamic linker characteristics... GNU/Linux ld.sochecking how to hardcode library paths into programs... immediatechecking whether stripping libraries is possible... yeschecking if libtool supports shared libraries... yeschecking whether to build shared libraries... yeschecking whether to build static libraries... yeschecking how to run the C++ preprocessor... g++ -Echecking for ld used by g++... /usr/bin/ld -m elf_x86_64checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yeschecking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking for g++ option to produce PIC... -fPIC -DPICchecking if g++ PIC flag -fPIC -DPIC works... yeschecking if g++ static flag -static works... yeschecking if g++ supports -c -o file.o... yeschecking if g++ supports -c -o file.o... (cached) yeschecking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking dynamic linker characteristics... (cached) GNU/Linux ld.sochecking how to hardcode library paths into programs... immediatechecking for ANSI C header files... (cached) nochecking for stdint.h... (cached) yeschecking for sys/types.h... (cached) yeschecking for inttypes.h... (cached) yeschecking for unistd.h... (cached) yeschecking syscall.h usability... yeschecking syscall.h presence... yeschecking for syscall.h... yeschecking sys/syscall.h usability... yeschecking sys/syscall.h presence... yeschecking for sys/syscall.h... yeschecking execinfo.h usability... yeschecking execinfo.h presence... yeschecking for execinfo.h... yeschecking libunwind.h usability... nochecking libunwind.h presence... nochecking for libunwind.h... nochecking ucontext.h usability... yeschecking ucontext.h presence... yeschecking for ucontext.h... yeschecking sys/utsname.h usability... yeschecking sys/utsname.h presence... yeschecking for sys/utsname.h... yeschecking pwd.h usability... yeschecking pwd.h presence... yeschecking for pwd.h... yeschecking syslog.h usability... yeschecking syslog.h presence... yeschecking for syslog.h... yeschecking sys/time.h usability... yeschecking sys/time.h presence... yeschecking for sys/time.h... yeschecking glob.h usability... yeschecking glob.h presence... yeschecking for glob.h... yeschecking unwind.h usability... yeschecking unwind.h presence... yeschecking for unwind.h... yeschecking windows.h usability... nochecking windows.h presence... nochecking for windows.h... nochecking size of void *... 8checking for uint16_t... yeschecking for u_int16_t... yeschecking for __uint16... nochecking for sigaltstack... yeschecking for sigaction... yeschecking for dladdr... nochecking for fcntl... yeschecking for pread... yeschecking for pwrite... yeschecking for __attribute__... yeschecking for __builtin_expect... yeschecking for __sync_val_compare_and_swap... yeschecking for the pthreads library -lpthreads... nochecking whether pthreads work without any flags... nochecking whether pthreads work with -Kthread... nochecking whether pthreads work with -kthread... nochecking for the pthreads library -llthread... nochecking whether pthreads work with -pthread... yeschecking for joinable pthread attribute... PTHREAD_CREATE_JOINABLEchecking if more special flags are required for pthreads... nochecking whether to check for GCC pthread/shared inconsistencies... yeschecking whether -pthread is sufficient with -shared... yeschecking for pthread_self in -lpthread... yeschecking for main in -lgflags... yeschecking for gtest-config... nochecking for main in -lgtest... nochecking support for pthread_rwlock_* functions... yeschecking whether the compiler implements namespaces... yeschecking what namespace STL code is in... stdchecking whether compiler supports using ::operator<<... 1checking for ucontext.h... (cached) yeschecking sys/ucontext.h usability... yeschecking sys/ucontext.h presence... yeschecking for sys/ucontext.h... yeschecking how to access the program counter from a struct ucontext... uc_mcontext.gregs[REG_RIP]checking that generated files are newer than configure... doneconfigure: creating ./config.status /bin/bash ./config.statusconfig.status: creating Makefileconfig.status: creating src/glog/logging.hconfig.status: creating src/glog/raw_logging.hconfig.status: creating src/glog/vlog_is_on.hconfig.status: creating src/glog/stl_logging.hconfig.status: creating libglog.pcconfig.status: creating src/config.hconfig.status: src/config.h is unchangedconfig.status: executing depfiles commandsconfig.status: executing libtool commands/bin/bash ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-logging.lo -MD -MP -MF src/.deps/libglog_la-logging.Tpo -c -o src/libglog_la-logging.lo `test -f 'src/logging.cc' || echo './'`src/logging.cclibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-logging.lo -MD -MP -MF src/.deps/libglog_la-logging.Tpo -c src/logging.cc -fPIC -DPIC -o src/.libs/libglog_la-logging.olibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-logging.lo -MD -MP -MF src/.deps/libglog_la-logging.Tpo -c src/logging.cc -o src/libglog_la-logging.o >/dev/null 2>&1mv -f src/.deps/libglog_la-logging.Tpo src/.deps/libglog_la-logging.Plo/bin/bash ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-raw_logging.lo -MD -MP -MF src/.deps/libglog_la-raw_logging.Tpo -c -o src/libglog_la-raw_logging.lo `test -f 'src/raw_logging.cc' || echo './'`src/raw_logging.cclibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-raw_logging.lo -MD -MP -MF src/.deps/libglog_la-raw_logging.Tpo -c src/raw_logging.cc -fPIC -DPIC -o src/.libs/libglog_la-raw_logging.olibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-raw_logging.lo -MD -MP -MF src/.deps/libglog_la-raw_logging.Tpo -c src/raw_logging.cc -o src/libglog_la-raw_logging.o >/dev/null 2>&1mv -f src/.deps/libglog_la-raw_logging.Tpo src/.deps/libglog_la-raw_logging.Plo/bin/bash ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-vlog_is_on.lo -MD -MP -MF src/.deps/libglog_la-vlog_is_on.Tpo -c -o src/libglog_la-vlog_is_on.lo `test -f 'src/vlog_is_on.cc' || echo './'`src/vlog_is_on.cclibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-vlog_is_on.lo -MD -MP -MF src/.deps/libglog_la-vlog_is_on.Tpo -c src/vlog_is_on.cc -fPIC -DPIC -o src/.libs/libglog_la-vlog_is_on.olibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-vlog_is_on.lo -MD -MP -MF src/.deps/libglog_la-vlog_is_on.Tpo -c src/vlog_is_on.cc -o src/libglog_la-vlog_is_on.o >/dev/null 2>&1mv -f src/.deps/libglog_la-vlog_is_on.Tpo src/.deps/libglog_la-vlog_is_on.Plo/bin/bash ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-utilities.lo -MD -MP -MF src/.deps/libglog_la-utilities.Tpo -c -o src/libglog_la-utilities.lo `test -f 'src/utilities.cc' || echo './'`src/utilities.cclibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-utilities.lo -MD -MP -MF src/.deps/libglog_la-utilities.Tpo -c src/utilities.cc -fPIC -DPIC -o src/.libs/libglog_la-utilities.olibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-utilities.lo -MD -MP -MF src/.deps/libglog_la-utilities.Tpo -c src/utilities.cc -o src/libglog_la-utilities.o >/dev/null 2>&1mv -f src/.deps/libglog_la-utilities.Tpo src/.deps/libglog_la-utilities.Plo/bin/bash ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-symbolize.lo -MD -MP -MF src/.deps/libglog_la-symbolize.Tpo -c -o src/libglog_la-symbolize.lo `test -f 'src/symbolize.cc' || echo './'`src/symbolize.cclibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-symbolize.lo -MD -MP -MF src/.deps/libglog_la-symbolize.Tpo -c src/symbolize.cc -fPIC -DPIC -o src/.libs/libglog_la-symbolize.olibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-symbolize.lo -MD -MP -MF src/.deps/libglog_la-symbolize.Tpo -c src/symbolize.cc -o src/libglog_la-symbolize.o >/dev/null 2>&1mv -f src/.deps/libglog_la-symbolize.Tpo src/.deps/libglog_la-symbolize.Plo/bin/bash ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-signalhandler.lo -MD -MP -MF src/.deps/libglog_la-signalhandler.Tpo -c -o src/libglog_la-signalhandler.lo `test -f 'src/signalhandler.cc' || echo './'`src/signalhandler.cclibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-signalhandler.lo -MD -MP -MF src/.deps/libglog_la-signalhandler.Tpo -c src/signalhandler.cc -fPIC -DPIC -o src/.libs/libglog_la-signalhandler.olibtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -I./src -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -MT src/libglog_la-signalhandler.lo -MD -MP -MF src/.deps/libglog_la-signalhandler.Tpo -c src/signalhandler.cc -o src/libglog_la-signalhandler.o >/dev/null 2>&1mv -f src/.deps/libglog_la-signalhandler.Tpo src/.deps/libglog_la-signalhandler.Plo/bin/bash ./libtool --tag=CXX --mode=link g++ -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -o libglog.la -rpath /usr/local/lib src/libglog_la-logging.lo src/libglog_la-raw_logging.lo src/libglog_la-vlog_is_on.lo src/libglog_la-utilities.lo src/libglog_la-demangle.lo src/libglog_la-symbolize.lo src/libglog_la-signalhandler.lo -lgflags -lpthread libtool: link: rm -fr .libs/libglog.a .libs/libglog.la .libs/libglog.lai .libs/libglog.so .libs/libglog.so.0 .libs/libglog.so.0.0.0libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbeginS.o src/.libs/libglog_la-logging.o src/.libs/libglog_la-raw_logging.o src/.libs/libglog_la-vlog_is_on.o src/.libs/libglog_la-utilities.o src/.libs/libglog_la-demangle.o src/.libs/libglog_la-symbolize.o src/.libs/libglog_la-signalhandler.o -lgflags -lpthread -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/5/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o -g -O2 -Wl,-soname -Wl,libglog.so.0 -o .libs/libglog.so.0.0.0libtool: link: (cd ".libs" && rm -f "libglog.so.0" && ln -s "libglog.so.0.0.0" "libglog.so.0")libtool: link: (cd ".libs" && rm -f "libglog.so" && ln -s "libglog.so.0.0.0" "libglog.so")libtool: link: ar cru .libs/libglog.a src/libglog_la-logging.o src/libglog_la-raw_logging.o src/libglog_la-vlog_is_on.o src/libglog_la-utilities.o src/libglog_la-demangle.o src/libglog_la-symbolize.o src/libglog_la-signalhandler.oar: `u' modifier ignored since `D' is the default (see `U')libtool: link: ranlib .libs/libglog.ag++ -DHAVE_CONFIG_H -I. -I./src -I./src -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -g -O2 -MT src/logging_unittest-logging_unittest.o -MD -MP -MF src/.deps/logging_unittest-logging_unittest.Tpo -c -o src/logging_unittest-logging_unittest.o `test -f 'src/logging_unittest.cc' || echo './'`src/logging_unittest.ccIn file included from src/utilities.h:82:0, from src/logging_unittest.cc:33:src/logging_unittest.cc: In function ‘void TestLogging(bool)’:src/glog/logging.h:917:30: warning: typedef ‘INVALID_REQUESTED_LOG_SEVERITY’ locally defined but not used [-Wunused-local-typedefs] INVALID_REQUESTED_LOG_SEVERITY); \ ^src/glog/logging.h:912:73: note: in definition of macro ‘GOOGLE_GLOG_COMPILE_ASSERT’ pedef google::glog_internal_namespace_::CompileAssert<(bool(expr))> msg[bool(ex ^src/logging_unittest.cc:254:5: note: in expansion of macro ‘LOG_EVERY_N’ LOG_EVERY_N(ERROR, 4) << "Log every 4, iteration " << COUNTER << endl; ^mv -f src/.deps/logging_unittest-logging_unittest.Tpo src/.deps/logging_unittest-logging_unittest.Po/bin/bash ./libtool --tag=CXX --mode=link g++ -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -g -O2 -pthread -o logging_unittest src/logging_unittest-logging_unittest.o libglog.la -lgflags -lgflags -lpthread libtool: link: g++ -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -g -O2 -pthread -o .libs/logging_unittest src/logging_unittest-logging_unittest.o ./.libs/libglog.so -lgflags -lpthread -pthreadsrc/logging_unittest-logging_unittest.o: In function `__static_initialization_and_destruction_0':/home/bassel/basselTMP/glog-0.3.4/src/googletest.h:93: undefined reference to `google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'/home/bassel/basselTMP/glog-0.3.4/src/googletest.h:94: undefined reference to `google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'/home/bassel/basselTMP/glog-0.3.4/src/googletest.h:96: undefined reference to `google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)'/home/bassel/basselTMP/glog-0.3.4/src/googletest.h:100: undefined reference to `google::FlagRegisterer::FlagRegisterer<int>(char const*, char const*, char const*, int*, int*)'
collect2: error: ld returned 1 exit status
Makefile:1090: recipe for target 'logging_unittest' failed
make: *** [logging_unittest] Error 1
To unsubscribe from this group and stop receiving emails from it, send an email to caffe-users...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to caffe-users+unsubscribe@googlegroups.com.
To post to this group, send email to caffe...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/caffe-users/7c24bd9f-4489-4b05-8e2c-abfa2e1fdc91%40googlegroups.com.
#PYTHON_LIB := /usr/libPYTHON_LIB := $(ANACONDA_HOME)/lib
PYTHON_LIB := /usr/lib#PYTHON_LIB := $(ANACONDA_HOME)/lib
/usr/bin/ld: cannot find -lhdf5_hl/usr/bin/ld: cannot find -lhdf5
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/aarch64-linux-gnu/hdf5/serial
<div class="m_-6945760320548374439sub