Build Errors and Solutions
Mu::Parse(char const*, Mu::NodeAssembler*)
Undefined symbols for architecture x86_64:
"Mu::Parse(char const*, Mu::NodeAssembler*)", referenced from:
Mu::MuLangContext::evalText(char const*, char const*, Mu::Process*, std::__1::vector<Mu::Module const*, gc_allocator<Mu::Module const*> > const&) in libMuLang.a(MuLangContext.cpp.o)
Mu::MuLangContext::evalFile(char const*, Mu::Process*, std::__1::vector<Mu::Module const*, gc_allocator<Mu::Module const*> > const&) in libMuLang.a(MuLangContext.cpp.o)
Mu::MuLangContext::parseType(char const*, Mu::Process*) in libMuLang.a(MuLangContext.cpp.o)
Mu::MuLangContext::parseStream(Mu::Process*, std::__1::basic_istream<char, std::__1::char_traits<char> >&, char const*) in libMuLang.a(MuLangContext.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Numerous undeclared identifier ‘YYMUFlexLexer’ Errors
FlexLexer.cpp:2429:10: error: use of undeclared identifier 'YYMUFlexLexer'
void yyFlexLexer::yy_load_buffer_state()
^
Solution: Most likely, the YY prefix wasn’t set properly or at all
(macOS) from ranlib tool: XYZ has no symbols
[ 85%] Building CXX object src/lib/files/Gto/CMakeFiles/Gto.dir/Parser.cpp.o
[ 85%] Linking CXX static library libGto.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libGto.a(FlexLexer.cpp.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libGto.a(FlexLexer.cpp.o) has no symbols
[100%] Built target Gto
Solution: Most likely an empty source file was compiled.
Linker Error, Undefined symbols “Mu::Parse(char const*, Mu::NodeAssembler*)”
Undefined symbols for architecture x86_64:
"Mu::Parse(char const*, Mu::NodeAssembler*)", referenced from:
Mu::MuLangContext::evalText(char const*, char const*, Mu::Process*, std::__1::vector<Mu::Module const*, gc_allocator<Mu::Module const*> > const&) in libMuLang.a(MuLangContext.cpp.o)
Mu::MuLangContext::evalFile(char const*, Mu::Process*, std::__1::vector<Mu::Module const*, gc_allocator<Mu::Module const*> > const&) in libMuLang.a(MuLangContext.cpp.o)
Mu::MuLangContext::parseType(char const*, Mu::Process*) in libMuLang.a(MuLangContext.cpp.o)
Mu::MuLangContext::parseStream(Mu::Process*, std::__1::basic_istream<char, std::__1::char_traits<char> >&, char const*) in libMuLang.a(MuLangContext.cpp.o)
ld: symbol(s) not found for architecture x86_64
Solution: Check that Lexer/Parser compiled source aren’t empty! Compiling an empty source file won’t generate an error but would endup causing linker to complain du to missing code. This situation did occurred with sed
command being to write-back to same file. The mitigation solution was to sed
to a temporary file then rename the temporary file to the expected output filename.
Multiple ‘error: unknown type name ‘string’ reported in system files
In file included from /OpenRV/src/lib/graphics/TwkGLF/GLVideoDevice.cpp:5:
In file included from /OpenRV/src/lib/graphics/TwkGLF/GLVideoDevice.h:7:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/string:519:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__debug:14:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/iosfwd:98:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__mbstate_t.h:29:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/wchar.h:123:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/wchar.h:91:
In file included from /OpenRV/src/lib/base/TwkMath/time.h:7:
In file included from /OpenRV/src/lib/base/TwkMath/math.h:12:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/algorithm:653:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/functional:500:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__functional/function.h:20:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:22:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/allocator.h:18:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/stdexcept:83:32: error: unknown type name 'string'
explicit logic_error(const string&);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/stdexcept:106:34: error: unknown type name 'string'
explicit runtime_error(const string&);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/stdexcept:126:59: error: unknown type name 'string'
_LIBCPP_INLINE_VISIBILITY explicit domain_error(const string& __s) : logic_error(__s) {}
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/stdexcept:139:63: error: unknown type name 'string'
_LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const string& __s) : logic_error(__s) {}
(Linux) /usr/bin/env: ‘python’: No such file or directory
env: 'python': No such file or directory
CMake Error at cmake/macros/rv_quote_file.cmake:103 (message):
Couldn't create file from 'rv_about.html'
Call Stack (most recent call first):
src/lib/app/RvCommon/CMakeLists.txt:58 (quote_file2)
Solution: We need a python
command available.
The newer Ubuntu, Centos & Rocky system usually won’t have python
out of the box, they have a python3
interpreter.
One solution is to instyall pipenv
and start a local virtual environment. That will give you a python
command.
(Linux) pyconfig.h: No such file or directory
Should be in /home/nmontmarquette/local/cache/RV_build/RV_DEPS_DESKTOP_PACKAGE/src/Python3/Release/include/python3.9/pyconfig.h
/home/nmontmarquette/local/cache/RV_build/RV_DEPS_DESKTOP_PACKAGE/src/Python3/Release/bin/python3.9
(Linux) error: libaio.h: No such file or directory
/OpenRV/src/lib/base/TwkUtil/FileStream.cpp:170:10: fatal error: libaio.h: No such file or directory
#include <libaio.h>
^~~~~~~~~~
Solution:
sudo dnf install libaio-devel
(Rocky Linux)
/usr/bin/ld: ../../../lib/mu/Mu/libMu.a(Thread.cpp.o): undefined reference to symbol 'pthread_attr_getstacksize@@GLIBC_2.2.5'
//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [src/bin/apps/rv/CMakeFiles/rv.dir/build.make:228: src/bin/apps/rv/rv] Error 1
make[1]: *** [CMakeFiles/Makefile2:2525: src/bin/apps/rv/CMakeFiles/rv.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
(Linux any Distro)
/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld: ../../../lib/graphics/TwkGLF/libTwkGLF.a(GLFBO.cpp.o): undefined reference to symbol 'glBindFramebufferEXT'
//lib64/libGL.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[3]: *** [src/bin/apps/rv/CMakeFiles/rv.dir/build.make:236: src/bin/apps/rv/rv] Error 1
make[2]: *** [CMakeFiles/Makefile2:2497: src/bin/apps/rv/CMakeFiles/rv.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:2504: src/bin/apps/rv/CMakeFiles/rv.dir/rule] Error 2
make: *** [Makefile:254: rv] Error 2
[nmontmarquette@CentOS79 rv_build]$
Solution:
Ref.: Resolve “DSO missing from command line” error Ref.: error adding symbols: DSO missing from command line
Windows 10 & Windows 11 (Windows 10+) : PIP REQUIREMENTS: py7zr fails to install
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
Note: There’s an issue with the latest version of MSYS2 and Python3.xx versions. Enter the following command from the same MSYS2-MinGW64 shell if you encounter an error when installing the py7zr python requirement:
SETUPTOOLS_USE_DISTUTILS=stdlib pip install py7zr
Windows : System-wide vcpkg
Another installation of vcpkg can conflict with the one installed by the build system. Currently, there are only two possibles solutions:
Option A: Remove the automatic integration of the system-wide vcpkg into cmake using :
vcpkg integrate remove
Option B: Make sure that the right dependencies (and version) are installed in the system-wide vcpkg.
macOS, Linux, Windows
[ 99%] Linking CXX executable rv
CMakeFiles/rv.dir/main.cpp.o: In function `utf8Main(int, char**)':
/OpenRV/src/bin/apps/rv/main.cpp:419: undefined reference to `qInitResources_rv()'
collect2: error: ld returned 1 exit status
make[2]: *** [src/bin/apps/rv/rv] Error 1
make[1]: *** [src/bin/apps/rv/CMakeFiles/rv.dir/all] Error 2
make: *** [all] Error 2
Solution:
Most likely missing a qt5_add_resources
CMake statement.
Ref.: https://forum.qt.io/topic/88959/undefined-reference-to-qinitresources/2