ziglang/zig-bootstrap

x86_64-linux-gnux32 is broken

vrischmann opened this issue · 3 comments

Here's the error:

Install the project...
-- Install configuration: "Release"
-- Installing: /home/vincent/dev/devtools/zig-bootstrap/out/host/bin/zig
-- Set runtime path of "/home/vincent/dev/devtools/zig-bootstrap/out/host/bin/zig" to ""
-- Installing: /home/vincent/dev/devtools/zig-bootstrap/out/host/lib
-- The C compiler identification is Clang 10.0.0
-- The CXX compiler identification is Clang 10.0.0
-- The ASM compiler identification is unknown
-- Found assembler: /home/vincent/dev/devtools/zig-bootstrap/out/host/bin/zig
-- Check for working C compiler: /home/vincent/dev/devtools/zig-bootstrap/out/host/bin/zig
-- Check for working C compiler: /home/vincent/dev/devtools/zig-bootstrap/out/host/bin/zig - broken
CMake Error at /usr/share/cmake/Modules/CMakeTestCCompiler.cmake:60 (message):
  The C compiler

    "/home/vincent/dev/devtools/zig-bootstrap/out/host/bin/zig"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /home/vincent/dev/devtools/zig-bootstrap/out/build-llvm-x86_64-linux-gnux32/CMakeFiles/CMakeTmp

    Run Build Command(s):/usr/bin/gmake cmTC_56a8e/fast && /usr/bin/gmake -f CMakeFiles/cmTC_56a8e.dir/build.make CMakeFiles/cmTC_56a8e.dir/build
    gmake[1]: Entering directory '/home/vincent/dev/devtools/zig-bootstrap/out/build-llvm-x86_64-linux-gnux32/CMakeFiles/CMakeTmp'
    Building C object CMakeFiles/cmTC_56a8e.dir/testCCompiler.c.o
    /home/vincent/dev/devtools/zig-bootstrap/out/host/bin/zig  cc -target x86_64-linux-gnux32     -o CMakeFiles/cmTC_56a8e.dir/testCCompiler.c.o   -c /home/vincent/dev/devtools/zig-bootstrap/out/build-llvm-x86_64-linux-gnux32/CMakeFiles/CMakeTmp/testCCompiler.c
    Linking C executable cmTC_56a8e
    /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_56a8e.dir/link.txt --verbose=1
    /home/vincent/dev/devtools/zig-bootstrap/out/host/bin/zig  cc -target x86_64-linux-gnux32       CMakeFiles/cmTC_56a8e.dir/testCCompiler.c.o  -o cmTC_56a8e
    Assertion failed at /home/vincent/dev/devtools/zig-bootstrap/zig/src/codegen.cpp:9059 in init. This is a bug in the Zig compiler.
    Unable to dump stack trace: debug info stripped
    Error running link command: Child aborted
    gmake[1]: *** [CMakeFiles/cmTC_56a8e.dir/build.make:104: cmTC_56a8e] Error 1
    gmake[1]: Leaving directory '/home/vincent/dev/devtools/zig-bootstrap/out/build-llvm-x86_64-linux-gnux32/CMakeFiles/CMakeTmp'
    gmake: *** [Makefile:138: cmTC_56a8e/fast] Error 2

Tested on Fedora 32 beta.

Just curious, what's your use case for the gnux32 ABI?

No use case, I just tested the build out of curiosity.

alexrp commented
-- The C compiler identification is Clang 19.1.0
-- The CXX compiler identification is Clang 19.1.0
-- The ASM compiler identification is unknown
-- Found assembler: /home/alexrp/Source/zig-bootstrap/out/host/bin/zig
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/alexrp/Source/zig-bootstrap/out/host/bin/zig - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: /home/alexrp/Source/zig-bootstrap/out/host/bin/zig
-- Check for working CXX compiler: /home/alexrp/Source/zig-bootstrap/out/host/bin/zig - broken
CMake Error at /usr/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake:60 (message):
  The C++ compiler

    "/home/alexrp/Source/zig-bootstrap/out/host/bin/zig"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: '/home/alexrp/Source/zig-bootstrap/out/build-llvm-x86_64-linux-gnux32-baseline/CMakeFiles/CMakeScratch/TryCompile-B18tbZ'

    Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_fdaa8/fast
    /usr/bin/gmake  -f CMakeFiles/cmTC_fdaa8.dir/build.make CMakeFiles/cmTC_fdaa8.dir/build
    gmake[1]: Entering directory '/home/alexrp/Source/zig-bootstrap/out/build-llvm-x86_64-linux-gnux32-baseline/CMakeFiles/CMakeScratch/TryCompile-B18tbZ'
    Building CXX object CMakeFiles/cmTC_fdaa8.dir/testCXXCompiler.cxx.o
    /home/alexrp/Source/zig-bootstrap/out/host/bin/zig c++ -fno-sanitize=all -s -target x86_64-linux-gnux32 -mcpu=baseline    -MD -MT CMakeFiles/cmTC_fdaa8.dir/testCXXCompiler.cxx.o -MF CMakeFiles/cmTC_fdaa8.dir/testCXXCompiler.cxx.o.d -o CMakeFiles/cmTC_fdaa8.dir/testCXXCompiler.cxx.o -c /home/alexrp/Source/zig-bootstrap/out/build-llvm-x86_64-linux-gnux32-baseline/CMakeFiles/CMakeScratch/TryCompile-B18tbZ/testCXXCompiler.cxx
    Linking CXX executable cmTC_fdaa8
    /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fdaa8.dir/link.txt --verbose=1
    /home/alexrp/Source/zig-bootstrap/out/host/bin/zig c++ -fno-sanitize=all -s -target x86_64-linux-gnux32 -mcpu=baseline CMakeFiles/cmTC_fdaa8.dir/testCXXCompiler.cxx.o -o cmTC_fdaa8
    In file included from /home/alexrp/Source/zig-bootstrap/out/host/lib/zig/libunwind/src/libunwind.cpp:31:
    /home/alexrp/Source/zig-bootstrap/out/host/lib/zig/libunwind/src/UnwindCursor.hpp:1326:18: error: static assertion failed due to requirement 'check_fit<libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>, unw_cursor_t>::does_fit': UnwindCursor<> does not fit in unw_cursor_t
     1326 |   static_assert((check_fit<UnwindCursor<A, R>, unw_cursor_t>::does_fit),
          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/alexrp/Source/zig-bootstrap/out/host/lib/zig/libunwind/src/libunwind.cpp:87:7: note: in instantiation of member function 'libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::UnwindCursor' requested here
       87 |       UnwindCursor<LocalAddressSpace, REGISTER_KIND>(
          |       ^
    1 error generated.
    gmake[1]: *** [CMakeFiles/cmTC_fdaa8.dir/build.make:100: cmTC_fdaa8] Error 1
    gmake[1]: Leaving directory '/home/alexrp/Source/zig-bootstrap/out/build-llvm-x86_64-linux-gnux32-baseline/CMakeFiles/CMakeScratch/TryCompile-B18tbZ'
    gmake: *** [Makefile:127: cmTC_fdaa8/fast] Error 2

Seems like libunwind hasn't been ported.