Dependencies versions conflict
PascalYIN opened this issue · 21 comments
Hello, it seems that you have done a pretty cool job and I am interested in building ant running your code, however, I got some trouble while building your code:
It appears to me that you have chosen Boost1.58, PCL1.8.1, CUDA9.0 at least (since __all_sync() and __ballot_sync() are used in your code) with an unknown version of OpenCV and VTK. When I try to build your code on my Ubuntu 16.04 LTS with the same versions of dependencies, I got error from the utilization of CUDACC_VER and I can't solve this problem. I have an idea that Boost1.58.0 should have some conflicts with CUDA9.0, so you probably have used a later version of Boost, or maybe a different of CUDA. could you please tell me the versions of your choices?
Thanks ! :)
i just looked and i've boost 1.65.1 on my system. sorry for them mess--i'll try and clean up the cmake files when i have time. let me know if building with this version of boost works
Thanks for your response! I rebuilt PCL1.8.1 with boost 1.65.1 and Eigen 3.3.6 and which solved the CUDACC_VER error, and I successfully compiled your code. However when I tried to run ./build/bin/app I got a new boost error:
Device 0: "GeForce GTX 1070" 8116Mb, sm_61, 1920 cores, Driver/Runtime ver.10.10/9.0
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injectorboost::bad_any_cast
what(): boost::bad_any_cast: failed conversion using boost::any_cast
Aborted (core dumped)
Do you have any idea about its reason ?
Thanks a lot! I didn't release that I should have specified a parameter .ini file in the command line. What I did was just ./build/bin/app ./data/umbrella/ ./params/
Now I'm using the umbrella data with your umbrella parameter and it run well before my Ubuntu(installed on an external SSD) crashed LOL
So I put here my building dependencies hoping that can help you or someone else :)
Nvidia GTX1070
CUDA 9.0 (didn't try PCL 1.8.1 with CUDA10.0 or CUDA 10.1 but for now PCL 1.9.1 seems to have some incompatibility issues with CUDA 10, I didn't figure out how to solve PCL 1.8.1's 'compute_20' issue until I passed on CUDA 9.0)
PCL 1.8.1 with Eigen3.3.6 and Boost1.65.1 (for Eigen3 didn't fix all its incompatibilities with CUDA 9.0 until this version)
I think it's wise to use PCL 1.8.1 EXACT since PCL passed on C++14 from 1.9 version which makes compiling your code more complicated.
Boost 1.65.1 (for the CUDACC_VER issue was fixed from this version), note that EIgen3 also had the same CUDACC_VER issue which was fixed from 3.3.5 BUT 3.3.5 still had some incompatibilities with CUDA 9.0, it's unusable for compiling your code (Yep I have gone through all these :( )
OpenCV 3.4.3 for personal preferences
VTK-6.3.0 for no reason, but apparently VTK-6 has a definition issue when using CMAKE, I will put on my solution when I reboot that Ubuntu system
And finally which might be the most important I used an entirely new Ubuntu 16.04
Very grateful for your great job anyway !
Hi @PascalYIN Thank you so much for your summary!!. I successfully compiled the code based on your suggestion. May I ask you where did you download the umbrella data?
@YanhaoZhang It's a pleasure that it helps. For the umbrella data set please check mihaibujanca/dynamicfusion#59 (comment)
@PascalYIN Thank you so much for your prompt reply! I have downloaded the data.
@dgrzech @PascalYIN I got an error when running the code.
Device 0: "GeForce GT 620M" 964Mb, sm_21, 96 cores, Driver/Runtime ver.9.0/9.0
--- FRAME NO. 0 ---
error: invalid device function /home/yanhao/sobfu-master/src/kfusion/cuda/imgproc.cu:49
May I ask you if you know what may cause this issue? Currently I am using Ubuntu 16.04, and the dependencies are: CUDA-9.0, PCL-1.8.1, Eigen-3.3.6, Boost-1.65.1, OpenCV-3.4.3, and VTK-7.1.1.
@PascalYIN I am using vtk-7.1.1 because there is an error when I compile vtk 6.3.0. May I ask you how did you solve this? Besides, may I also ask you what version of qt are you using? Thanks a lot.
Hi @PascalYIN I used another laptop and still got an error when running this code. May I ask you did you just put two empty folder in the umbrella data as following? But I got an error saying 'Segmentation fault (core dumped)'.
Here is the steps on how I installed the dependencies. I am wondering if you could have a quick look and let me know if I did something wrong or different from what you did when you have time? Since I did not successfully compiled vtk-6.3.0, I used vtk-7.1.1.
Thank you so much:)
@YanhaoZhang Sorry that I didn't respond your earlier message. I just tried checking my compiling record, but found out that I can't log in my account anymore LOL... However I managed to verify where to put the RGB and Depth images : I put all RGB images inside the "color" folder and all Depth images inside the "depth" folder. Hope that helps, yet I think that I never came across a such problem. It's been a while since I stopped working with this project.
@PascalYIN Thanks for replying me. Sorry to hear that you could not log in your account. I also tried to put RGB and Depth inside the corresponding folder, and still got different error as following. I will try to see if I can solve it. The first one is the error with colorIntrinsics.txt and **** inside corresponding folder, and the second one is the error with that txt file outside "color" and "depth" folder.
@YanhaoZhang this error is cuda-related. i’m afraid that you’ll need a gpu with sm_61 or higher to run the code
@dgrzech Got it. Thank you so much for your prompt reply. Currently I am using a laptop with GeForce GTX 960M with 4 GB memory. I will try this project on another desktop with a more powerful GPU later.
Hi @dgrzech, Thank you so much. Now I have successfully run this project. The thing is I need to modify this line from the CMakeList according to my GPU. The setting for some GPU can be found here. I also write a summary on how I installed the dependencies here.
Thanks a lot for your help.
Hi @YanhaoZhang, Thanks for the summary. How much gpu memory does it consume? Does a NVIDIA GPU like GTX1060 with 6GB memory suffice to deal with these 640X480 images?
Hi @dgrzech, Thank you so much. Now I have successfully run this project. The thing is I need to modify this line from the CMakeList according to my GPU. The setting for some GPU can be found here. I also write a summary on how I installed the dependencies here.
Thanks a lot for your help.Hi @YanhaoZhang, Thanks for the summary. How much gpu memory does it consume? Does a NVIDIA GPU like GTX1060 with 6GB memory suffice to deal with these 640X480 images?
Hi @plutoyuxie, The GPU I am using is GeForce GTX 960M with 4GB memory. I think your NVIDIA GPU can deal with the default images. However I did not test it with other datasets.
@YanhaoZhang Thanks for your contributions and I follow your instructions, but unluckily, I get:
UILD__ instead."" is not valid in preprocessor expressions
#define CUDACC_VER "CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."
^
/usr/local/cuda-9.0/include/crt/common_functions.h:64:24: error: token ""CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."" is not valid in preprocessor expressions
#define CUDACC_VER "CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."
^
In file included from /usr/local/cuda-9.0/include/common_functions.h:50:0,
from /usr/local/cuda-9.0/include/cuda_runtime.h:115,
from :0:
/usr/local/cuda-9.0/include/crt/common_functions.h:64:24: error: token ""CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."" is not valid in preprocessor expressions
#define CUDACC_VER "CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."
^
In file included from /usr/local/cuda-9.0/include/common_functions.h:50:0,
from /usr/local/cuda-9.0/include/cuda_runtime.h:115,
from :0:
/usr/local/cuda-9.0/include/crt/common_functions.h:64:24: error: token ""CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."" is not valid in preprocessor expressions
#define CUDACC_VER "CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."
^
/usr/local/cuda-9.0/include/crt/common_functions.h:64:24: error: token ""CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."" is not valid in preprocessor expressions
#define CUDACC_VER "CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."
^
In file included from /usr/local/cuda-9.0/include/common_functions.h:50:0,
from /usr/local/cuda-9.0/include/cuda_runtime.h:115,
from :0:
/usr/local/cuda-9.0/include/crt/common_functions.h:64:24: error: token ""CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."" is not valid in preprocessor expressions
#define CUDACC_VER "CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."
^
/usr/local/cuda-9.0/include/crt/common_functions.h:64:24: error: token ""CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."" is not valid in preprocessor expressions
#define CUDACC_VER "CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."
^
/usr/local/cuda-9.0/include/crt/common_functions.h:64:24: error: token ""CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."" is not valid in preprocessor expressions
#define CUDACC_VER "CUDACC_VER is no longer supported. Use CUDACC_VER_MAJOR, CUDACC_VER_MINOR, and CUDACC_VER_BUILD instead."
^
CMake Error at kfusion_generated_proj_icp.cu.o.cmake:226 (message):
Error generating
/home/dms/miaoweiw/sobfu-master/build/src/kfusion/CMakeFiles/kfusion.dir/cuda/./kfusion_generated_proj_icp.cu.o
CMake Error at kfusion_generated_imgproc.cu.o.cmake:226 (message):
Error generating
/home/dms/miaoweiw/sobfu-master/build/src/kfusion/CMakeFiles/kfusion.dir/cuda/./kfusion_generated_imgproc.cu.o
src/kfusion/CMakeFiles/kfusion.dir/build.make:77: recipe for target 'src/kfusion/CMakeFiles/kfusion.dir/cuda/kfusion_generated_proj_icp.cu.o' failed
make[2]: *** [src/kfusion/CMakeFiles/kfusion.dir/cuda/kfusion_generated_proj_icp.cu.o] Error 1
make[2]: *** Waiting for unfinished jobs....
src/kfusion/CMakeFiles/kfusion.dir/build.make:63: recipe for target 'src/kfusion/CMakeFiles/kfusion.dir/cuda/kfusion_generated_imgproc.cu.o' failed
make[2]: *** [src/kfusion/CMakeFiles/kfusion.dir/cuda/kfusion_generated_imgproc.cu.o] Error 1
CMake Error at kfusion_generated_marching_cubes.cu.o.cmake:226 (message):
Error generating
/home/dms/miaoweiw/sobfu-master/build/src/kfusion/CMakeFiles/kfusion.dir/cuda/./kfusion_generated_marching_cubes.cu.o
src/kfusion/CMakeFiles/kfusion.dir/build.make:70: recipe for target 'src/kfusion/CMakeFiles/kfusion.dir/cuda/kfusion_generated_marching_cubes.cu.o' failed
make[2]: *** [src/kfusion/CMakeFiles/kfusion.dir/cuda/kfusion_generated_marching_cubes.cu.o] Error 1
CMake Error at kfusion_generated_tsdf_volume.cu.o.cmake:226 (message):
Error generating
/home/dms/miaoweiw/sobfu-master/build/src/kfusion/CMakeFiles/kfusion.dir/cuda/./kfusion_generated_tsdf_volume.cu.o
src/kfusion/CMakeFiles/kfusion.dir/build.make:84: recipe for target 'src/kfusion/CMakeFiles/kfusion.dir/cuda/kfusion_generated_tsdf_volume.cu.o' failed
make[2]: *** [src/kfusion/CMakeFiles/kfusion.dir/cuda/kfusion_generated_tsdf_volume.cu.o] Error 1
CMakeFiles/Makefile2:109: recipe for target 'src/kfusion/CMakeFiles/kfusion.dir/all' failed
make[1]: *** [src/kfusion/CMakeFiles/kfusion.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
make complete!
dms@dms-All-Series:/miaoweiw/sobfu-master$ source setup.sh -a^C/miaoweiw/sobfu-master$
dms@dms-All-Series:
Hi @wangmiaowei, sorry I haven't play with sobfu for quite a while. Maybe because I use a quite old laptop. Besides, I tested this code on ubuntu 16.04
Thanks @YanhaoZhang I have fixed all the bugs since I just reboot my computer and restart building all the programs.
When I run the code line ./build/bin/app /path/to/data /path/to/params with the umbrella data. It seems this is the only running output:
iter. no. 900
iter. no. 950
iter. no. 1000
iter. no. 1050
iter. no. 1100
iter. no. 1150
iter. no. 1200
iter. no. 1250
iter. no. 1300
iter. no. 1350
iter. no. 1400
iter. no. 1450
iter. no. 1500
iter. no. 1550
iter. no. 1600
iter. no. 1650
iter. no. 1700
iter. no. 1750
iter. no. 1800
iter. no. 1850
iter. no. 1900
iter. no. 1950
iter. no. 2000
Is there any other visual effect like dynamic fusion ? Or is there any final output .ply ?
When I run the code line ./build/bin/app /path/to/data /path/to/params with the umbrella data. It seems this is the only running output:
iter. no. 900
iter. no. 950
iter. no. 1000
iter. no. 1050
iter. no. 1100
iter. no. 1150
iter. no. 1200
iter. no. 1250
iter. no. 1300
iter. no. 1350
iter. no. 1400
iter. no. 1450
iter. no. 1500
iter. no. 1550
iter. no. 1600
iter. no. 1650
iter. no. 1700
iter. no. 1750
iter. no. 1800
iter. no. 1850
iter. no. 1900
iter. no. 1950
iter. no. 2000
Is there any other visual effect like dynamic fusion ? Or is there any final output .ply ?
hi , have you solved this problem? I meet the same
I am having the same problem. I published it today as a new issue #16