Installation on NVidia Jetson developer kit
Hello, I've been using CloudCompare on Windows for a little while, but I was wondering if it's possible to build it on an NVidia Jetson AGX Xavier developer kit which uses arm64 architecture?
I don't know... It would be surprising though!
I was able to compile on a Nvidia Jetson TX2 a few years ago. That's also an arm64.
@WargodHernandez that's great to hear! Would you be able to roughly take me through the steps you took if you still remember them?
At the time it was super easy for the base CloudCompare I was able to follow the standard Linux instructions, but not all of the plugins would compile correctly. And I believe I also was able to use Snapd at the time although I'm not sure if that still works on arm64 channel or not.
I tried building it using Unix Makefile as a generator because I can't see the g++ option in my cmake which is listed as the required option, and I am able to configure and generate the makefile, but when I go into the build folder and execute make I get a bunch of errors connected to Qt libraries:
In file included from /home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:18:0:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/include/ccFrameBufferObject.h:105:2: error: ‘QOpenGLFunctions_2_1’ does not name a type
QOpenGLFunctions_2_1 m_glFunc;
^~~~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/include/ccFrameBufferObject.h:106:2: error: ‘QOpenGLExtension_ARB_framebuffer_object’ does not name a type; did you mean ‘QOpenGLExtension_ANGLE_framebuffer_blit’?
QOpenGLExtension_ARB_framebuffer_object m_glExtFunc;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QOpenGLExtension_ANGLE_framebuffer_blit
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/include/ccFrameBufferObject.h:53:36: error: ‘GL_CLAMP_TO_BORDER’ was not declared in this scope
bool initDepth( GLint wrapParam = GL_CLAMP_TO_BORDER,
^~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/include/ccFrameBufferObject.h:53:36: note: suggested alternative: ‘GL_CLAMP_TO_BORDER_NV’
bool initDepth( GLint wrapParam = GL_CLAMP_TO_BORDER,
^~~~~~~~~~~~~~~~~~
GL_CLAMP_TO_BORDER_NV
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘void ccFrameBufferObject::reset()’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:51:3: error: ‘m_glExtFunc’ was not declared in this scope
m_glExtFunc.glDeleteFramebuffers(1, &m_fboId);
^~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘bool ccFrameBufferObject::init(unsigned int, unsigned int)’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:62:8: error: ‘m_glFunc’ was not declared in this scope
if (!m_glFunc.initializeOpenGLFunctions())
^~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:67:8: error: ‘m_glExtFunc’ was not declared in this scope
if (!m_glExtFunc.initializeOpenGLFunctions())
^~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:82:2: error: ‘m_glExtFunc’ was not declared in this scope
m_glExtFunc.glGenFramebuffers(1, &m_fboId);
^~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘bool ccFrameBufferObject::start()’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:93:3: error: ‘m_glExtFunc’ was not declared in this scope
m_glExtFunc.glBindFramebuffer(GL_FRAMEBUFFER_EXT, m_fboId);
^~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:93:33: error: ‘GL_FRAMEBUFFER_EXT’ was not declared in this scope
m_glExtFunc.glBindFramebuffer(GL_FRAMEBUFFER_EXT, m_fboId);
^~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:93:33: note: suggested alternative: ‘GL_DRAW_BUFFER_EXT’
m_glExtFunc.glBindFramebuffer(GL_FRAMEBUFFER_EXT, m_fboId);
^~~~~~~~~~~~~~~~~~
GL_DRAW_BUFFER_EXT
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘void ccFrameBufferObject::stop()’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:106:3: error: ‘m_glExtFunc’ was not declared in this scope
m_glExtFunc.glBindFramebuffer(GL_FRAMEBUFFER_EXT, 0);
^~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:106:33: error: ‘GL_FRAMEBUFFER_EXT’ was not declared in this scope
m_glExtFunc.glBindFramebuffer(GL_FRAMEBUFFER_EXT, 0);
^~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:106:33: note: suggested alternative: ‘GL_DRAW_BUFFER_EXT’
m_glExtFunc.glBindFramebuffer(GL_FRAMEBUFFER_EXT, 0);
^~~~~~~~~~~~~~~~~~
GL_DRAW_BUFFER_EXT
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘void ccFrameBufferObject::deleteColorTexture()’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:112:40: error: ‘m_glFunc’ was not declared in this scope
if (m_isValid && m_ownColorTexture && m_glFunc.glIsTexture(m_colorTexture))
^~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘void ccFrameBufferObject::deleteDepthTexture()’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:122:40: error: ‘m_glFunc’ was not declared in this scope
if (m_isValid && m_ownDepthTexture && m_glFunc.glIsTexture(m_depthTexture))
^~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘bool ccFrameBufferObject::initColor(GLint, GLenum, GLenum, GLint, GLenum)’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:143:2: error: ‘m_glFunc’ was not declared in this scope
m_glFunc.glPushAttrib(GL_ENABLE_BIT);
^~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:143:24: error: ‘GL_ENABLE_BIT’ was not declared in this scope
m_glFunc.glPushAttrib(GL_ENABLE_BIT);
^~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:143:24: note: suggested alternative: ‘GL_BLUE_BITS’
m_glFunc.glPushAttrib(GL_ENABLE_BIT);
^~~~~~~~~~~~~
GL_BLUE_BITS
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘bool ccFrameBufferObject::attachColor(GLuint, bool, GLenum)’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:179:7: error: ‘m_glFunc’ was not declared in this scope
if (!m_glFunc.glIsTexture(texID))
^~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:191:2: error: ‘m_glExtFunc’ was not declared in this scope
m_glExtFunc.glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, target, texID, 0);
^~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:191:37: error: ‘GL_FRAMEBUFFER_EXT’ was not declared in this scope
m_glExtFunc.glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, target, texID, 0);
^~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:191:37: note: suggested alternative: ‘GL_DRAW_BUFFER_EXT’
m_glExtFunc.glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, target, texID, 0);
^~~~~~~~~~~~~~~~~~
GL_DRAW_BUFFER_EXT
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:199:7: error: ‘GL_FRAMEBUFFER_COMPLETE_EXT’ was not declared in this scope
case GL_FRAMEBUFFER_COMPLETE_EXT:
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:199:7: note: suggested alternative: ‘GL_FRAMEBUFFER_COMPLETE’
case GL_FRAMEBUFFER_COMPLETE_EXT:
^~~~~~~~~~~~~~~~~~~~~~~~~~~
GL_FRAMEBUFFER_COMPLETE
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘bool ccFrameBufferObject::initDepth(GLint, GLenum, GLint, GLenum)’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:233:2: error: ‘m_glFunc’ was not declared in this scope
m_glFunc.glPushAttrib(GL_ENABLE_BIT);
^~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:233:24: error: ‘GL_ENABLE_BIT’ was not declared in this scope
m_glFunc.glPushAttrib(GL_ENABLE_BIT);
^~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:233:24: note: suggested alternative: ‘GL_BLUE_BITS’
m_glFunc.glPushAttrib(GL_ENABLE_BIT);
^~~~~~~~~~~~~
GL_BLUE_BITS
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:241:35: error: ‘GL_DEPTH_TEXTURE_MODE’ was not declared in this scope
m_glFunc.glTexParameteri(target, GL_DEPTH_TEXTURE_MODE, GL_LUMINANCE);
^~~~~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:241:35: note: suggested alternative: ‘GL_DEPTH_STENCIL_TEXTURE_MODE’
m_glFunc.glTexParameteri(target, GL_DEPTH_TEXTURE_MODE, GL_LUMINANCE);
^~~~~~~~~~~~~~~~~~~~~
GL_DEPTH_STENCIL_TEXTURE_MODE
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp: In member function ‘bool ccFrameBufferObject::attachDepth(GLuint, bool, GLenum)’:
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:271:7: error: ‘m_glFunc’ was not declared in this scope
if (!m_glFunc.glIsTexture(texID))
^~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:283:2: error: ‘m_glExtFunc’ was not declared in this scope
m_glExtFunc.glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, target, texID, 0);
^~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:283:37: error: ‘GL_FRAMEBUFFER_EXT’ was not declared in this scope
m_glExtFunc.glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, target, texID, 0);
^~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:283:37: note: suggested alternative: ‘GL_DRAW_BUFFER_EXT’
m_glExtFunc.glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, target, texID, 0);
^~~~~~~~~~~~~~~~~~
GL_DRAW_BUFFER_EXT
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:283:57: error: ‘GL_DEPTH_ATTACHMENT_EXT’ was not declared in this scope
m_glExtFunc.glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, target, texID, 0);
^~~~~~~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:283:57: note: suggested alternative: ‘GL_DEPTH_ATTACHMENT’
m_glExtFunc.glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, target, texID, 0);
^~~~~~~~~~~~~~~~~~~~~~~
GL_DEPTH_ATTACHMENT
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:291:7: error: ‘GL_FRAMEBUFFER_COMPLETE_EXT’ was not declared in this scope
case GL_FRAMEBUFFER_COMPLETE_EXT:
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gl/Documents/CloudCompare/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:291:7: note: suggested alternative: ‘GL_FRAMEBUFFER_COMPLETE’
case GL_FRAMEBUFFER_COMPLETE_EXT:
^~~~~~~~~~~~~~~~~~~~~~~~~~~
GL_FRAMEBUFFER_COMPLETE
libs/CCFbo/CMakeFiles/CC_FBO_LIB.dir/build.make:86: recipe for target 'libs/CCFbo/CMakeFiles/CC_FBO_LIB.dir/src/ccFrameBufferObject.cpp.o' failed
make[2]: *** [libs/CCFbo/CMakeFiles/CC_FBO_LIB.dir/src/ccFrameBufferObject.cpp.o] Error 1
CMakeFiles/Makefile2:345: recipe for target 'libs/CCFbo/CMakeFiles/CC_FBO_LIB.dir/all' failed
make[1]: *** [libs/CCFbo/CMakeFiles/CC_FBO_LIB.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Even though I'm pretty sure I have Qt installed because I have Qt Creator and Designer but I've probably missed packages
These errors are about missing OpenGL and the additional QtOpenQL libs
probably installing libqt5opengl5-dev will help, you can see dependencies in the travis-ci.yml
@tmontaigu I've installed all those dependencies, sudo apt installing them says they are all the newest version, but I still have the same issue
Did you re-configure and re-generate the cmake ?
Maybe it can't find openGL because GPU drivers are missing ?
Hey @tmontaigu , yep I did re-configure and re-generate the cmake files but even in CMake itself I get
You have called ADD_LIBRARY for library CCAppCommon without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: CCAppCommon Files: /home/gl/Documents/CloudCompare/build/libs/CCAppCommon/libCCAppCommon.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library CC_FBO_LIB without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: CC_FBO_LIB Files: /home/gl/Documents/CloudCompare/build/libs/CCFbo/libCC_FBO_LIB.so will be installed in /usr/local/lib// <
for these libraries and for others and I'm not sure if it actually is an issue since below the line saying the source files are missing it says it's installing the library, but nevertheless the previous errors I have still persist. Just for a bit more info that might be helpful I'm using:
CMake verison: 3.10.2 Qmake version: 3.1 using QT 5.9.5 Ubuntu:18.04 (although I believe it is slightly modified for the NVidia Jetson and anyway it's arm64 architecture) gcc:7.5.0
These errors are odd, it's bit hard to find what happens.
Maybe you could try to clean the build folder and retry and write here all the commands you did from cloning to cmake configuration and building.
So, I tried starting from scratch. I cloned the repo using the command in BUILD.md git clone --recursive https://github.com/cloudcompare/CloudCompare.git , launched cmake with cmake-gui, set the source code to home/gl/Documents/CloudCompare/CloudCompare and the build folder to home/gl/Documents/CloudCompare/build. This is where the first weird part comes in for me, because on my system I have the following generators:
The following generators are available on this platform: Unix Makefiles = Generates standard UNIX makefiles. Ninja = Generates build.ninja files. Watcom WMake = Generates Watcom WMake makefiles. CodeBlocks - Ninja = Generates CodeBlocks project files. CodeBlocks - Unix Makefiles = Generates CodeBlocks project files. CodeLite - Ninja = Generates CodeLite project files. CodeLite - Unix Makefiles = Generates CodeLite project files. Sublime Text 2 - Ninja = Generates Sublime Text 2 project files. Sublime Text 2 - Unix Makefiles = Generates Sublime Text 2 project files. Kate - Ninja = Generates Kate project files. Kate - Unix Makefiles = Generates Kate project files. Eclipse CDT4 - Ninja = Generates Eclipse CDT 4.0 project files. Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files. KDevelop3 = Generates KDevelop 3 project files. KDevelop3 - Unix Makefiles = Generates KDevelop 3 project files.
but following the BUILD.md it says gcc is tested for Linux which as far as I understand is not a CMake generator but a compiler for C/C++, so I am somewhat unsure what generator to choose here, so last time I just left it as Unix Makefiles which is the default. This time I chose Unix Makefiles again but I clicked on select native compilers option and chose gcc (last time I changed it manually after already selecting Unix Makefiles). When I clicked okay this is what I got:
The C compiler identification is GNU 7.5.0 The CXX compiler identification is GNU 7.5.0 Check for working C compiler: /usr/bin/gcc Check for working C compiler: /usr/bin/gcc -- works Detecting C compiler ABI info Detecting C compiler ABI info - done Detecting C compile features Detecting C compile features - done Check for working CXX compiler: /usr/bin/gcc Check for working CXX compiler: /usr/bin/gcc -- works Detecting CXX compiler ABI info Detecting CXX compiler ABI info - done Detecting CXX compile features Detecting CXX compile features - done OpenMP found You have called ADD_LIBRARY for library CCAppCommon without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: CCAppCommon Files: /home/gl/Documents/CloudCompare/build/libs/CCAppCommon/libCCAppCommon.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library CC_FBO_LIB without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: CC_FBO_LIB Files: /home/gl/Documents/CloudCompare/build/libs/CCFbo/libCC_FBO_LIB.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library CCPluginStub without any source files. This typically indicates a problem with your CMakeLists.txt file You have called ADD_LIBRARY for library CCPluginAPI without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: CCPluginAPI Files: /home/gl/Documents/CloudCompare/build/libs/CCPluginAPI/libCCPluginAPI.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library QCC_DB_LIB without any source files. This typically indicates a problem with your CMakeLists.txt file You have called ADD_LIBRARY for library CCCoreLib without any source files. This typically indicates a problem with your CMakeLists.txt file Performing Test COMPILER_HAS_HIDDEN_VISIBILITY Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success Performing Test COMPILER_HAS_DEPRECATED_ATTR Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success Install shared library: CCCoreLib Files: /home/gl/Documents/CloudCompare/build/libs/qCC_db/extern/CCCoreLib/libCCCoreLib.so will be installed in /usr/local/lib// Install shared library: QCC_DB_LIB Files: /home/gl/Documents/CloudCompare/build/libs/qCC_db/libQCC_DB_LIB.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library QCC_GL_LIB without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: QCC_GL_LIB Files: /home/gl/Documents/CloudCompare/build/libs/qCC_glWindow/libQCC_GL_LIB.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library QCC_IO_LIB without any source files. This typically indicates a problem with your CMakeLists.txt file You have called ADD_LIBRARY for library dxflib without any source files. This typically indicates a problem with your CMakeLists.txt file You have called ADD_LIBRARY for library shapelib without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: QCC_IO_LIB Files: /home/gl/Documents/CloudCompare/build/libs/qCC_io/libQCC_IO_LIB.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library QCORE_IO_PLUGIN without any source files. This typically indicates a problem with your CMakeLists.txt file Added io plugin: QCORE_IO_PLUGIN Found submodule plugin: /home/gl/Documents/CloudCompare/CloudCompare/plugins/core/Standard/qColorimetricSegmenter Found submodule plugin: /home/gl/Documents/CloudCompare/CloudCompare/plugins/core/Standard/qMasonry Found submodule plugin: /home/gl/Documents/CloudCompare/CloudCompare/plugins/core/Standard/qMPlane Found submodule plugin: /home/gl/Documents/CloudCompare/CloudCompare/plugins/core/Standard/qJSonRPCPlugin You have called ADD_LIBRARY for library QCustomPlot without any source files. This typically indicates a problem with your CMakeLists.txt file Install plugins Types: gl;io;standard Destination: lib/cloudcompare/plugins/ Shader Destination: share/cloudcompare/shaders/ Install QCORE_IO_PLUGIN (io) Files: /home/gl/Documents/CloudCompare/build/plugins/core/IO/qCoreIO/libQCORE_IO_PLUGIN.so will be installed in lib/cloudcompare/plugins/ Install plugins Types: gl;io Destination: lib/cloudcompare/plugins/ Shader Destination: share/cloudcompare/shaders/ Install QCORE_IO_PLUGIN (io) Files: /home/gl/Documents/CloudCompare/build/plugins/core/IO/qCoreIO/libQCORE_IO_PLUGIN.so will be installed in lib/cloudcompare/plugins/ Configuring done
I set my QT5_ROOT_PATH (/usr/lib/aarch64-linux-gnu/qt5) and clicked Configure again:
OpenMP found You have called ADD_LIBRARY for library CCAppCommon without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: CCAppCommon Files: /home/gl/Documents/CloudCompare/build/libs/CCAppCommon/libCCAppCommon.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library CC_FBO_LIB without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: CC_FBO_LIB Files: /home/gl/Documents/CloudCompare/build/libs/CCFbo/libCC_FBO_LIB.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library CCPluginStub without any source files. This typically indicates a problem with your CMakeLists.txt file You have called ADD_LIBRARY for library CCPluginAPI without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: CCPluginAPI Files: /home/gl/Documents/CloudCompare/build/libs/CCPluginAPI/libCCPluginAPI.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library QCC_DB_LIB without any source files. This typically indicates a problem with your CMakeLists.txt file You have called ADD_LIBRARY for library CCCoreLib without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: CCCoreLib Files: /home/gl/Documents/CloudCompare/build/libs/qCC_db/extern/CCCoreLib/libCCCoreLib.so will be installed in /usr/local/lib// Install shared library: QCC_DB_LIB Files: /home/gl/Documents/CloudCompare/build/libs/qCC_db/libQCC_DB_LIB.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library QCC_GL_LIB without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: QCC_GL_LIB Files: /home/gl/Documents/CloudCompare/build/libs/qCC_glWindow/libQCC_GL_LIB.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library QCC_IO_LIB without any source files. This typically indicates a problem with your CMakeLists.txt file You have called ADD_LIBRARY for library dxflib without any source files. This typically indicates a problem with your CMakeLists.txt file You have called ADD_LIBRARY for library shapelib without any source files. This typically indicates a problem with your CMakeLists.txt file Install shared library: QCC_IO_LIB Files: /home/gl/Documents/CloudCompare/build/libs/qCC_io/libQCC_IO_LIB.so will be installed in /usr/local/lib// You have called ADD_LIBRARY for library QCORE_IO_PLUGIN without any source files. This typically indicates a problem with your CMakeLists.txt file Added io plugin: QCORE_IO_PLUGIN Found submodule plugin: /home/gl/Documents/CloudCompare/CloudCompare/plugins/core/Standard/qColorimetricSegmenter Found submodule plugin: /home/gl/Documents/CloudCompare/CloudCompare/plugins/core/Standard/qMasonry Found submodule plugin: /home/gl/Documents/CloudCompare/CloudCompare/plugins/core/Standard/qMPlane Found submodule plugin: /home/gl/Documents/CloudCompare/CloudCompare/plugins/core/Standard/qJSonRPCPlugin You have called ADD_LIBRARY for library QCustomPlot without any source files. This typically indicates a problem with your CMakeLists.txt file Install plugins Types: gl;io;standard Destination: lib/cloudcompare/plugins/ Shader Destination: share/cloudcompare/shaders/ Install QCORE_IO_PLUGIN (io) Files: /home/gl/Documents/CloudCompare/build/plugins/core/IO/qCoreIO/libQCORE_IO_PLUGIN.so will be installed in lib/cloudcompare/plugins/ Install plugins Types: gl;io Destination: lib/cloudcompare/plugins/ Shader Destination: share/cloudcompare/shaders/ Install QCORE_IO_PLUGIN (io) Files: /home/gl/Documents/CloudCompare/build/plugins/core/IO/qCoreIO/libQCORE_IO_PLUGIN.so will be installed in lib/cloudcompare/plugins/ Configuring done
I then generated the Makefile, navigated to /home/gl/Documents/CloudCompare/build and executed make, which still produced the exact same results as before.
cmake generator's are the names of the build systems cmake will generate build files after configuring. So Unix Makefiles generator means cmake will generate a bunch a Makefile for the make buildsystem to use. And the make build system will then use gcc (as indicated by cmake) to build, so there is nothing strange there.
set my QT5_ROOT_PATH (/usr/lib/aarch64-linux-gnu/qt5)
Are you cross compiling or are you compiling directly on the NVidia Jetson ?
I Wonder why you are not using the Qt libs that should be in /usr/lib, if you are cross compiling I think that compiler to use
would need to be changed.
I am trying to compile it directly on the Jetson. In the /usr/lib folder I only have 1 qt5 folder with a bin folder in it, I tried re-configuring and re-generating the project with that one set as qt root folder, but it made no difference, perhaps maybe I've just not done the qt installation correctly
I see that you are using CMake 3.10, could you try upgrading it ?
There are bunch of warnings in the cmake output you gave about "ADD_LIBRARY without any source files"
And the Cmake doc says
New in version 3.11: The source files can be omitted if they are added later using target_sources().
Which exactly what we do, so the minimum cmake version should be 3.11
Thanks for your suggestions @tmontaigu. I updated my CMake versions and retried it again but I've got the same results, I also went into Qt Creator and tried all the OpenGL examples just to see that they work fine, so now I'm thinking it's probably just a configuration issue from me?
I tried building on windows using cmake 3.10, I get the same errors in CMAKE output. When switching to >= 3.11 the cmake errors disappears as expected.
However, with cmake 3.10, even when cmake shows errors it still seems to be able to compile.
So I think there is a problem with your configuration, and I'm running out of ideas to troubleshoot
Maybe you could try compiling an older version of CloudCompare since you are on Unbuntu 18.04.
git checkout v2.11.3
Hello,
I got the same issue on Jetson Xavier NX (JP 4.6.1).
I've build QT 5.9.2 from source with -opengl es2 option.
I've run the following commands to build Cloud Compare:
sudo apt install libqt5svg5-dev libqt5opengl5-dev qt5-default qttools5-dev qttools5-dev-tools libqt5websockets5-dev -y
git clone --recursive https://github.com/cloudcompare/CloudCompare.git && cd CloudCompare
mkdir build && cd build
cmake ..
cmake --build .
This produces the same error as in this issue:
In file included from /home/jetson/CloudCompare/libs/CCFbo/src/ccFrameBufferObject.cpp:18:0:
/home/jetson/CloudCompare/libs/CCFbo/include/ccFrameBufferObject.h:105:2: error: ‘QOpenGLFunctions_2_1’ does not name a type
QOpenGLFunctions_2_1 m_glFunc;
^~~~~~~~~~~~~~~~~~~~
/home/jetson/CloudCompare/libs/CCFbo/include/ccFrameBufferObject.h:106:2: error: ‘QOpenGLExtension_ARB_framebuffer_object’ does not name a type; did you mean ‘QOpenGLExtension_ANGLE_framebuffer_blit’?
QOpenGLExtension_ARB_framebuffer_object m_glExtFunc;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QOpenGLExtension_ANGLE_framebuffer_blit
/home/jetson/CloudCompare/libs/CCFbo/include/ccFrameBufferObject.h:53:36: error: ‘GL_CLAMP_TO_BORDER’ was not declared in this scope
bool initDepth( GLint wrapParam = GL_CLAMP_TO_BORDER,
Have you been able to compile CC on Jetson aarch64 ?
Thanks