[Bug 2049904] Re: meson x rustc library ordering issue

Mate Kukri 2049904 at bugs.launchpad.net
Fri Feb 16 15:52:50 UTC 2024


@oibaf

Ah I understand that now, I just blanked and missed for a second this
was always marked "Fix Released" for Debian on here.

I believe the DM for this package (jpakkane) is also one of the main
upstream maintainers (and designer) of Meson, I wonder about his opinion
on whether this is appropriate for inclusion in Debian and/or Meson? I
am currently of the belief that rustc cannot internally know that a
specific library given to it on a command line depends on libc so it
needs to be told some way, but maybe it would be reasonable for rustc to
always link with libc last.

However the above is a rather subtle point, and this patch does fix the
library ordering issue at least for the specific case of implicit libc
use, so I don't see it doing anymore harm in being Ubuntu. This however
isn't my primary domain, so I'd rather leave a "proper" fix up-to
someone who is more interested in these kinds of problems.

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/2049904

Title:
  meson x rustc library ordering issue

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 Ubuntu-sponsors mailing list