I am having problems trying to run the examples in the CIGI Class Library on Scientific Linux 6.2 64bit and I would appreciate any assistance.
I downloaded ccl_3_3_3.tar.gz and extracted it into /tmp. `./configure && make` had no errors so as root I installed it with `make install`. I then did a cd into /tmp/cigi/ccl/examples/CigiMiniHost and I had to resolve a few issues.
First: `export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:$PKG_CONFIG_PATH` in order for pkg-config to work. I don't know why it doesn't automatically pick it up.
Second: Build TinyXML. I used tinyxml_2_6_2.zip and extracted it into /tmp/cigi/ccl/examples/tinyxml. Inside that directory I ran `make` and then `ar rc TinyXML.a tinyxmlerror.o tinystr.o tinyxml.o tinyxmlparse.o` to create the TinyXML.a file required by CigiMiniHost makefile.
Back in the /tmp/cigi/ccl/examples/CigiMiniHost directory I can now run make without errors.
_____________________________________________________
We have attempted to debug this with gdb - it seems to be crashing when the call to ReadConfig() returns in the main() program (in MiniHost.cpp). Just before it crashes, the debugger has us inside tinyxml.h on a call to ~TiXmlDocument() (line 1409). The exact same thing happens when we try to run DummyIG. So far, we can't figure out what is wrong. I was hoping maybe someone here could help us out.
Thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I followed the process you've described, building TinyXML.a in the same manner, from the same version of TinyXML (2.6.2). I experienced the same crasher.
I repeated the process with an older TinyXML (2.4.2), which was compiled differently (built as a .so instead of statically, and with different options). The crash did not manifest.
To eliminate linking weirdness as the culprit, I built everything into one binary, skipping the TinyXML.a step. This also gained me debug symbols in tinyxml.
Crashing again. Valgrind now reveals that it's dying while trying to delete some std::strings. Looking at the code reveals that MiniHost.cpp is defining TINYXML_USE_STL and TIXML_USE_STL, yet tinyxml was *not* built with these options enabled.
Recompiling with these options forced via the compiler command line:
In summary, tinyxml is being built without TINYXML_USE_STL/TIXML_USE_STL, but MiniHost.cpp is setting those options anyway.
You're not the first to have problems with tinyxml and the ccl examples. XML is totally overkill for parsing a config file containing 7 variables, so we should probably switch to a simpler config format and manually parsing it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello
I am having problems trying to run the examples in the CIGI Class Library on Scientific Linux 6.2 64bit and I would appreciate any assistance.
I downloaded ccl_3_3_3.tar.gz and extracted it into /tmp. `./configure && make` had no errors so as root I installed it with `make install`. I then did a cd into /tmp/cigi/ccl/examples/CigiMiniHost and I had to resolve a few issues.
First: `export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:$PKG_CONFIG_PATH` in order for pkg-config to work. I don't know why it doesn't automatically pick it up.
Second: Build TinyXML. I used tinyxml_2_6_2.zip and extracted it into /tmp/cigi/ccl/examples/tinyxml. Inside that directory I ran `make` and then `ar rc TinyXML.a tinyxmlerror.o tinystr.o tinyxml.o tinyxmlparse.o` to create the TinyXML.a file required by CigiMiniHost makefile.
Back in the /tmp/cigi/ccl/examples/CigiMiniHost directory I can now run make without errors.
_____________________________________________________
_____________________________________________________
An `ls` shows CigiMiniHost. Great! Until I try to run it that is…
_____________________________________________________
_____________________________________________________
We have attempted to debug this with gdb - it seems to be crashing when the call to ReadConfig() returns in the main() program (in MiniHost.cpp). Just before it crashes, the debugger has us inside tinyxml.h on a call to ~TiXmlDocument() (line 1409). The exact same thing happens when we try to run DummyIG. So far, we can't figure out what is wrong. I was hoping maybe someone here could help us out.
Thanks!
I followed the process you've described, building TinyXML.a in the same manner, from the same version of TinyXML (2.6.2). I experienced the same crasher.
I repeated the process with an older TinyXML (2.4.2), which was compiled differently (built as a .so instead of statically, and with different options). The crash did not manifest.
To eliminate linking weirdness as the culprit, I built everything into one binary, skipping the TinyXML.a step. This also gained me debug symbols in tinyxml.
Crashing again. Valgrind now reveals that it's dying while trying to delete some std::strings. Looking at the code reveals that MiniHost.cpp is defining TINYXML_USE_STL and TIXML_USE_STL, yet tinyxml was *not* built with these options enabled.
Recompiling with these options forced via the compiler command line:
…produces a binary that actually works.
In summary, tinyxml is being built without TINYXML_USE_STL/TIXML_USE_STL, but MiniHost.cpp is setting those options anyway.
You're not the first to have problems with tinyxml and the ccl examples. XML is totally overkill for parsing a config file containing 7 variables, so we should probably switch to a simpler config format and manually parsing it.