[Bug 2049904] Re: proposed migration for meson 1.3.1-1

Jussi Pakkanen 2049904 at bugs.launchpad.net
Tue Feb 13 17:27:45 UTC 2024


> it's rustc itself that emits `-lc` at the wrong location

Then this is a rustc bug and needs to be fixed there, not worked around
after the fact by adding hacks on top of hacks on top of hacks.

In either case the patch you posted is incorrect. You don't need a
dependency just to inject a link argument and in either case it should
not go in the static library, because link arguments are never passed to
it directly (as the static linker takes no arguments). A better way
would be to create a dep that has the library and the corresponding
flag, but even that is not really great. Doing it would mean that every
single project that links C and Rust code together needs to copypaste
the same workaround. This needs to be fixed properly once so that most
developers won't even know that this is a thing that exists.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to rustc in Ubuntu.
https://bugs.launchpad.net/bugs/2049904

Title:
  proposed migration for meson 1.3.1-1

Status in meson package in Ubuntu:
  New
Status in rustc package in Ubuntu:
  New
Status in meson package in Debian:
  Fix Released

Bug description:
  meson 1.3.1-1 is stuck in -proposed with failing autopkgtests on
  arm64.

  This is failing the same way in debian.

  Two tests in the test suite are failing when compiling (apparently for
  the same reason):

  2308s   = note: /usr/bin/ld: libcpp.a.p/lib.cpp.o: undefined reference to symbol '__stack_chk_guard@@GLIBC_2.17'
  2308s           /usr/bin/ld: /lib/ld-linux-aarch64.so.1: error adding symbols: DSO missing from command line
  2308s           collect2: error: ld returned 1 exit status
  2308s
  2308s   = note: some `extern` functions couldn't be found; some native libraries may need to be installed or havetheir path specified
  2308s   = note: use the `-l` flag to specify native libraries to link
  2308s   = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

  It looks like this is linked to a newly added or missing `-fstack-
  protector-all` flag.

  Some research on this error lead me to try adding this `-fstack-
  protected` flag when building on arm64.

  See my patch [0] and the package in my ppa [1].

  But autopkgtests are still failing [2] and it looks like my flag is
  ignored. I may have missed something in the meson syntax.

  [0] https://launchpadlibrarian.net/710064457/meson_1.3.1-1ubuntu1_1.3.1-1ubuntu2.diff.gz
  [1] https://launchpad.net/~upils/+archive/ubuntu/test-ppa/+packages
  [2] https://autopkgtest.ubuntu.com/results/autopkgtest-noble-upils-test-ppa/noble/arm64/m/meson/20240119_115804_82043@/log.gz

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/meson/+bug/2049904/+subscriptions




More information about the foundations-bugs mailing list