You are not logged in.

#1 2014-07-11 21:20:29

matyilona200
Member
Registered: 2012-06-21
Posts: 77

gpuocelot-svn installation problem

When I try to make gpuocelot from the AUR, it fails to build. The PKGBUID  has

build()
 { 
   cd "$srcdir/$pkgname"
   
   patch -p0 < "$srcdir/lib_mt_fix.patch"
   
   CORE_COUNT=$(nproc)
   msg "build using ${CORE_COUNT} cores..."
   
   python2 build.py -j ${CORE_COUNT} --install -p"$srcdir/build" || (
     msg "resolving error in ptxgrammar.hpp and trying again..."
     read
     patch -p0 < "$srcdir/ptxgrammar_fix.patch"
     python2 build.py -j ${CORE_COUNT} --install -p"$srcdir/build"
   )

The python2 build.py -j ${CORE_COUNT} --install -p"$srcdir/build" part fails with

g++ -o .release_build/ocelot/ir/implementation/Module.os -c -O2 -Wall -std=c++0x -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -I. -I/usr/include -I/usr/include -I.release_build -I. ocelot/ir/implementation/Module.cpp
In file included from ./ocelot/parser/interface/PTXLexer.h:11:0,
                 from ./ocelot/parser/interface/PTXParser.h:16,
                 from ocelot/ir/implementation/Module.cpp:10:
.release_build/ptxgrammar.hpp:352:14: error: 'PTXLexer' is not a member of 'parser'
 int yyparse (parser::PTXLexer& lexer, parser::PTXParser::State& state);
              ^
.release_build/ptxgrammar.hpp:352:32: error: 'lexer' was not declared in this scope
 int yyparse (parser::PTXLexer& lexer, parser::PTXParser::State& state);
                                ^
.release_build/ptxgrammar.hpp:352:47: error: 'parser::PTXParser' has not been declared
 int yyparse (parser::PTXLexer& lexer, parser::PTXParser::State& state);
                                               ^
.release_build/ptxgrammar.hpp:352:65: error: 'state' was not declared in this scope
 int yyparse (parser::PTXLexer& lexer, parser::PTXParser::State& state);
                                                                 ^
.release_build/ptxgrammar.hpp:352:70: error: expression list treated as compound expression in initializer [-fpermissive]
 int yyparse (parser::PTXLexer& lexer, parser::PTXParser::State& state);
                                                                      ^
g++ -o .release_build/ocelot/ir/implementation/PTXInstruction.os -c -O2 -Wall -std=c++0x -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -I. -I/usr/include -I/usr/include -I.release_build -I. ocelot/ir/implementation/PTXInstruction.cpp
scons: *** [.release_build/ocelot/ir/implementation/Module.os] Error 1
Build failed...
Build failed
==> resolving error in ptxgrammar.hpp and trying again...

wich is excepted, but after patching ptrxgrammer.hpp it fails again with

g++ -o .release_build/ocelot/analysis/implementation/CycleAnalysis.os -c -O2 -Wall -std=c++0x -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -I. -I/usr/include -I/usr/include -I.release_build -I. ocelot/analysis/implementation/CycleAnalysis.cpp
ocelot/analysis/implementation/ControlTree.cpp: In member function 'bool analysis::ControlTree::_interact(const NodeVector&, const NodeVector&)':
ocelot/analysis/implementation/ControlTree.cpp:880:21: error: invalid initialization of non-const reference of type 'analysis::ControlTree*&' from an rvalue of type 'analysis::ControlTree*'
      boost::ref(this), _1, _2));
                     ^
In file included from /usr/include/boost/bind/bind.hpp:25:0,
                 from /usr/include/boost/bind.hpp:22,
                 from ocelot/analysis/implementation/ControlTree.cpp:23:
/usr/include/boost/ref.hpp:64:63: note: in passing argument 1 of 'const boost::reference_wrapper<T> boost::ref(T&) [with T = analysis::ControlTree*]'
 template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
                                                               ^
ocelot/analysis/implementation/ControlTree.cpp:886:21: error: invalid initialization of non-const reference of type 'analysis::ControlTree*&' from an rvalue of type 'analysis::ControlTree*'
      boost::ref(this), _1, _2));
                     ^
In file included from /usr/include/boost/bind/bind.hpp:25:0,
                 from /usr/include/boost/bind.hpp:22,
                 from ocelot/analysis/implementation/ControlTree.cpp:23:
/usr/include/boost/ref.hpp:64:63: note: in passing argument 1 of 'const boost::reference_wrapper<T> boost::ref(T&) [with T = analysis::ControlTree*]'
 template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
                                                               ^
ocelot/analysis/implementation/ControlTree.cpp:892:21: error: invalid initialization of non-const reference of type 'analysis::ControlTree*&' from an rvalue of type 'analysis::ControlTree*'
      boost::ref(this), _1, _2));
                     ^
In file included from /usr/include/boost/bind/bind.hpp:25:0,
                 from /usr/include/boost/bind.hpp:22,
                 from ocelot/analysis/implementation/ControlTree.cpp:23:
/usr/include/boost/ref.hpp:64:63: note: in passing argument 1 of 'const boost::reference_wrapper<T> boost::ref(T&) [with T = analysis::ControlTree*]'
 template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
                                                               ^
ocelot/analysis/implementation/ControlTree.cpp: In member function 'analysis::ControlTree::NodeVector analysis::ControlTree::_minimal_hammock_graph(const Edge&)':
ocelot/analysis/implementation/ControlTree.cpp:928:24: error: invalid initialization of non-const reference of type 'analysis::ControlTree*&' from an rvalue of type 'analysis::ControlTree*'
         boost::ref(this), _1, _2));In file included from /usr/include/boost/bind/bind.hpp:25:0,
                 from /usr/include/boost/bind.hpp:22,
                 from ocelot/analysis/implementation/ControlTree.cpp:23:
/usr/include/boost/ref.hpp:64:63: note: in passing argument 1 of 'const boost::reference_wrapper<T> boost::ref(T&) [with T = analysis::ControlTree*]'
 template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
                                                               ^
ocelot/analysis/implementation/ControlTree.cpp: In member function 'bool analysis::ControlTree::_forward_copy(analysis::ControlTree::Node*)':
ocelot/analysis/implementation/ControlTree.cpp:1143:24: error: invalid initialization of non-const reference of type 'analysis::ControlTree*&' from an rvalue of type 'analysis::ControlTree*'
         boost::ref(this), _1, _2));
                        ^
In file included from /usr/include/boost/bind/bind.hpp:25:0,
                 from /usr/include/boost/bind.hpp:22,
                 from ocelot/analysis/implementation/ControlTree.cpp:23:
/usr/include/boost/ref.hpp:64:63: note: in passing argument 1 of 'const boost::reference_wrapper<T> boost::ref(T&) [with T = analysis::ControlTree*]'
 template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
                                                               ^
ocelot/analysis/implementation/ControlTree.cpp:1150:24: error: invalid initialization of non-const reference of type 'analysis::ControlTree*&' from an rvalue of type 'analysis::ControlTree*'
         boost::ref(this), _1, _2));
                        ^
In file included from /usr/include/boost/bind/bind.hpp:25:0,
                 from /usr/include/boost/bind.hpp:22,
                 from ocelot/analysis/implementation/ControlTree.cpp:23:
/usr/include/boost/ref.hpp:64:63: note: in passing argument 1 of 'const boost::reference_wrapper<T> boost::ref(T&) [with T = analysis::ControlTree*]'
 template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
                                                               ^
ocelot/analysis/implementation/ControlTree.cpp:1157:24: error: invalid initialization of non-const reference of type 'analysis::ControlTree*&' from an rvalue of type 'analysis::ControlTree*'
         boost::ref(this), _1, _2));
                        ^
In file included from /usr/include/boost/bind/bind.hpp:25:0,
                 from /usr/include/boost/bind.hpp:22,
                 from ocelot/analysis/implementation/ControlTree.cpp:23:
/usr/include/boost/ref.hpp:64:63: note: in passing argument 1 of 'const boost::reference_wrapper<T> boost::ref(T&) [with T = analysis::ControlTree*]'
 template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
                                                               ^
ocelot/analysis/implementation/ControlTree.cpp:1170:24: error: invalid initialization of non-const reference of type 'analysis::ControlTree*&' from an rvalue of type 'analysis::ControlTree*'         boost::ref(this), _1, _2));
                        ^
In file included from /usr/include/boost/bind/bind.hpp:25:0,
                 from /usr/include/boost/bind.hpp:22,
                 from ocelot/analysis/implementation/ControlTree.cpp:23:
/usr/include/boost/ref.hpp:64:63: note: in passing argument 1 of 'const boost::reference_wrapper<T> boost::ref(T&) [with T = analysis::ControlTree*]'
 template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
                                                               ^
scons: *** [.release_build/ocelot/analysis/implementation/ControlTree.os] Error 1
Build failed...

The lib_mt_fix patch is for correcting this problem. Is it an other problem with boost? Any pointers are appreciated.

Offline

#2 2014-07-14 20:37:28

matyilona200
Member
Registered: 2012-06-21
Posts: 77

Re: gpuocelot-svn installation problem

I couldn't get gpuocelot to install under Arch, from the AUR or from source. I set up a debian chroot, and installed it there, now it's working fine.

Offline

Board footer

Powered by FluxBB