-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Catkin build updates, some additions for MacOSX build #43
base: catkin
Are you sure you want to change the base?
Conversation
- Added `cmake_modules` ros package to fulfil Eigen, etc. - Added cmake find_package rule for GL, X11, etc - Added toolchain choice if block for MacOSX and some specific CC and CXX compiler flags
Update sources for platform dependent functions: - mostly fixes for MacOSX build - replaced `std::chrono::monotonic_clock` with `std::chrono::steady_clock`
Main difference seems to be `ros-indigo-cmake-modules` dependency. For MacOSX build is still not possible (notes in CMakeLists.txt) due to clang C++ features coverage and gcc-clang incompatibilities. And it will still need a long howto about ros/brew/mac.
Hi kpykc, So I take it you are running LSD-SLAM successfully on MacOS? Cool! |
Hi Jakob, not exactly running. These are rather changes for build with catkin on Ubuntu 14.04 Trusty/ROS Indigo. But i have also tried to build on MacOSX10.10.1 Yosemite/ROS Indigo. There are only one nifty detail right now with MacOSX build. In particular there are troubles with code which uses My MacOSX environment is like that:
|
But you right, testing is needed, and I left to much comments in |
- Removed toolchain selection for Mac OSX: use default compiler - `clang` - Add `X11` libs and headers dependency for `lsd_slam_core` library target - Correct const parameter in `trackingFailed` multi-map in `Frame.h` - Removed `std::vector` parameter `Eigen::aligned_allocator<FramePoseStruct*>`, it seems to be unused appendix, but still breakes build due to being of different type than first argument, and clang is strict in this case.
I have fixed build with clang on Mac OSX it now builds with few warnings. The problem was, that I removed
And changed
But, I still have some problem with |
Hi kpykc, can you confirm a successful build on OS X Yosemite? |
Hi, yes it builds. |
Hi, |
I guess you have some problems with ROS cv_bridge or Yous should check if all dependencies are installed. |
That seemed to be the problem. Thanks, and cool work! |
I tried to make as less intrusion in code as possible (at least no changes in algorithm code), however CMake rules have a lot of changes to make build possible.
Updated package dependencies and build rules:
cmake_modules
ros package to fulfillEigen
dependency, etc.find_package
rule for GL, X11, etc. Hence removed hardcoded library names/paths.Update sources for platform dependent functions:
__exp10
,isnanf
)std::chrono::monotonic_clock
withstd::chrono::steady_clock
Add notes on catkin build:
Main difference seems to be
ros-indigo-cmake-modules
dependency. For MacOSX build is still not possible, due to clang C++ features coverage and gcc-clang incompatibilities (gcc build code but fails to link to libs built by clang, e.g. roslib, opencv). And it will still need a long howto about ros/brew/mac.