ethz-asl/mav_trajectory_generation

build error for catkin build

freexile opened this issue · 4 comments

Hi
I get some trouble in the process of catkinbuild
Errors << glog_catkin:make /home/xl/catkin_ws/logs/glog_catkin/build.make.014.log
make[3]: 警告: 子 make 中强制 -jN: 关闭 jobserver 模式。
src/utilities_unittest-utilities_unittest.o: In function __static_initialization_and_destruction_0': /home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:93: undefined reference to google::FlagRegisterer::FlagRegistererstd::string(char const*, char const*, char const*, std::string*, std::string*)'
/home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:94: undefined reference to google::FlagRegisterer::FlagRegisterer<std::string>(char const*, char const*, char const*, std::string*, std::string*)' /home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:96: undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*)'
/home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/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 make[3]: *** [utilities_unittest] 错误 1 make[3]: *** 正在等待未完成的任务.... src/demangle_unittest-demangle_unittest.o: In function __static_initialization_and_destruction_0':
/home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:93: undefined reference to google::FlagRegisterer::FlagRegisterer<std::string>(char const*, char const*, char const*, std::string*, std::string*)' /home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:94: undefined reference to google::FlagRegisterer::FlagRegistererstd::string(char const*, char const*, char const*, std::string*, std::string*)'
/home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:96: undefined reference to google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)' /home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:100: undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*)'
src/demangle_unittest-demangle_unittest.o: In function __static_initialization_and_destruction_0': /home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/demangle_unittest.cc:49: undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*)'
collect2: error: ld returned 1 exit status
make[3]: *** [demangle_unittest] 错误 1
src/symbolize_unittest-symbolize_unittest.o: In function __static_initialization_and_destruction_0': /home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:93: undefined reference to google::FlagRegisterer::FlagRegistererstd::string(char const*, char const*, char const*, std::string*, std::string*)'
/home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:94: undefined reference to google::FlagRegisterer::FlagRegisterer<std::string>(char const*, char const*, char const*, std::string*, std::string*)' /home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:96: undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*)'
/home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/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 make[3]: *** [symbolize_unittest] 错误 1 src/logging_unittest-logging_unittest.o: In function __static_initialization_and_destruction_0':
/home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:93: undefined reference to google::FlagRegisterer::FlagRegisterer<std::string>(char const*, char const*, char const*, std::string*, std::string*)' /home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:94: undefined reference to google::FlagRegisterer::FlagRegistererstd::string(char const*, char const*, char const*, std::string*, std::string*)'
/home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:96: undefined reference to google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)' /home/xl/catkin_ws/build/glog_catkin/glog_src-prefix/src/glog_src/src/googletest.h:100: undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*)'
collect2: error: ld returned 1 exit status
make[3]: *** [logging_unittest] 错误 1
make[2]: *** [glog_src-prefix/src/glog_src-stamp/glog_src-build] 错误 2
make[1]: *** [CMakeFiles/glog_src.dir/all] 错误 2
make: *** [all] 错误 2
cd /home/xl/catkin_ws/build/glog_catkin; catkin build --get-env glog_catkin | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -
can you help me solve the question?thank you very much!

Hmm looks like a linking error with glog, have never seen this before... Which OS are you using and which version of gcc?

The OS is ubuntu 14.04 and version of gcc is 4.8.4. And There are some mistakes when I install the glog. Maybe you are right,but I don't konw how can I solve this problem!

And when I install the glog with make,there are some mistakes as below:
/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.cc
libtool: 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.o
libtool: 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>&1
mv -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.cc
libtool: 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.o
libtool: 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>&1
mv -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.cc
libtool: 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.o
libtool: 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>&1
mv -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.cc
libtool: 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.o
libtool: 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>&1
mv -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-demangle.lo -MD -MP -MF src/.deps/libglog_la-demangle.Tpo -c -o src/libglog_la-demangle.lo test -f 'src/demangle.cc' || echo './'src/demangle.cc
libtool: 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-demangle.lo -MD -MP -MF src/.deps/libglog_la-demangle.Tpo -c src/demangle.cc -fPIC -DPIC -o src/.libs/libglog_la-demangle.o
libtool: 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-demangle.lo -MD -MP -MF src/.deps/libglog_la-demangle.Tpo -c src/demangle.cc -o src/libglog_la-demangle.o >/dev/null 2>&1
mv -f src/.deps/libglog_la-demangle.Tpo src/.deps/libglog_la-demangle.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.cc
libtool: 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.o
libtool: 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>&1
mv -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.cc
libtool: 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.o
libtool: 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>&1
mv -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: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/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/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../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/4.8/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.8/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o -O2 -Wl,-soname -Wl,libglog.so.0 -o .libs/libglog.so.0.0.0
libtool: 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.o
libtool: link: ranlib .libs/libglog.a
libtool: link: ( cd ".libs" && rm -f "libglog.la" && ln -s "../libglog.la" "libglog.la" )
g++ -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.cc
src/logging_unittest.cc:1078:13: warning: ‘void MyFatal()’ defined but not used [-Wunused-function]
static void MyFatal() {
^
src/logging_unittest.cc:1081:13: warning: ‘void MyCheck(bool, bool)’ defined but not used [-Wunused-function]
static void MyCheck(bool a, bool b) {
^
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 -pthread
src/logging_unittest-logging_unittest.o: In function __static_initialization_and_destruction_0': /home/xl/glog-master/src/googletest.h:93: undefined reference to google::FlagRegisterer::FlagRegistererstd::string(char const*, char const*, char const*, std::string*, std::string*)'
/home/xl/glog-master/src/googletest.h:94: undefined reference to google::FlagRegisterer::FlagRegisterer<std::string>(char const*, char const*, char const*, std::string*, std::string*)' /home/xl/glog-master/src/googletest.h:96: undefined reference to google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*)'
/home/xl/glog-master/src/googletest.h:100: undefined reference to `google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*)'
collect2: error: ld returned 1 exit status
make: *** [logging_unittest] 错误 1

Looks like this is this issue with glog: gflags/gflags#203 ...