Help building COLLADA DOM on Ubuntu

Hi,

I’m having problems compiling domTest included with the DOM files from the Subversion repository.

Here is the error message:

Any suggestions?

I checked in dom/external-libs, and I definitely have the files.

Thanks,


Compiling src/1.4/dom/domVisual_scene.cpp to build/linux-1.4/obj/domVisual_scene.o
Creating build/linux-1.4/libcollada14dom.a
Linking build/linux-1.4/libcollada14dom.so.2.0
Compiling test/domTest.cpp to build/linux-1.4/obj/domTest.o
In file included from test/domTest.cpp:24:
test/domTest.h:22:44: error: boost/filesystem/convenience.hpp: No such file or directory
test/domTest.h:29: error: ‘boost’ has not been declared
test/domTest.h:29: error: expected constructor, destructor, or type conversion before ‘&’ token
test/domTest.h:30: error: ‘boost’ has not been declared
test/domTest.h:30: error: expected constructor, destructor, or type conversion before ‘&’ token
test/domTest.cpp:26: error: ‘boost’ has not been declared
test/domTest.cpp:26: error: ‘filesystem’ is not a namespace-name
test/domTest.cpp:26: error: expected namespace-name before ‘;’ token
test/domTest.cpp:57: error: ‘fs’ has not been declared
test/domTest.cpp:57: error: expected constructor, destructor, or type conversion before ‘&’ token
test/domTest.cpp:62: error: ‘fs’ has not been declared
test/domTest.cpp:62: error: expected constructor, destructor, or type conversion before ‘&’ token
test/domTest.cpp: In function ‘std::string lookupTestFile(const std::string&)’:
test/domTest.cpp:76: error: ‘dataPath’ was not declared in this scope
test/domTest.cpp: In function ‘std::string getTmpFile(const std::string&)’:
test/domTest.cpp:80: error: ‘tmpPath’ was not declared in this scope
test/domTest.cpp: In function ‘std::string getRoundTripFile(const std::string&)’:
test/domTest.cpp:269: error: ‘fs’ has not been declared
test/domTest.cpp:269: error: ‘fs’ has not been declared
test/domTest.cpp: In member function ‘virtual testResult domTest_rawSupport::run()’:
test/domTest.cpp:301: error: ‘fs’ has not been declared
test/domTest.cpp:301: error: ‘fs’ has not been declared
test/domTest.cpp: In member function ‘virtual testResult domTest_genericOps::run()’:
test/domTest.cpp:712: error: ‘fs’ has not been declared
test/domTest.cpp:712: error: ‘fs’ has not been declared
test/domTest.cpp: In function ‘bool printTestResults(const std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, testResult, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, testResult> > >&)’:
test/domTest.cpp:1120: error: ‘fs’ has not been declared
test/domTest.cpp: At global scope:
test/domTest.cpp:1139: error: ‘fs’ has not been declared
test/domTest.cpp:1139: error: ISO C++ forbids declaration of ‘path’ with no type
test/domTest.cpp:1139: error: expected ‘;’ before ‘path’
test/domTest.cpp:1142: error: ‘fs’ has not been declared
test/domTest.cpp:1142: error: expected `)' before ‘&’ token
test/domTest.cpp: In destructor ‘tmpDir::~tmpDir()’:
test/domTest.cpp:1150: error: ‘fs’ has not been declared
test/domTest.cpp:1150: error: ‘path’ was not declared in this scope
test/domTest.cpp: In function ‘int main(int, char**)’:
test/domTest.cpp:1190: error: ‘dataPath’ was not declared in this scope
test/domTest.cpp:1190: error: ‘fs’ has not been declared
test/domTest.cpp:1191: error: ‘tmpPath’ was not declared in this scope

[/quote]

The test app uses the boost filesystem lib, which you can install on Ubuntu with “apt-get install libboost-filesystem-dev”. The DOM itself doesn’t use this lib, which is why I didn’t mention it in the setting up guide. I’ll be re-working the docs soon and I’ll be sure to mention this.

Steve

Also, the documentation for building the DOM on Linux in the setting up guide is slightly out of date. I’ve improved and simplified the makefiles, and there’s a readme available that comes with the DOM. I’ll be updating the docs soon.

Thanks Steve - that did the trick.

David