-
Notifications
You must be signed in to change notification settings - Fork 358
Description
Hi I have been trying to build faust with msys2 because I would like to use the benchmark tools which are not included when you install faust with the installer. I have followed these instructions to try to build faust with msys2 (MinGW 64-bit on Windows 10). This works if I do the default building of Faust (just by calling make
alone as per instructions) and I can see in build/bin a faust.exe file is generated. However, if I try to call make all
or make developer
the build appears to proceed successfully up until linking the faust.exe file where it fails. Apparently I need to call make all
or make developer
so I can then follow these instructions to install the benchmark tools I need. I always ensure I call git clean -fdx
between builds to make sure any build files are removed before building again (as recommended here). Is this a known issue and is there a workaround? My best guess is that this issue is something to do with the fact that make all
or make developer
differs from make
by compiling and installing the LLVM backend. However, I also noticed that I had to deviate slightly from the msys2 instructions. A call to pacman -S mingw-w64-x86_64-make
did not allow me to call make
so I had to also call pacman -S make
in order to do this. Could this be the cause of the problem?
Below is the output of the build step that fails (seems to be something to do with finding multiple definitions for the same thing):
[ 29%] Linking CXX executable /C/Users/jonay/Documents/Faust/faust/build/bin/faust.exe
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/lib/libLLVMSPIRVCodeGen.a(SPIRVBuiltins.cp
p.obj):(.bss$_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb0EEclEcE5__nul[_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb
0ELb0EEclEcE5__nul]+0x0): multiple definition ofstd::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, false, false>::operator()(char) const::__nul '; CMakeFiles/faust.dir/objects.a(sigToGraph.cpp.obj):sigToGraph.cpp:(.data$_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb0EEclEcE5__nul[_Z ZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb0EEclEcE5__nul]+0x0): first defined here C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/lib/libLLVMSPIRVCodeGen.a(SPIRVBuiltins.cp p.obj):(.bss$_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb0EEclEcE5__nul[_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb 0ELb0ELb0EEclEcE5__nul]+0x0): multiple definition of
guard variable for std::__detail::_AnyMatcher<std::__cxx11::regex_traits, false, false, false>::operat
or()(char) const::__nul'; CMakeFiles/faust.dir/objects.a(sigToGraph.cpp.obj):sigToGraph.cpp:(.data$_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb
0ELb0ELb0EEclEcE5__nul[_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb0EEclEcE5__nul]+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/lib/libLLVMSPIRVCodeGen.a(SPIRVBuiltins.cp
p.obj):(.bss$_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb1EEclEcE5__nul[_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb
0ELb1EEclEcE5__nul]+0x0): multiple definition ofstd::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, false, true>::operator()(char) const::__nul' ; CMakeFiles/faust.dir/objects.a(sigToGraph.cpp.obj):sigToGraph.cpp:(.data$_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb1EEclEcE5__nul[_ZZ NKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb1EEclEcE5__nul]+0x0): first defined here C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/lib/libLLVMSPIRVCodeGen.a(SPIRVBuiltins.cp p.obj):(.bss$_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb1EEclEcE5__nul[_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb 0ELb0ELb1EEclEcE5__nul]+0x0): multiple definition of
guard variable for std::__detail::_AnyMatcher<std::__cxx11::regex_traits, false, false, true>::operato
r()(char) const::__nul'; CMakeFiles/faust.dir/objects.a(sigToGraph.cpp.obj):sigToGraph.cpp:(.data$_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0
ELb0ELb1EEclEcE5__nul[_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0ELb1EEclEcE5__nul]+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/lib/libLLVMSPIRVCodeGen.a(SPIRVBuiltins.cp
p.obj):(.bss$_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb0EEclEcE5__nul[_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb
1ELb0EEclEcE5__nul]+0x0): multiple definition ofstd::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, true, false>::operator()(char) const::__nul' ; CMakeFiles/faust.dir/objects.a(sigToGraph.cpp.obj):sigToGraph.cpp:(.data$_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb0EEclEcE5__nul[_ZZ NKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb0EEclEcE5__nul]+0x0): first defined here C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/lib/libLLVMSPIRVCodeGen.a(SPIRVBuiltins.cp p.obj):(.bss$_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb0EEclEcE5__nul[_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb 0ELb1ELb0EEclEcE5__nul]+0x0): multiple definition of
guard variable for std::__detail::_AnyMatcher<std::__cxx11::regex_traits, false, true, false>::operato
r()(char) const::__nul'; CMakeFiles/faust.dir/objects.a(sigToGraph.cpp.obj):sigToGraph.cpp:(.data$_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0
ELb1ELb0EEclEcE5__nul[_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb0EEclEcE5__nul]+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/lib/libLLVMSPIRVCodeGen.a(SPIRVBuiltins.cp
p.obj):(.bss$_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb1EEclEcE5__nul[_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb
1ELb1EEclEcE5__nul]+0x0): multiple definition ofstd::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, true, true>::operator()(char) const::__nul'; CMakeFiles/faust.dir/objects.a(sigToGraph.cpp.obj):sigToGraph.cpp:(.data$_ZZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb1EEclEcE5__nul[_ZZN KSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb1EEclEcE5__nul]+0x0): first defined here C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/lib/libLLVMSPIRVCodeGen.a(SPIRVBuiltins.cp p.obj):(.bss$_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb1EEclEcE5__nul[_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb 0ELb1ELb1EEclEcE5__nul]+0x0): multiple definition of
guard variable for std::__detail::_AnyMatcher<std::__cxx11::regex_traits, false, true, true>::operator
()(char) const::__nul'; CMakeFiles/faust.dir/objects.a(sigToGraph.cpp.obj):sigToGraph.cpp:(.data$_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0E
Lb1ELb1EEclEcE5__nul[_ZGVZNKSt8__detail11_AnyMatcherINSt7__cxx1112regex_traitsIcEELb0ELb1ELb1EEclEcE5__nul]+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
make[4]: *** [CMakeFiles/faust.dir/build.make:3533: C:/Users/jonay/Documents/Faust/faust/build/bin/faust.exe] Error 1
make[3]: *** [CMakeFiles/Makefile2:216: CMakeFiles/faust.dir/all] Error 2
make[2]: *** [Makefile:156: all] Error 2
make[2]: Leaving directory '/c/Users/jonay/Documents/Faust/faust/build/faustdir'
make[1]: *** [Makefile:106: all] Error 2
make[1]: Leaving directory '/c/Users/jonay/Documents/Faust/faust/build'
make: *** [Makefile:41: all] Error 2