Menu

Problems building on Ubuntu 12.04

Ivana
2014-02-21
2014-06-09
  • Ivana

    Ivana - 2014-02-21

    Hi Bastian,
    Thanks so much for sharing your research code. I tried to install it on Ubuntu 12.04 (with a GeForce GTX 580 card and Nvidia toolkit 5.5). The configure script did not report any problems and the compute capability is 2. However, when I run make I get the following error:
    main.cpp:247:38: error: too many arguments to function ‘herr_t H5Eset_auto1(H5E_auto1_t, void*)’
    /usr/include/H5Epublic.h:216:15: note: declared here
    I have the libhdf5-serial-dev as required in the prerequisites, so I'm not sure why I'm getting this error. Do you maybe have any ideas why I get this error? Any help is welcome.
    Thanks!
    Ivana

     
  • Bastian Goldluecke

    Hi Ivana,

    unfortunately, the people responsible for the HDF5 library decided to change the interface of some functions sometime between the version shipped with Ubuntu 12.04 and Ubuntu 13.04.

    Thus, around a year ago, I changed cocolib to compile with the newer versions of the HDF5 library, which broke compilation on older Ubuntus. Accordingly, what you need to do is make sure that you have a recent version of libhdf5 compiled somewhere locally, and that this version is what the compiler will use by adapting the respective include/lib paths in the ".pro" files (since I guess changing the HDF5 lib globally for the system will break stuff).

    Cheers, hope that helps,
    Bastian

     
  • Ivana

    Ivana - 2014-02-22

    Thanks Bastian, that was indeed helpful. I've managed to build it with the HDF5 1.18.2. However, when I run the test_lightfield_suite.sh script, I get an out of memory error for the GPU. I have a GeForce GTX580, so it's not one of the latests GPUs, but it still has compute capability > 1.3 (2.0).

    I was wondering, is there a way to use the cocolib without the GPU?
    Thanks,
    Ivana

     
  • Bastian Goldluecke

    Hi Ivana,

    unfortunately it's a GPU library, so no way to use it without at the moment. Some of the light field algorithms are very memory intensive, but might offer additional config options to trade off memory requirements for time (i.e. by keeping some stuff in main memory and swapping it in when needed). You could also reduce resolution - check the config file which failed and see if it offers any options (or if you even need that particular algorithm).

    Cheers, Bastian

     
  • Christian Deus Cayao

    Hi Bastian,

    I replied to this because I have experienced the same problem as Ivana and once I have somehow fixed the HDF5 problem I ran into this.

    lightfield_labeling.cu(527): error: too many arguments in function call

    1 error detected in the compilation of "/tmp/tmpxft_00001d29_00000000-4_lightfield_labeling.cpp1.ii".
    make[1]: [obj/lightfield_labeling_cuda.obj] Error 2
    make[1]:
    Waiting for unfinished jobs....
    lightfield_segmentation.cu(229): error: too many arguments in function call

    1 error detected in the compilation of "/tmp/tmpxft_00001d3f_00000000-4_lightfield_segmentation.cpp1.ii".
    make[1]: *** [obj/lightfield_segmentation_cuda.obj] Error 2

    Any ideas?

    Thanks.
    Best regards,

    Christian

     
    • Bastian Goldluecke

      Hi Christian,

      I checked the offending line of code, and it looks like you still have a problem with the HDF5 libraries - the function "H5Dopen" which caused compilation to fail had 2 arguments in the old HDF5 library, but 3 in the new ones.

      Since it seems you were able to compile the main library if you managed to get to that point, maybe you changed an include path to point to the new HDF5 lib in one project file, but not in the other ones?

      Cheers,
      Bastian

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.