Dear Marc,
These problems are very probably caused by the use of your version of GCC, which is much more recent than the one we used to compile these version of the librairies. I do not have GCC 4.7 at hand, my Mac is still on 4.2 (Apple version), but the fixes should be light to do. It is mostly a matter of adapting the code to GCC 4.7.
As for the stable version, it is probably required to add some headers, in order to get the exit and memset functions within the current scope. Similar problems arised in the past, when we moved toward a more recent version of GCC.
As for the development version, it is less obvious, but may again be caused by a change in the behaviour of GCC 4.7 vs the older versions. From what I get of the error message, the following one it quite interesting.
> note: declarations in dependent base ‘std::vector<std::pair<double, unsigned int> >’ are not found by unqualified lookup
> note: use ‘this->push_back’ instead
It tells what it tells. I would suggest you to replace the push_back call at RouletteT.hpp:89:3 by this->push_back and see whether that fix the problem.
Best,
Christian
On 2013-02-13, at 6:30 AM, Marc Segond <
gnum...@gmail.com> wrote:
> Dear Christian,
> I send you this email to ask for some help installing openBeagle. I am trying to use it and downloaded both the stable and alpha versions, and I cannot manage to have them compile.
> For the stable version, the ./configure step goes well, but then the make gives me this error which I cannot figure out where it comes from:
>
> In file included from libpacc-util.cpp:5:0:
> SignalHandler.cpp: In static member function 'static void PACC::SignalHandler::popAction(PACC::SignalHandler::SignalType)':
> SignalHandler.cpp:142:2: error: 'exit' was not declared in this scope
> SignalHandler.cpp:144:2: error: 'exit' was not declared in this scope
> SignalHandler.cpp:153:2: error: 'exit' was not declared in this scope
> SignalHandler.cpp: In static member function 'static void PACC::SignalHandler::pushAction(PACC::SignalHandler::SignalType)':
> SignalHandler.cpp:161:2: error: 'exit' was not declared in this scope
> SignalHandler.cpp: In static member function 'static void PACC::SignalHandler::runAction(int)':
> SignalHandler.cpp:171:2: error: 'exit' was not declared in this scope
> SignalHandler.cpp:172:2: error: 'exit' was not declared in this scope
> SignalHandler.cpp: In member function 'void PACC::SignalHandler::setCustomAction(PACC::SignalHandler::SignalType)':
> SignalHandler.cpp:186:2: error: 'exit' was not declared in this scope
> SignalHandler.cpp: In static member function 'static void PACC::SignalHandler::setDefaultAction(PACC::SignalHandler::SignalType)':
> SignalHandler.cpp:208:2: error: 'exit' was not declared in this scope
> SignalHandler.cpp: In static member function 'static void PACC::SignalHandler::setIgnoreAction(PACC::SignalHandler::SignalType)':
> SignalHandler.cpp:229:2: error: 'exit' was not declared in this scope
> In file included from libpacc-util.cpp:7:0:
> Tokenizer.cpp: In member function 'bool PACC::Tokenizer::getNextToken(std::string&)':
> Tokenizer.cpp:93:2: error: 'exit' was not declared in this scope
> Tokenizer.cpp: In member function 'int PACC::Tokenizer::peekNextChar()':
> Tokenizer.cpp:188:2: error: 'exit' was not declared in this scope
> Tokenizer.cpp: In member function 'void PACC::Tokenizer::putbackToken(const string&)':
> Tokenizer.cpp:204:2: error: 'exit' was not declared in this scope
> Tokenizer.cpp: In member function 'void PACC::Tokenizer::setDelimiters(const string&, const string&)':
> Tokenizer.cpp:228:44: error: 'memset' was not declared in this scope
> Tokenizer.cpp:233:3: error: 'exit' was not declared in this scope
> make[2]: *** [libpacc-util.lo] Error 1
> make[2]: Leaving directory `/home/marc/beagle-3.0.3/PACC/Util'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/marc/beagle-3.0.3/PACC'
> make: *** [all-recursive] Error 1
>
> Concerning the Alpha version, the cmake . goes well, but then the make gives me this error:
>
> In file included from /home/marc/OpenBEAGLE-4.0.0-alpha2-Source/src/beagle/Beagle.hpp:111:0,
> from /home/marc/OpenBEAGLE-4.0.0-alpha2-Source/src/beagle/SelectRouletteOp.cpp:36:
> /home/marc/OpenBEAGLE-4.0.0-alpha2-Source/src/beagle/RouletteT.hpp: In instantiation of ‘void Beagle::RouletteT<T>::insert(const T&, double) [with T = unsigned int]’:
> /home/marc/OpenBEAGLE-4.0.0-alpha2-Source/src/beagle/SelectRouletteOp.cpp:64:43: required from here
> /home/marc/OpenBEAGLE-4.0.0-alpha2-Source/src/beagle/RouletteT.hpp:89:3: error: ‘push_back’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
> /home/marc/OpenBEAGLE-4.0.0-alpha2-Source/src/beagle/RouletteT.hpp:89:3: note: declarations in dependent base ‘std::vector<std::pair<double, unsigned int> >’ are not found by unqualified lookup
> /home/marc/OpenBEAGLE-4.0.0-alpha2-Source/src/beagle/RouletteT.hpp:89:3: note: use ‘this->push_back’ instead
> make[2]: *** [CMakeFiles/openbeagle.dir/src/beagle/SelectRouletteOp.cpp.o] Error 1
> make[1]: *** [CMakeFiles/openbeagle.dir/all] Error 2
> make: *** [all] Error 2
>
> I am using the latest Ubuntu with g++ 4.7.2
>
> I would greatly appreciate any advice on what I might be doing wrong.
>
> Best regards
>
> Marc
>
> --
> Dr. Marc Segond, Post-doctoral researcher
>
> Ambrosys GmbH - Gesellschaft für Management komplexer Systeme
> Geschwister-Scholl-Str. 63a
> D-14471 Potsdam
>
> Tel:
+49 15224130212
>
> Ambrosys GmbH - Gesellschaft für Management komplexer Systems
> Gesellschaft mit beschränkter Haftung
> Sitz der Gesellschaft: Geschwister-Scholl-Str. 63a, 14471 Potsdam
> Registergericht: Amtsgericht Potsdam, HRB 21228 P
> Geschäftsführer: Karsten Ahnert, Markus Abel
>
--
Christian Gagné
http://vision.gel.ulaval.ca/~cgagne