Skip to content

cannot build libc on old linux: faccessat.cpp:27:2: error: "faccessat2 syscall is not available." #163091

@sylvestre

Description

@sylvestre

fails on Ubuntu focal and debian bullseye

FAILED: libc/src/unistd/linux/CMakeFiles/libc.src.unistd.linux.faccessat.dir/faccessat.cpp.o 
/build/source/build-llvm/./bin/clang++ --target=x86_64-pc-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_22_0_0_ -I/build/source/libc -isystem libc/include -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fdebug-prefix-map=/build/source/build-llvm/runtimes/runtimes-bins=../../../ -fdebug-prefix-map=/build/source/= -no-canonical-prefixes -ffile-prefix-map=/build/source/build-llvm/runtimes/runtimes-bins=../../../ -ffile-prefix-map=/build/source/= -no-canonical-prefixes -O3 -DNDEBUG -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/unistd/linux/CMakeFiles/libc.src.unistd.linux.faccessat.dir/faccessat.cpp.o -MF libc/src/unistd/linux/CMakeFiles/libc.src.unistd.linux.faccessat.dir/faccessat.cpp.o.d -o libc/src/unistd/linux/CMakeFiles/libc.src.unistd.linux.faccessat.dir/faccessat.cpp.o -c /build/source/libc/src/unistd/linux/faccessat.cpp
/build/source/libc/src/unistd/linux/faccessat.cpp:27:2: error: "faccessat2 syscall is not available."
   27 | #error "faccessat2 syscall is not available."
      |  ^

I am just going to disable libc for these archs. Opening in case others sees that

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions