Menu

error on make on Linux (Ubuntu Precise)

Help
B. Bogart
2013-08-30
2015-05-13
  • B. Bogart

    B. Bogart - 2013-08-30

    ./configure behaves well, though I had to separately install boost and libnetcdf to actually make. Now I'm getting these errors:

    make
    make all-recursive
    make[1]: Entering directory /home/bbogart/src/rnnlib_source_forge_version' Making all in src make[2]: Entering directory/home/bbogart/src/rnnlib_source_forge_version/src'
    g++ -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT Main.o -MD -MP -MF .deps/Main.Tpo -c -o Main.o Main.cpp
    In file included from MultiArray.hpp:30:0,
    from SeqBuffer.hpp:21,
    from Layer.hpp:22,
    from InputLayer.hpp:21,
    from Mdrnn.hpp:21,
    from MultilayerNet.hpp:21,
    from Main.cpp:20:
    Helpers.hpp: In function ‘boost::integer_range<typename boost::range_size<T="">::type> indices(const R&) [with R = std::vector<int>, typename boost::range_size<T>::type = long unsigned int]’:
    Mdrnn.hpp:282:5: instantiated from here
    Helpers.hpp:346:28: error: could not convert ‘span with T = long int)’ from ‘boost::integer_range<long int="">’ to ‘boost::integer_range<long unsigned="" int="">’
    Helpers.hpp: In function ‘boost::integer_range<typename boost::range_size<T="">::type> indices(const R&) [with R = std::vector<Layer*>, typename boost::range_size<T>::type = long unsigned int]’:
    Mdrnn.hpp:301:3: instantiated from here
    Helpers.hpp:346:28: error: could not convert ‘span with T = long int)’ from ‘boost::integer_range<long int="">’ to ‘boost::integer_range<long unsigned="" int="">’
    Helpers.hpp: In function ‘boost::integer_range<typename boost::range_size<T="">::type> indices(const R&) [with R = std::vector<std::vector<int> >, typename boost::range_size<T>::type = long unsigned int]’:
    ClassificationLayer.hpp:75:3: instantiated from here
    Helpers.hpp:346:28: error: could not convert ‘span with T = long int)’ from ‘boost::integer_range<long int="">’ to ‘boost::integer_range<long unsigned="" int="">’
    Helpers.hpp: In function ‘boost::integer_range<typename boost::range_size<T="">::type> indices(const R&) [with R = std::vector<double>, typename boost::range_size<T>::type = long unsigned int]’:
    SteepestDescent.hpp:51:9: instantiated from here
    Helpers.hpp:346:28: error: could not convert ‘span with T = long int)’ from ‘boost::integer_range<long int="">’ to ‘boost::integer_range<long unsigned="" int="">’
    Helpers.hpp: In function ‘boost::integer_range<typename boost::range_size<T="">::type> indices(const R&) [with R = Vector<double>, typename boost::range_size<T>::type = long unsigned int]’:
    Trainer.hpp:198:9: instantiated from here
    Helpers.hpp:346:28: error: could not convert ‘span with T = long int)’ from ‘boost::integer_range<long int="">’ to ‘boost::integer_range<long unsigned="" int="">’
    Helpers.hpp: In function ‘boost::integer_range<typename boost::range_size<T="">::type> indices(const R&) [with R = Vector<long unsigned="" int="">, typename boost::range_size<T>::type = long unsigned int]’:
    SeqBuffer.hpp:104:3: instantiated from ‘void CoordIterator<R>::begin() [with R = const std::vector<long unsigned="" int="">]
    BlockLayer.hpp:67:28: instantiated from here
    Helpers.hpp:346:28: error: could not convert ‘span with T = long int)’ from ‘boost::integer_range<long int="">’ to ‘boost::integer_range<long unsigned="" int="">’
    make[2]: [Main.o] Error 1
    make[2]: Leaving directory /home/bbogart/src/rnnlib_source_forge_version/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/home/bbogart/src/rnnlib_source_forge_version'
    make:
    [all] Error 2

     
  • Erik Talvitie

    Erik Talvitie - 2013-09-07

    I am not in any way affiliated with this project, so I offer this with no warrantee, but I ran into the same issue and I think I've fixed it.

    The problem is in the "indices" function in Helpers.hpp. On line 344, change range_size to range_difference, and it should compile.

    The problem is that boost::size<R> returns a range_difference<R>::type, not a range_size<R>::type. It could be that this is a recent change to Boost, so if Alex was using an outdated version of Boost, he wouldn't have caught it.

     

    Last edit: Erik Talvitie 2013-09-07
  • RyhonWang

    RyhonWang - 2014-01-11

    Me too, I used to boost-1_48, but solved by up method! thank you!!!

     
  • Anonymous

    Anonymous - 2014-06-13

    Thank you. I was also able to compile making that change in Helpers.cpp

     
  • kayvan

    kayvan - 2015-05-13

    But i have this problem ,too. i 've chaned my code accroding up ,but nothing had been changed.
    Additionally i have got boost 1.36, boost 1.46 and also boost 1.48 ,but i 've not reached success.
    Please help me,Thanks .

     

Log in to post a comment.