Skip to content

Rust build fails on Solaris after: Implement file_lock feature #132921

Closed
@psumbera

Description

@psumbera

Solaris OS doesn't support flock() and thus Rust fails to build after #130999 :

d2cdc76256313e8f23f585107c43badb49d5473d is the first bad commit
commit d2cdc76256313e8f23f585107c43badb49d5473d
Author: Christopher Berner [<me@cberner.com>](mailto:me@cberner.com)
Date:   Sun Sep 22 16:58:44 2024 -0700

    Implement file_lock feature
    
    This adds lock(), lock_shared(), try_lock(), try_lock_shared(), and
    unlock() to File gated behind the file_lock feature flag

with following error:

error: linking with `gcc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-sysroot/lib/rustlib/x86_64-pc-solaris/bin:/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/bin:/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/bin:/usr/gnu/bin/:/usr/gcc/13/bin:/usr/bin" VSLANG="1033" "gcc" "-m64" "/tmp/rustczm3gUt/symbols.o" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-rustc/x86_64-pc-solaris/release/deps/rustc_main-f7e62c1025f5dce2.rustc_main.39965e3472e7b77a-cgu.0.rcgu.o" "-Wl,-z,ignore" "-Wl,-Bdynamic" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-rustc/x86_64-pc-solaris/release/deps/librustc_driver-60ae461c5c39901a.so" "-Wl,-Bstatic" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-sysroot/lib/rustlib/x86_64-pc-solaris/lib/libcompiler_builtins-579d025a05650947.rlib" "-Wl,-Bdynamic" "-lrt" "-ldl" "-lm" "-lkstat" "-lsocket" "-lz" "-lstdc++" "-lsendfile" "-llgrp" "-lsocket" "-lposix4" "-lpthread" "-lresolv" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lsendfile" "-llgrp" "-L" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-rustc/x86_64-pc-solaris/release/build/psm-daa576ffce68f706/out" "-L" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-rustc/x86_64-pc-solaris/release/build/blake3-2e711e7084babad6/out" "-L" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-rustc/x86_64-pc-solaris/release/build/blake3-2e711e7084babad6/out" "-L" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-rustc/x86_64-pc-solaris/release/build/rustc_llvm-2c65a157dbd38377/out" "-L" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/llvm/lib" "-o" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-rustc/x86_64-pc-solaris/release/deps/rustc_main-f7e62c1025f5dce2" "-nodefaultlibs" "-Wl,-z,origin" "-Wl,-rpath,$ORIGIN/../lib"
  = note: Undefined            first referenced
           symbol                  in file
          flock                               /builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0-rustc/x86_64-pc-solaris/release/deps/librustc_driver-60ae461c5c39901a.so
          ld: fatal: symbol referencing errors
          collect2: error: ld returned 1 exit status

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.O-illumosthe other shiny OSO-solarisOperating system: SolarisT-libsRelevant to the library team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions