garaemon / garaemon-ros-pkg

garaemon's ros pkg
0 stars 0 forks source link

cannot compile rospack with homebrew #3

Open garaemon opened 12 years ago

garaemon commented 12 years ago
% brew install -v rospack
/usr/bin/env python -c import setuptools
/usr/bin/env python -c import argparse
/usr/bin/env python -c import em
/usr/bin/env python -c import rospkg
/usr/bin/env python -c import nose
/usr/bin/env python -c import yaml
dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/sudo) is setuid or setgid
==> Cloning git://github.com/wg-debs/rospack-release.git
git status -s
Updating /Library/Caches/Homebrew/rospack--git
git config remote.origin.url git://github.com/wg-debs/rospack-release.git
git config remote.origin.fetch +refs/tags/upstream/2.0.13:refs/tags/upstream/2.0.13
git fetch origin
==> Checking out tag upstream/2.0.13
git checkout upstream/2.0.13 --
HEAD is now at df20e64... Imported Upstream version 2.0.13
git checkout-index -a -f --prefix=/private/tmp/rospack-kt6w/
==> mkdir build
mkdir build 
==> cd build && cmake .. -DCMAKE_INSTALL_PREFIX='/usr/local/Cellar/rospack/2.0.13' -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -Wno-dev
cd build && cmake .. -DCMAKE_INSTALL_PREFIX='/usr/local/Cellar/rospack/2.0.13' -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -Wno-dev 
-- The C compiler identification is Clang 4.0.0
-- The CXX compiler identification is Clang 4.0.0
-- Check for working C compiler: /usr/local/Library/ENV/4.3/cc
-- Check for working C compiler: /usr/local/Library/ENV/4.3/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/local/Library/ENV/4.3/c++
-- Check for working CXX compiler: /usr/local/Library/ENV/4.3/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PythonInterp: /usr/local/bin/python (found version "2.7.3") 
-- Found PY_em: /Library/Python/2.7/site-packages/em.pyc  
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE  
-- Found gtest: gtests will be built.
TODO: implement add_roslaunch_check() in rostest-extras.cmake.
-- Building stack rospack
-- Rospack building shared objects.
-- Boost version: 1.52.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   program_options
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/rospack-kt6w/build
==> cd build && make install
cd build && make install 
Scanning dependencies of target rospack
[ 22%] [ 11%] [ 33%] [ 44%] Building CXX object CMakeFiles/rospack.dir/src/rospack.cpp.o
Building CXX object CMakeFiles/rospack.dir/src/rospack_backcompat.cpp.o
Building CXX object CMakeFiles/rospack.dir/src/utils.cpp.o
Building CXX object CMakeFiles/rospack.dir/src/rospack_cmdline.cpp.o
brew: superenv removed: -I/usr/local/include -Wall
brew: superenv removed: -I/usr/local/include -Wall
brew: superenv removed: -I/usr/local/include -Wall
brew: superenv removed: -I/usr/local/include -Wall
[ 55%] Building CXX object CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxml.cpp.o
brew: superenv removed: -I/usr/local/include -Wall
[ 66%] Building CXX object CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxmlparser.cpp.o
brew: superenv removed: -I/usr/local/include -Wall
[ 77%] Building CXX object CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxmlerror.cpp.o
brew: superenv removed: -I/usr/local/include -Wall
Linking CXX shared library librospack.dylib
Undefined symbols for architecture i386:
  "boost::filesystem::path::m_erase_redundant_separator(unsigned long)", referenced from:
      boost::filesystem::path& boost::filesystem::path::append<std::string>(std::string const&, std::codecvt<wchar_t, char, __mbstate_t> const&) in rospack.cpp.o
  "boost::filesystem::path::m_append_separator_if_needed()", referenced from:
      boost::filesystem::path& boost::filesystem::path::append<std::string>(std::string const&, std::codecvt<wchar_t, char, __mbstate_t> const&) in rospack.cpp.o
  "boost::filesystem::path::codecvt()", referenced from:
      rospack::Rosstackage::getCachePath() in rospack.cpp.o
      boost::enable_if<boost::filesystem::path_traits::is_pathable<boost::decay<char*>::type>, boost::filesystem::path&>::type boost::filesystem::path::operator=<char*>(char* const&) in rospack.cpp.o
      boost::filesystem::path::path<char*>(char* const&, boost::enable_if<boost::filesystem::path_traits::is_pathable<boost::decay<char*>::type>, void>::type*) in rospack.cpp.o
  "boost::filesystem::path::operator/=(boost::filesystem::path const&)", referenced from:
      rospack::Rosstackage::crawlDetail(std::string const&, bool, int, bool, std::vector<rospack::DirectoryCrawlRecord*, std::allocator<rospack::DirectoryCrawlRecord*> >&, boost::unordered::unordered_set<std::string, boost::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> >&) in rospack.cpp.o
      rospack::Rosstackage::exports(std::string const&, std::string const&, std::string const&, bool, std::vector<std::string, std::allocator<std::string> >&) in rospack.cpp.o
      rospack::Rosstackage::depsMsgSrv(std::string const&, bool, std::vector<std::string, std::allocator<std::string> >&) in rospack.cpp.o
      rospack::Rosstackage::addStackage(std::string const&) in rospack.cpp.o
      rospack::Rosstackage::getCachePath() in rospack.cpp.o
  "boost::filesystem::detail::current_path(boost::system::error_code*)", referenced from:
      rospack::Rosstackage::inStackage(std::string&) in rospack.cpp.o
  "boost::filesystem::detail::dir_itr_close(void*&, void*&)", referenced from:
      boost::filesystem::detail::dir_itr_imp::~dir_itr_imp() in rospack.cpp.o
  "boost::filesystem::detail::create_directory(boost::filesystem::path const&, boost::system::error_code*)", referenced from:
      rospack::Rosstackage::getCachePath() in rospack.cpp.o
  "boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*)", referenced from:
      boost::filesystem::directory_iterator::directory_iterator(boost::filesystem::path const&) in rospack.cpp.o
  "boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)", referenced from:
      rospack::Rosstackage::isStackage(std::string const&) in rospack.cpp.o
      rospack::Rosstackage::crawlDetail(std::string const&, bool, int, bool, std::vector<rospack::DirectoryCrawlRecord*, std::allocator<rospack::DirectoryCrawlRecord*> >&, boost::unordered::unordered_set<std::string, boost::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> >&) in rospack.cpp.o
  "boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)", referenced from:
      rospack::Rosstackage::getSearchPathFromEnv(std::vector<std::string, std::allocator<std::string> >&) in rospack.cpp.o
      rospack::Rosstackage::isStackage(std::string const&) in rospack.cpp.o
      rospack::Rosstackage::crawlDetail(std::string const&, bool, int, bool, std::vector<rospack::DirectoryCrawlRecord*, std::allocator<rospack::DirectoryCrawlRecord*> >&, boost::unordered::unordered_set<std::string, boost::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> >&) in rospack.cpp.o
      rospack::Rosstackage::writeCache() in rospack.cpp.o
      rospack::Rosstackage::exports(std::string const&, std::string const&, std::string const&, bool, std::vector<std::string, std::allocator<std::string> >&) in rospack.cpp.o
      rospack::Rosstackage::depsMsgSrv(std::string const&, bool, std::vector<std::string, std::allocator<std::string> >&) in rospack.cpp.o
      rospack::Rosstackage::getCachePath() in rospack.cpp.o
      ...
  "boost::program_options::to_internal(std::string const&)", referenced from:
      std::vector<std::string, std::allocator<std::string> > boost::program_options::to_internal<std::string>(std::vector<std::string, std::allocator<std::string> > const&) in rospack_cmdline.cpp.o
  "boost::program_options::variables_map::variables_map()", referenced from:
      rospack::rospack_run(int, char**, rospack::Rosstackage&, std::string&) in rospack_cmdline.cpp.o
  "boost::program_options::options_description::add_options()", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::options_description::m_default_line_length", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::options_description::options_description(std::string const&, unsigned int, unsigned int)", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::options_description_easy_init::operator()(char const*, char const*)", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::positional_options_description::add(char const*, int)", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::positional_options_description::positional_options_description()", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::arg", referenced from:
      boost::program_options::typed_value<std::string, char>::name() const in rospack_cmdline.cpp.o
  "boost::program_options::store(boost::program_options::basic_parsed_options<char> const&, boost::program_options::variables_map&, bool)", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::detail::cmdline::set_positional_options(boost::program_options::positional_options_description const&)", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description const&)", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::detail::cmdline::get_canonical_option_prefix()", referenced from:
      boost::program_options::basic_command_line_parser<char>::run() in rospack_cmdline.cpp.o
  "boost::program_options::detail::cmdline::run()", referenced from:
      boost::program_options::basic_command_line_parser<char>::run() in rospack_cmdline.cpp.o
  "boost::program_options::detail::cmdline::cmdline(std::vector<std::string, std::allocator<std::string> > const&)", referenced from:
      boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*) in rospack_cmdline.cpp.o
  "boost::program_options::notify(boost::program_options::variables_map&)", referenced from:
      rospack::parse_args(int, char**, rospack::Rosstackage&, boost::program_options::variables_map&) in rospack_cmdline.cpp.o
  "boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)", referenced from:
      boost::program_options::typed_value<std::string, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const in rospack_cmdline.cpp.o
  "boost::system::system_category()", referenced from:
      __GLOBAL__I_a in rospack.cpp.o
  "boost::system::generic_category()", referenced from:
      __GLOBAL__I_a in rospack.cpp.o
  "boost::filesystem::path::parent_path() const", referenced from:
      rospack::Rosstackage::inStackage(std::string&) in rospack.cpp.o
  "boost::filesystem::path::compare(boost::filesystem::path const&) const", referenced from:
      boost::filesystem::path::compare(std::string const&) const in rospack.cpp.o
  "boost::filesystem::path::filename() const", referenced from:
      rospack::Rosstackage::isStackage(std::string const&) in rospack.cpp.o
      rospack::Rosstackage::crawlDetail(std::string const&, bool, int, bool, std::vector<rospack::DirectoryCrawlRecord*, std::allocator<rospack::DirectoryCrawlRecord*> >&, boost::unordered::unordered_set<std::string, boost::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> >&) in rospack.cpp.o
      rospack::Rosstackage::inStackage(std::string&) in rospack.cpp.o
      rospack::Rosstackage::addStackage(std::string const&) in rospack.cpp.o
  "boost::program_options::abstract_variables_map::operator[](std::string const&) const", referenced from:
      rospack::rospack_run(int, char**, rospack::Rosstackage&, std::string&) in rospack_cmdline.cpp.o
  "boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const", referenced from:
      vtable for boost::program_options::typed_value<std::string, char> in rospack_cmdline.cpp.o
  "typeinfo for boost::program_options::value_semantic_codecvt_helper<char>", referenced from:
      typeinfo for boost::program_options::typed_value<std::string, char> in rospack_cmdline.cpp.o
  "vtable for boost::program_options::variables_map", referenced from:
      rospack::rospack_run(int, char**, rospack::Rosstackage&, std::string&) in rospack_cmdline.cpp.o
      boost::program_options::variables_map::~variables_map() in rospack_cmdline.cpp.o
      boost::program_options::variables_map::~variables_map() in rospack_cmdline.cpp.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [librospack.dylib] Error 1
make[1]: *** [CMakeFiles/rospack.dir/all] Error 2
make: *** [all] Error 2
==> Configuration
HOMEBREW_VERSION: 0.9.3
HEAD: fcf337f86241f607808bdfe93955ae0086e8f9ca
CPU: quad-core 64-bit sandybridge
OS X: 10.8.2-x86_64
Xcode: 4.5.2
CLT: 4.4.0.0.1.1249367152
LLVM-GCC: build 2336
Clang: 4.0 build 421
X11: 2.7.4 => /opt/X11
==> ENV
CC: cc
CXX: c++
MAKEFLAGS: -j4
CMAKE_PREFIX_PATH: /usr/local
CMAKE_INCLUDE_PATH: /usr/include/libxml2:/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers/
CMAKE_LIBRARY_PATH: /System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
PKG_CONFIG_PATH: /usr/local/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig
ACLOCAL_PATH: /usr/local/share/aclocal
OBJC: cc
PATH: /usr/local/Library/ENV/4.3:/usr/local/opt/gtest/bin:/usr/local/opt/cmake/bin:/usr/local/opt/catkin/bin:/usr/local/opt/python/bin:/usr/bin:/bin:/usr/sbin:/sbin

Error: rospack did not build
garaemon commented 12 years ago

rospack-release is compilable by hand

cmake ..
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Found PythonInterp: /usr/local/bin/python (found version "2.7.3") 
-- Found PY_em: /Library/Python/2.7/site-packages/em.pyc  
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE  
-- Found gtest: gtests will be built.
TODO: implement add_roslaunch_check() in rostest-extras.cmake.
-- Rospack building shared objects.
-- Boost version: 1.52.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   program_options
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/garaemon/gprog/rospack-release/build
------------------------------------------------------------
~/gprog/rospack-release/build(branch:upstream/2.0.14/master*) » make -j4
Scanning dependencies of target rospack
[ 22%] [ 22%] [ 33%] [ 44%] Building CXX object CMakeFiles/rospack.dir/src/rospack_backcompat.cpp.o
Building CXX object CMakeFiles/rospack.dir/src/rospack.cpp.o
Building CXX object CMakeFiles/rospack.dir/src/utils.cpp.o
Building CXX object CMakeFiles/rospack.dir/src/rospack_cmdline.cpp.o
[ 55%] Building CXX object CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxml.cpp.o
[ 66%] Building CXX object CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxmlparser.cpp.o
[ 77%] Building CXX object CMakeFiles/rospack.dir/tinyxml-2.5.3/tinyxmlerror.cpp.o
Linking CXX shared library librospack.dylib
[ 77%] Built target rospack
Scanning dependencies of target rospackexe
Scanning dependencies of target rosstackexe
[100%] [100%] Building CXX object CMakeFiles/rosstackexe.dir/src/rosstack_main.cpp.o
Building CXX object CMakeFiles/rospackexe.dir/src/rospack_main.cpp.o
Linking CXX executable bin/rospack
Linking CXX executable bin/rosstack
[100%] Built target rospackexe
[100%] Built target rosstackexe
------------------------------------------------------------
~/gprog/rospack-release/build(branch:upstream/2.0.14/master*) »   garaemon@gma2
garaemon commented 12 years ago

the problem is linking with boost