Skip to content

linking issue on Solaris - ld: fatal: unrecognized option --strip-debug #121381

Closed

Description

While building Rust master branch on Solaris with new beta compiler from 2024-02-04 (9784a14) I get following error:

Building bootstrap
   Compiling libc v0.2.151
..
   Compiling termcolor v1.4.0
   Compiling home v0.5.9
error: linking with `gcc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/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/bin:/usr/gnu/bin/:/usr/bin" VSLANG="1033" "gcc" "-m64" "/tmp/rustcVudrFx/symbols.o" "/builds/psumbera/rust-lang-build/build/bootstrap/debug/build/serde_json-3d0a0f4e969b1971/build_script_build-3d0a0f4e969b1971.build_script_build.22f20d396b540307-cgu.0.rcgu.o" "/builds/psumbera/rust-lang-build/build/bootstrap/debug/build/serde_json-3d0a0f4e969b1971/build_script_build-3d0a0f4e969b1971.2nfbgxrvkxklbize.rcgu.o" "-Wl,-z,ignore" "-L" "/builds/psumbera/rust-lang-build/build/bootstrap/debug/deps" "-L" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib" "-Wl,-Bstatic" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libstd-9928786342ee8f0e.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libpanic_unwind-82e2fefe18f026cf.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libobject-c0b7b4100ea52d7a.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libmemchr-9f92b5e161242b5c.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libaddr2line-c97e97ed47cabe77.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libgimli-3ee598c57fa4a8fe.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/librustc_demangle-b9f4264552f8e9dc.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libstd_detect-b1f18a4f4581f203.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libhashbrown-167eeefb37a594f2.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/librustc_std_workspace_alloc-e69a34bb5b469969.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libminiz_oxide-e8ecd3fd30775672.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libadler-bb51104b5c71d37c.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libunwind-929c7e8ad513a12d.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libcfg_if-0539aff4cd5dd71d.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/liblibc-7f1958c646d5977f.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/liballoc-bd0653933ca12878.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/librustc_std_workspace_core-8173e93f72ebef81.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libcore-e825afa3781f99a6.rlib" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib/libcompiler_builtins-a913ffd08d993ff1.rlib" "-Wl,-Bdynamic" "-lsocket" "-lposix4" "-lpthread" "-lresolv" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lsendfile" "-llgrp" "-L" "/builds/psumbera/rust-lang-build/build/x86_64-pc-solaris/stage0/lib/rustlib/x86_64-pc-solaris/lib" "-o" "/builds/psumbera/rust-lang-build/build/bootstrap/debug/build/serde_json-3d0a0f4e969b1971/build_script_build-3d0a0f4e969b1971" "-Wl,--strip-debug" "-nodefaultlibs"
  = note: ld: fatal: unrecognized option --strip-debug
          ld: fatal: use the '-z help' option for usage information
          collect2: error: ld returned 1 exit status

I was trying to bisect the issue in beta and it reports the issue comes from cargo update here 7e1e61a.

I haven't tried to bisect it further but it seems that it comes from this particuar cargo change rust-lang/cargo@bc53451 (rust-lang/cargo#13257).

Fix or workaround seems to be to apply similar changes as Illumos did some time ago here f3deac2. Particularly here:

if self.sess.target.os != "illumos" {
self.linker_arg("--strip-debug");
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    A-linkageArea: linking into static, shared libraries and binariesC-bugCategory: This is a bug.O-solarisOperating system: SolarisT-compilerRelevant to the compiler 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