Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failing to build using the build from source instructions #263

Closed
eliasffyksen opened this issue Oct 28, 2021 · 4 comments
Closed

Failing to build using the build from source instructions #263

eliasffyksen opened this issue Oct 28, 2021 · 4 comments
Labels
bug Something isn't working

Comments

@eliasffyksen
Copy link

eliasffyksen commented Oct 28, 2021

I'm currently in the process of packaging Gazebo and all the related libraries for NixOS. However, I'm struggling with this library.
Following the build instructions I'm failing with error fatal error: ignition/common/VideoEncoder.hh: No such file or directory. I can see that this is under the av directory. If a separate build process is required to build av and other sub projects before building the main library, it would be nice to have that specified (and how to build it) in the build from source instructions.

Environment

  • OS Version: NixOS 21.05
  • Building from source (ign-common3: commit: df11d6e)
this derivation will be built:
  /nix/store/wifd0n8vgw6xk40ahph3gcsb5bcl3sy8-ign-common3.drv
building '/nix/store/wifd0n8vgw6xk40ahph3gcsb5bcl3sy8-ign-common3.drv'...
unpacking sources
unpacking source archive /nix/store/b7sc5gmg93czgfjrwpqjbakpq6xgd3j8-source
source root is source
patching sources
configuring
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /nix/store/gg2rq3hrl3rf92nq6dnqhdyyxaa89aqf-gcc-wrapper-10.3.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /nix/store/gg2rq3hrl3rf92nq6dnqhdyyxaa89aqf-gcc-wrapper-10.3.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ignition-common3 version 3.14.0
-- Operating system is Linux
-- 

-- ====== Finding Dependencies ======
-- Looking for ignition-math6 -- found version 6.9.2
-- Searching for dependencies of ignition-math6
-- Looking for ignition-math6 - found

-- Checking for module 'tinyxml2'
--   No package 'tinyxml2' found
-- Attempting manual search for tinyxml2
-- Looking for tinyxml2 headers - not found
-- Looking for tinyxml2 library - not found
-- Could NOT find TINYXML2 (missing: TINYXML2_FOUND) 
-- Looking for tinyxml2 - not found

-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- Found DL: TRUE  
-- Looking for libdl - found

-- Checking for module 'uuid'
--   Found uuid, version 2.36.2
-- Found UUID: TRUE  
-- Looking for uuid - found

-- Found FreeImage: TRUE (Required is at least version "3.9") 
-- Looking for FreeImage - found

-- Checking for module 'gts'
--   Found gts, version 0.7.6
Package libpcre was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpcre.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libpcre', required by 'glib-2.0', not found
Package libpcre was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpcre.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libpcre', required by 'glib-2.0', not found
Package libpcre was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpcre.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libpcre', required by 'glib-2.0', not found
Package libpcre was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpcre.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libpcre', required by 'glib-2.0', not found
-- Found GTS: TRUE  
-- Looking for gts - found

-- Checking for module 'libswscale'
--   Found libswscale, version 3.0.0
-- Found SWSCALE: TRUE  
-- Looking for libswscale - found

-- Checking for module 'libavdevice >= 56.4.100'
--   Requested 'libavdevice >= 56.4.100' but version of libavdevice is 55.0.0
-- Could NOT find AVDEVICE (missing: AVDEVICE_FOUND) (Required is at least version "56.4.100")
-- Looking for libavdevice - not found

-- Checking for module 'libavformat'
--   Found libavformat, version 56.1.0
-- Found AVFORMAT: TRUE  
-- Looking for libavformat - found

-- Checking for module 'libavcodec'
--   Found libavcodec, version 56.1.0
-- Found AVCODEC: TRUE  
-- Looking for libavcodec - found

-- Checking for module 'libavutil'
--   Found libavutil, version 54.3.0
-- Found AVUTIL: TRUE  
-- Looking for libavutil - found

-- -------------------------------------------

CMake Warning at /nix/store/n9k21vvgqr35f4bhiqlswbc1j1l3bjdx-ign-cmake/share/cmake/ignition-cmake2/cmake2/IgnConfigureBuild.cmake:53 (message):
   CONFIGURATION WARNINGS:
   -- Skipping component [graphics]: Missing dependency [tinyxml2].
      ^~~~~ Set SKIP_graphics=true in cmake to suppress this warning.
   
   -- Skipping component [av]: Missing dependency [libavdevice].
      ^~~~~ Set SKIP_av=true in cmake to suppress this warning.
   
Call Stack (most recent call first):
  CMakeLists.txt:122 (ign_configure_build)


-- 
-- Searching for host SSE information
-- SSE2 found
-- SSE3 found
-- SSE4.1 found
-- SSE4.2 found
-- Configuring library: ignition-common3
-- 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
-- Adding 19 UNIT tests
-- Adding 3 INTEGRATION tests
-- Adding 1 PERFORMANCE tests
-- No tests have been specified for REGRESSION
-- Performing Test Rflag
-- Performing Test Rflag - Success
-- Skipping the component [av] because the following packages are missing: libavdevice
-- Configuring library: ignition-common3-events
-- Adding 3 UNIT tests
-- Skipping the component [graphics] because the following packages are missing: tinyxml2
-- Configuring library: ignition-common3-profiler
-- Adding 2 UNIT tests
-- The program [cppcheck] was not found! Skipping codecheck setup
-- Build configuration successful
-- Build type: RelWithDebInfo
-- Install prefix: /nix/store/y3jgp2azpgakhlh42j1g37w4a8dh9imv-ign-common3
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configuring done
-- Generating done
-- Build files have been written to: /build/source/build
building
Scanning dependencies of target gtest
Scanning dependencies of target IGNDummyPlugins
Scanning dependencies of target ignition-common3
Scanning dependencies of target IGNBadPluginSize
Scanning dependencies of target IGNBadPluginAPIVersionNew
Scanning dependencies of target IGNBadPluginAPIVersionOld
Scanning dependencies of target IGNBadPluginAlign
[  2%] Building CXX object test/plugins/CMakeFiles/IGNBadPluginSize.dir/BadPluginSize.cc.o
[  2%] Building CXX object test/plugins/CMakeFiles/IGNDummyPlugins.dir/DummyPlugins.cc.o
[  2%] Building CXX object test/plugins/CMakeFiles/IGNBadPluginAPIVersionNew.dir/BadPluginAPIVersionNew.cc.o
[  3%] Building CXX object test/plugins/CMakeFiles/IGNBadPluginAPIVersionOld.dir/BadPluginAPIVersionOld.cc.o
[  4%] Building CXX object test/plugins/CMakeFiles/IGNBadPluginAlign.dir/BadPluginAlign.cc.o
[  5%] Building CXX object test/CMakeFiles/gtest.dir/gtest/src/gtest-all.cc.o
[  5%] Building CXX object src/CMakeFiles/ignition-common3.dir/Base64.cc.o
[  6%] Building CXX object src/CMakeFiles/ignition-common3.dir/Battery.cc.o
[  7%] Building CXX object src/CMakeFiles/ignition-common3.dir/Console.cc.o
[  8%] Building CXX object src/CMakeFiles/ignition-common3.dir/Filesystem.cc.o
[ 10%] Building CXX object src/CMakeFiles/ignition-common3.dir/FilesystemBoost.cc.o
[ 11%] Building CXX object src/CMakeFiles/ignition-common3.dir/MaterialDensity.cc.o
[ 12%] Building CXX object src/CMakeFiles/ignition-common3.dir/Plugin.cc.o
[ 13%] Building CXX object src/CMakeFiles/ignition-common3.dir/PluginLoader.cc.o
[ 14%] Building CXX object src/CMakeFiles/ignition-common3.dir/SignalHandler.cc.o
[ 15%] Building CXX object src/CMakeFiles/ignition-common3.dir/StringUtils.cc.o
[ 16%] Linking CXX shared library ../../lib/libIGNBadPluginAPIVersionNew.so
[ 17%] Linking CXX shared library ../../lib/libIGNBadPluginAPIVersionOld.so
[ 18%] Linking CXX shared library ../../lib/libIGNBadPluginSize.so
[ 20%] Linking CXX shared library ../../lib/libIGNBadPluginAlign.so
[ 20%] Built target IGNBadPluginAPIVersionNew
[ 20%] Built target IGNBadPluginSize
[ 21%] Building CXX object src/CMakeFiles/ignition-common3.dir/SystemPaths.cc.o
[ 21%] Built target IGNBadPluginAPIVersionOld
[ 22%] Building CXX object src/CMakeFiles/ignition-common3.dir/Time.cc.o
[ 22%] Built target IGNBadPluginAlign
[ 24%] Building CXX object src/CMakeFiles/ignition-common3.dir/Timer.cc.o
[ 24%] Building CXX object src/CMakeFiles/ignition-common3.dir/URI.cc.o
[ 25%] Building CXX object src/CMakeFiles/ignition-common3.dir/Util.cc.o
[ 26%] Building CXX object src/CMakeFiles/ignition-common3.dir/Uuid.cc.o
[ 27%] Building CXX object src/CMakeFiles/ignition-common3.dir/WorkerPool.cc.o
[ 28%] Linking CXX shared library ../../lib/libIGNDummyPlugins.so
[ 28%] Built target IGNDummyPlugins
[ 30%] Linking CXX shared library ../lib/libignition-common3.so
[ 30%] Built target ignition-common3
Scanning dependencies of target ignition-common3-events
Scanning dependencies of target ignition-common3-profiler
[ 30%] Building CXX object events/src/CMakeFiles/ignition-common3-events.dir/Event.cc.o
[ 31%] Building CXX object events/src/CMakeFiles/ignition-common3-events.dir/KeyEvent.cc.o
[ 32%] Building CXX object events/src/CMakeFiles/ignition-common3-events.dir/MouseEvent.cc.o
[ 33%] Building CXX object profiler/src/CMakeFiles/ignition-common3-profiler.dir/Profiler.cc.o
[ 34%] Building C object profiler/src/CMakeFiles/ignition-common3-profiler.dir/Remotery/lib/Remotery.c.o
[ 35%] Building CXX object profiler/src/CMakeFiles/ignition-common3-profiler.dir/RemoteryProfilerImpl.cc.o
[ 36%] Linking CXX shared library ../../lib/libignition-common3-profiler.so
[ 36%] Built target ignition-common3-profiler
[ 37%] Linking CXX static library ../lib/libgtest.a
[ 37%] Built target gtest
Scanning dependencies of target gtest_main
[ 38%] Building CXX object test/CMakeFiles/gtest_main.dir/gtest/src/gtest_main.cc.o
[ 40%] Linking CXX static library ../lib/libgtest_main.a
[ 40%] Built target gtest_main
Scanning dependencies of target UNIT_SystemPaths_TEST
Scanning dependencies of target UNIT_Time_TEST
Scanning dependencies of target UNIT_TemplateHelpers_TEST
Scanning dependencies of target UNIT_Util_TEST
Scanning dependencies of target UNIT_Uuid_TEST
Scanning dependencies of target UNIT_SignalHandler_TEST
Scanning dependencies of target UNIT_WorkerPool_TEST
Scanning dependencies of target UNIT_Base64_TEST
Scanning dependencies of target UNIT_URI_TEST
Scanning dependencies of target UNIT_Battery_TEST
Scanning dependencies of target UNIT_PluginUtils_TEST
Scanning dependencies of target UNIT_EnumIface_TEST
Scanning dependencies of target UNIT_Filesystem_TEST
Scanning dependencies of target UNIT_FlagSet_TEST
Scanning dependencies of target UNIT_Console_TEST
[ 44%] Building CXX object src/CMakeFiles/UNIT_Time_TEST.dir/Time_TEST.cc.o
[ 44%] Building CXX object src/CMakeFiles/UNIT_TemplateHelpers_TEST.dir/TemplateHelpers_TEST.cc.o
[ 44%] Building CXX object src/CMakeFiles/UNIT_Util_TEST.dir/Util_TEST.cc.o
[ 44%] Building CXX object src/CMakeFiles/UNIT_Uuid_TEST.dir/Uuid_TEST.cc.o
[ 45%] Building CXX object src/CMakeFiles/UNIT_SignalHandler_TEST.dir/SignalHandler_TEST.cc.o
[ 46%] Building CXX object src/CMakeFiles/UNIT_PluginUtils_TEST.dir/PluginUtils_TEST.cc.o
[ 47%] Building CXX object src/CMakeFiles/UNIT_SystemPaths_TEST.dir/SystemPaths_TEST.cc.o
[ 48%] Building CXX object src/CMakeFiles/UNIT_Base64_TEST.dir/Base64_TEST.cc.o
[ 50%] Building CXX object src/CMakeFiles/UNIT_URI_TEST.dir/URI_TEST.cc.o
[ 52%] Building CXX object src/CMakeFiles/UNIT_WorkerPool_TEST.dir/WorkerPool_TEST.cc.o
[ 52%] Building CXX object src/CMakeFiles/UNIT_Battery_TEST.dir/Battery_TEST.cc.o
[ 53%] Building CXX object src/CMakeFiles/UNIT_EnumIface_TEST.dir/EnumIface_TEST.cc.o
[ 54%] Building CXX object src/CMakeFiles/UNIT_Filesystem_TEST.dir/Filesystem_TEST.cc.o
[ 55%] Building CXX object src/CMakeFiles/UNIT_FlagSet_TEST.dir/FlagSet_TEST.cc.o
[ 56%] Building CXX object src/CMakeFiles/UNIT_Console_TEST.dir/Console_TEST.cc.o
[ 57%] Linking CXX shared library ../../lib/libignition-common3-events.so
[ 57%] Built target ignition-common3-events
Scanning dependencies of target UNIT_StringUtils_TEST
[ 58%] Building CXX object src/CMakeFiles/UNIT_StringUtils_TEST.dir/StringUtils_TEST.cc.o
[ 60%] Linking CXX executable ../bin/UNIT_TemplateHelpers_TEST
[ 60%] Built target UNIT_TemplateHelpers_TEST
Scanning dependencies of target UNIT_MaterialDensity_TEST
[ 61%] Building CXX object src/CMakeFiles/UNIT_MaterialDensity_TEST.dir/MaterialDensity_TEST.cc.o
[ 62%] Linking CXX executable ../bin/UNIT_PluginUtils_TEST
[ 62%] Built target UNIT_PluginUtils_TEST
Scanning dependencies of target UNIT_MovingWindowFilter_TEST
[ 63%] Building CXX object src/CMakeFiles/UNIT_MovingWindowFilter_TEST.dir/MovingWindowFilter_TEST.cc.o
[ 64%] Linking CXX executable ../bin/UNIT_Uuid_TEST
In file included from /build/source/src/EnumIface_TEST.cc:18:
/build/source/test/gtest/include/gtest/gtest.h: In member function 'virtual void EnumIfaceTest_StringCoversion_Test::TestBody()':
/build/source/test/gtest/include/gtest/gtest.h:1527:11: warning: 'type' may be used uninitialized in this function [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmaybe-uninitialized�-Wmaybe-uninitialized8;;�]
 1527 |   if (lhs == rhs) {
      |       ~~~~^~~~~~
/build/source/test/gtest/include/gtest/gtest.h:1527:11: warning: 'type' may be used uninitialized in this function [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmaybe-uninitialized�-Wmaybe-uninitialized8;;�]
[ 65%] Linking CXX executable ../bin/UNIT_Base64_TEST
[ 65%] Built target UNIT_Uuid_TEST
Scanning dependencies of target UNIT_PluginLoader_TEST
[ 66%] Building CXX object src/CMakeFiles/UNIT_PluginLoader_TEST.dir/PluginLoader_TEST.cc.o
[ 67%] Linking CXX executable ../bin/UNIT_WorkerPool_TEST
[ 67%] Built target UNIT_Base64_TEST
Scanning dependencies of target INTEGRATION_video_encoder
[ 68%] Building CXX object test/integration/CMakeFiles/INTEGRATION_video_encoder.dir/video_encoder.cc.o
[ 68%] Built target UNIT_WorkerPool_TEST
Scanning dependencies of target INTEGRATION_plugin
[ 70%] Building CXX object test/integration/CMakeFiles/INTEGRATION_plugin.dir/plugin.cc.o
/build/source/test/integration/video_encoder.cc:21:10: fatal error: ignition/common/VideoEncoder.hh: No such file or directory
   21 | #include "ignition/common/VideoEncoder.hh"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [test/integration/CMakeFiles/INTEGRATION_video_encoder.dir/build.make:82: test/integration/CMakeFiles/INTEGRATION_video_encoder.dir/video_encoder.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1916: test/integration/CMakeFiles/INTEGRATION_video_encoder.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 71%] Linking CXX executable ../bin/UNIT_EnumIface_TEST
[ 72%] Linking CXX executable ../bin/UNIT_SignalHandler_TEST
[ 72%] Built target UNIT_EnumIface_TEST
[ 72%] Built target UNIT_SignalHandler_TEST
[ 73%] Linking CXX executable ../bin/UNIT_FlagSet_TEST
[ 74%] Linking CXX executable ../bin/UNIT_Time_TEST
[ 75%] Linking CXX executable ../bin/UNIT_Battery_TEST
[ 75%] Built target UNIT_FlagSet_TEST
[ 75%] Built target UNIT_Time_TEST
[ 75%] Built target UNIT_Battery_TEST
[ 75%] Linking CXX executable ../bin/UNIT_MaterialDensity_TEST
[ 76%] Linking CXX executable ../bin/UNIT_Console_TEST
[ 76%] Built target UNIT_MaterialDensity_TEST
[ 76%] Built target UNIT_Console_TEST
[ 77%] Linking CXX executable ../bin/UNIT_StringUtils_TEST
[ 77%] Built target UNIT_StringUtils_TEST
[ 78%] Linking CXX executable ../bin/UNIT_Util_TEST
[ 80%] Linking CXX executable ../bin/UNIT_PluginLoader_TEST
[ 80%] Built target UNIT_Util_TEST
[ 80%] Linking CXX executable ../bin/UNIT_SystemPaths_TEST
[ 80%] Built target UNIT_PluginLoader_TEST
[ 80%] Built target UNIT_SystemPaths_TEST
[ 81%] Linking CXX executable ../bin/UNIT_Filesystem_TEST
[ 81%] Built target UNIT_Filesystem_TEST
[ 82%] Linking CXX executable ../bin/UNIT_URI_TEST
[ 82%] Built target UNIT_URI_TEST
[ 83%] Linking CXX executable ../bin/UNIT_MovingWindowFilter_TEST
[ 83%] Built target UNIT_MovingWindowFilter_TEST
[ 84%] Linking CXX executable ../../bin/INTEGRATION_plugin
[ 84%] Built target INTEGRATION_plugin
make: *** [Makefile:160: all] Error 2
error: builder for '/nix/store/wifd0n8vgw6xk40ahph3gcsb5bcl3sy8-ign-common3.drv' failed with exit code 2;
       last 10 log lines:
       > [ 80%] Built target UNIT_SystemPaths_TEST
       > [ 81%] Linking CXX executable ../bin/UNIT_Filesystem_TEST
       > [ 81%] Built target UNIT_Filesystem_TEST
       > [ 82%] Linking CXX executable ../bin/UNIT_URI_TEST
       > [ 82%] Built target UNIT_URI_TEST
       > [ 83%] Linking CXX executable ../bin/UNIT_MovingWindowFilter_TEST
       > [ 83%] Built target UNIT_MovingWindowFilter_TEST
       > [ 84%] Linking CXX executable ../../bin/INTEGRATION_plugin
       > [ 84%] Built target INTEGRATION_plugin
       > make: *** [Makefile:160: all] Error 2
       For full logs, run 'nix log /nix/store/wifd0n8vgw6xk40ahph3gcsb5bcl3sy8-ign-common3.drv'.

Description

  • Expected behavior: Building from source
  • Actual behavior: Fails to build with error: fatal error: ignition/common/VideoEncoder.hh: No such file or directory

Steps to reproduce

mkdir build
cd build
cmake ..
make

Output

Log is under details in in Environment section

@eliasffyksen eliasffyksen added the bug Something isn't working label Oct 28, 2021
@eliasffyksen
Copy link
Author

Rereading the docs, I can see that it was skipping the av build due to missing dependencies

@scpeters
Copy link
Member

I think you are missing some dependencies:

   CONFIGURATION WARNINGS:
   -- Skipping component [graphics]: Missing dependency [tinyxml2].
      ^~~~~ Set SKIP_graphics=true in cmake to suppress this warning.
   
   -- Skipping component [av]: Missing dependency [libavdevice].
      ^~~~~ Set SKIP_av=true in cmake to suppress this warning.

but the compilation shouldn't fail without them. I think the test should be disabled if the dependencies aren't present

@traversaro
Copy link
Contributor

traversaro commented Oct 28, 2021

By the way, I am not a nix expert so I do not know if it is relevant or if you are already aware of it, but it seems that gazebo and several related dependencies are packaged for nixos in https://github.com/lopsided98/nix-ros-overlay, see:

scpeters added a commit to scpeters/ign-common that referenced this issue Oct 28, 2021
Check both SKIP_av and INTERNAL_SKIP_av before building
integration tests that require av component.
Reported in gazebosim#263.

Signed-off-by: Steve Peters <[email protected]>
@scpeters
Copy link
Member

I've submitted a fix for the build failure in #264

mjcarroll pushed a commit that referenced this issue Oct 28, 2021
Check both SKIP_av and INTERNAL_SKIP_av before building
integration tests that require av component.
Reported in #263.

Signed-off-by: Steve Peters <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants