Open kivikakk opened 3 years ago
I got a little more familiar with how Zig compiles things! Looks like this is because we don't package a libc for FreeBSD; accordingly, it's not in available_libcs
, and one way or another we end up returning an empty libc_include_dir_list
here.
Similar output with x86_64-gentoo-linux-musl
host:
-- Found ccache /usr/bin/ccache
-- Configuring zig version 0.10.0-dev.2931+bdf3fa12f
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/zig-bootstrap/out/build-zig-host
[ 1%] Built target opt_c_util
[ 82%] Built target embedded_softfloat
[ 86%] Built target zigcpp
[ 98%] Built target zigstage1
[ 99%] Built target zig0
[100%] Built target zig
Install the project...
-- Install configuration: "Release"
-- Installing: /home/user/zig-bootstrap/out/host/bin/zig
-- Set runtime path of "/home/user/zig-bootstrap/out/host/bin/zig" to ""
-- Installing: /home/user/zig-bootstrap/out/host/lib
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- The C compiler identification is Clang 14.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /home/user/zig-bootstrap/out/host/bin/zig
-- Check for working C compiler: /home/user/zig-bootstrap/out/host/bin/zig - broken
CMake Error at /usr/share/cmake/Modules/CMakeTestCCompiler.cmake:69 (message):
The C compiler
"/home/user/zig-bootstrap/out/host/bin/zig"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /home/user/zig-bootstrap/out/build-zlib-x86_64-freebsd-gnu-baseline/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_ab393/fast && /usr/bin/gmake -f CMakeFiles/cmTC_ab393.dir/build.make CMakeFiles/cmTC_ab393.dir/build
gmake[1]: Entering directory '/home/user/zig-bootstrap/out/build-zlib-x86_64-freebsd-gnu-baseline/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_ab393.dir/testCCompiler.c.o
/home/user/zig-bootstrap/out/host/bin/zig cc -fno-sanitize=all -s -target x86_64-freebsd-gnu -mcpu=baseline -MD -MT CMakeFiles/cmTC_ab393.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_ab393.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_ab393.dir/testCCompiler.c.o -c /home/user/zig-bootstrap/out/build-zlib-x86_64-freebsd-gnu-baseline/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_ab393
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ab393.dir/link.txt --verbose=1
/home/user/zig-bootstrap/out/host/bin/zig cc -fno-sanitize=all -s -target x86_64-freebsd-gnu -mcpu=baseline CMakeFiles/cmTC_ab393.dir/testCCompiler.c.o -o cmTC_ab393
error: libc not available
error: run 'zig libc -h' to learn about libc installations
error: run 'zig targets' to see the targets for which zig can always provide libc
gmake[1]: *** [CMakeFiles/cmTC_ab393.dir/build.make:100: cmTC_ab393] Error 1
gmake[1]: Leaving directory '/home/user/zig-bootstrap/out/build-zlib-x86_64-freebsd-gnu-baseline/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:127: cmTC_ab393/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:4 (project)
-- Configuring incomplete, errors occurred!
See also "/home/user/zig-bootstrap/out/build-zlib-x86_64-freebsd-gnu-baseline/CMakeFiles/CMakeOutput.log".
See also "/home/user/zig-bootstrap/out/build-zlib-x86_64-freebsd-gnu-baseline/CMakeFiles/CMakeError.log".
It works fine if you build on a FreeBSD host with this command:
CMAKE_GENERATOR=Ninja ./build x86_64-native baseline
however, zig does not have the ability to cross-compile for this target yet.
We get pretty far: