mosra/corrade

Failed to build on FreeBSD

Closed this issue ยท 4 comments

$ cmake -S . -B build
-- The CXX compiler identification is Clang 18.1.5
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test _CORRADE_CPU_CAN_USE_IFUNC
-- Performing Test _CORRADE_CPU_CAN_USE_IFUNC - Success
-- The LIB_SUFFIX variable is not defined. It will be autodetected now.
-- You can set it manually with -DLIB_SUFFIX=<value> (64 for example).
-- LIB_SUFFIX autodetected as '64', libraries will be installed into /usr/local/lib64
-- Found Git: /usr/local/bin/git (found version "2.45.2")
-- Configuring done (1.7s)
-- Generating done (0.1s)
-- Build files have been written to: /work/corrade/build
$ gmake -C build
gmake: Entering directory '/work/corrade/build'
[  1%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Debug.cpp.o
[  3%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/ConfigurationValue.cpp.o
[  4%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/MurmurHash2.cpp.o
[  6%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Sha1.cpp.o
[  7%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/System.cpp.o
[  9%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/__/Cpu.cpp.o
[ 10%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Implementation/ErrorString.cpp.o
[ 12%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Directory.cpp.o
[ 14%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/__/Containers/StringStl.cpp.o
[ 15%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/FileWatcher.cpp.o
[ 17%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Tweakable.cpp.o
[ 18%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Configuration.cpp.o
[ 20%] Building CXX object src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Path.cpp.o
/work/corrade/src/Corrade/Utility/Path.cpp:612:42: error: expected ';' at end of declaration
  612 |     Containers::String path{NoInit, size}
      |                                          ^
      |                                          ;
1 error generated.
gmake[2]: *** [src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/build.make:244: src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Path.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:472: src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
gmake: Leaving directory '/work/corrade/build'

Hey, sorry, that was a silly error.

The commit that introduced this error was one of the fixes for #171, unfortunately the original reporter didn't follow up to confirm what I did was actually working, and unfortunately I don't have a FreeBSD environment to test on, nor a FreeBSD CI job for automatic testing.

This should be fixed in 729b1aa. Can you try with latest master and confirm that it builds for you now so I'm sure there are no other embarrassing issues? Thanks a lot!

The fix worked. Thank you.

Awesome, thanks for confirmation!

It compiles well on FreeBSD 14 for me. Rock on!!!