When using cmake to generate make-based build scripts, I get the following error when building:
...
[ 5%] Building ASM object Userland/Libraries/LibC/CMakeFiles/LibCStaticWithoutDeps.dir/__/LibELF/Arch/i386/plt_trampoline.S.o
[ 5%] Building ASM object Userland/Libraries/LibC/CMakeFiles/LibCStaticWithoutDeps.dir/arch/i386/setjmp.S.o
[ 5%] Linking CXX static library libLibCStaticWithoutDeps.a
[ 5%] Built target LibCStaticWithoutDeps
[ 5%] Built target LibCStatic
Scanning dependencies of target LibC
[ 5%] Building CXX object Userland/Libraries/LibC/CMakeFiles/LibC.dir/arpa/inet.cpp.o
[ 5%] Building CXX object Userland/Libraries/LibC/CMakeFiles/LibC.dir/assert.cpp.o
...
[ 7%] Building ASM object Userland/Libraries/LibC/CMakeFiles/LibC.dir/__/LibELF/Arch/i386/plt_trampoline.S.o
[ 7%] Building ASM object Userland/Libraries/LibC/CMakeFiles/LibC.dir/arch/i386/setjmp.S.o
[ 7%] Linking CXX shared library libc.so
/Users/keith/dev/serenity/Toolchain/Local/i686/bin/../lib/gcc/i686-pc-serenity/10.3.0/../../../../i686-pc-serenity/bin/ld: cannot find crt0_shared.o: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [Userland/Libraries/LibC/libc.so] Error 1
make[1]: *** [Userland/Libraries/LibC/CMakeFiles/LibC.dir/all] Error 2
make: *** [all] Error 2
It's indeed the case that crt0_shared.o is not shown as being built in the build progress information.
Invoking cmake --build . --verbose --target install to get verbose output, I see the following failing command. It's not at all apparent to me where the requirement for crt0_shared.o is being established:
When using
cmake
to generatemake
-based build scripts, I get the following error when building:It's indeed the case that
crt0_shared.o
is not shown as being built in the build progress information.Invoking
cmake --build . --verbose --target install
to get verbose output, I see the following failing command. It's not at all apparent to me where the requirement forcrt0_shared.o
is being established:I'll note that building with the
ninja
-based build scripts succeeds.