Gondos
Active member
Thanks for the update, but still no luck with the conan build. Got lots of undefined references as if OpenSceneGraph was not linked against correctly :@Gondos I pushed some updates:
- updates to the Skybolt v1.2 branch to fix which fix the FFT ocean compilation errors, as well as some bug fixes
- updates to OrbiterSkyboltClient master branch to build with conan, as well as some bug fixes. Build instructions are in the README.md.
Code:
...
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(View.cpp.o) : dans la fonction « osg::ref_ptr<osg::TextureRectangle>::operator->() const » :
View.cpp:(.text._ZNK3osg7ref_ptrINS_16TextureRectangleEEptEv[_ZNK3osg7ref_ptrINS_16TextureRectangleEEptEv]+0x5a) : référence indéfinie vers « typeinfo for osg::TextureRectangle »
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(View.cpp.o) : dans la fonction « osg::ref_ptr<osg::Stencil>::operator->() const » :
View.cpp:(.text._ZNK3osg7ref_ptrINS_7StencilEEptEv[_ZNK3osg7ref_ptrINS_7StencilEEptEv]+0x5a) : référence indéfinie vers « typeinfo for osg::Stencil »
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(AcrossAllScreens.cpp.o) : dans la fonction « osgViewer::AcrossAllScreens::configure(osgViewer::View&) const » :
AcrossAllScreens.cpp:(.text+0x588) : référence indéfinie vers « osgGA::GUIEventAdapter::setWindowRectangle(int, int, int, int, bool) »
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(PanoramicSphericalDisplay.cpp.o) : dans la fonction « osgViewer::PanoramicSphericalDisplay::configure(osgViewer::View&) const » :
PanoramicSphericalDisplay.cpp:(.text+0x190f) : référence indéfinie vers « osg::TextureRectangle::TextureRectangle() »
/usr/bin/ld : PanoramicSphericalDisplay.cpp:(.text+0x1c75) : référence indéfinie vers « osg::TexMat::TexMat() »
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(SphericalDisplay.cpp.o) : dans la fonction « osgViewer::SphericalDisplay::configure(osgViewer::View&) const » :
SphericalDisplay.cpp:(.text+0x1509) : référence indéfinie vers « osg::TextureCubeMap::TextureCubeMap() »
collect2: error: ld returned 1 exit status
make[2]: *** [src/Skybolt/SkyboltVisTests/CMakeFiles/SkyboltVisTests.dir/build.make:355 : bin/SkyboltVisTests] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:782 : src/Skybolt/SkyboltVisTests/CMakeFiles/SkyboltVisTests.dir/all] Erreur 2
make[1]: *** Attente des tâches non terminées....
[ 89%] Linking CXX static library ../../../lib/libSkyboltEngine.a
[ 89%] Built target SkyboltEngine
make: *** [Makefile:141 : all] Erreur 2
skybolt/1.3.0:
skybolt/1.3.0: ERROR: Package 'f1b4c9ed19e5cea8bc790c6844e7cd55d127719f' build failed
skybolt/1.3.0: WARN: Build folder /home/gondos/.conan/data/skybolt/1.3.0/_/_/build/f1b4c9ed19e5cea8bc790c6844e7cd55d127719f
ERROR: skybolt/1.3.0: Error in build() method, line 63
cmake.build()
ConanException: Error 2 while executing cmake --build '/home/gondos/.conan/data/skybolt/1.3.0/_/_/build/f1b4c9ed19e5cea8bc790c6844e7cd55d127719f' '--' '-j12'
Code:
diff --git a/src/Skybolt/SkyboltCommon/File/OsDirectories.cpp b/src/Skybolt/SkyboltCommon/File/OsDirectories.cpp
index b463d33..264972c 100644
--- a/src/Skybolt/SkyboltCommon/File/OsDirectories.cpp
+++ b/src/Skybolt/SkyboltCommon/File/OsDirectories.cpp
@@ -15,7 +15,7 @@ namespace file {
Path getHomeDirectory()
{
-#ifdef unix
+#if defined(unix) || defined(__linux__)
return getenv("HOME");
#elif defined(WIN32)
const char* homeDrive = std::getenv("HOMEDRIVE");
@@ -28,7 +28,7 @@ Path getHomeDirectory()
Path getAppUserDataDirectory(const std::string& applicationName)
{
-#ifdef unix
+#if defined(unix) || defined(__linux__)
return getHomeDirectory()
.append(applicationName); // TODO: where should this go on Unix?
#elif defined(WIN32)