Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 927338 - dev-util/ruff-0.3.3 fails to compile: lib.rs:117:(.text._ZN80_$LT$tikv_jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$12alloc_zeroed17ha8163503d576f7cfE+0xa2): undefined reference to _rjem_calloc
Summary: dev-util/ruff-0.3.3 fails to compile: lib.rs:117:(.text._ZN80_$LT$tikv_jemall...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Patrick McLean
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2024-03-20 09:07 UTC by Agostino Sarubbo
Modified: 2024-04-18 21:49 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,387.50 KB, text/plain)
2024-03-20 09:07 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2024-03-20 09:07:42 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: dev-util/ruff-0.3.3 fails to compile.
Discovered on: amd64 (internal ref: tinderbox_musl)
System: MUSL-SYSTEM (https://wiki.gentoo.org/wiki/Project:Tinderbox/Common_Issues_Helper#MUSL)

Info about the issue:
https://wiki.gentoo.org/wiki/Project:Tinderbox/Common_Issues_Helper#CF0014
Comment 1 Agostino Sarubbo gentoo-dev 2024-03-20 09:07:43 UTC
Created attachment 887977 [details]
build.log

build log and emerge --info
Comment 2 Agostino Sarubbo gentoo-dev 2024-03-20 09:07:44 UTC
Error(s) that match a know pattern in addition to what has been reported in the summary:


          /usr/lib/gcc/x86_64-gentoo-linux-musl/13/../../../../x86_64-gentoo-linux-musl/bin/ld: /var/tmp/portage/dev-util/ruff-0.3.3/work/cargo_home/gentoo/tikv-jemallocator-0.5.4/src/lib.rs:107:(.text._ZN80_$LT$tikv_jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$5alloc17h4a1e67ddf4b72d71E+0xbb): undefined reference to `_rjem_mallocx'
          /usr/lib/gcc/x86_64-gentoo-linux-musl/13/../../../../x86_64-gentoo-linux-musl/bin/ld: /var/tmp/portage/dev-util/ruff-0.3.3/work/cargo_home/gentoo/tikv-jemallocator-0.5.4/src/lib.rs:119:(.text._ZN80_$LT$tikv_jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$12alloc_zeroed17ha8163503d576f7cfE+0xc3): undefined reference to `_rjem_mallocx'
          /usr/lib/gcc/x86_64-gentoo-linux-musl/13/../../../../x86_64-gentoo-linux-musl/bin/ld: /var/tmp/portage/dev-util/ruff-0.3.3/work/cargo_home/gentoo/tikv-jemallocator-0.5.4/src/lib.rs:140:(.text._ZN80_$LT$tikv_jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$7realloc17h07500937e1ebe6a4E+0xfd): undefined reference to `_rjem_rallocx'
          /var/tmp/portage/dev-util/ruff-0.3.3/work/cargo_home/gentoo/tikv-jemallocator-0.5.4/src/lib.rs:105:(.text._ZN80_$LT$tikv_jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$5alloc17h4a1e67ddf4b72d71E+0x9d): undefined reference to `_rjem_malloc'
          /var/tmp/portage/dev-util/ruff-0.3.3/work/cargo_home/gentoo/tikv-jemallocator-0.5.4/src/lib.rs:117:(.text._ZN80_$LT$tikv_jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$12alloc_zeroed17ha8163503d576f7cfE+0xa2): undefined reference to `_rjem_calloc'
          /var/tmp/portage/dev-util/ruff-0.3.3/work/cargo_home/gentoo/tikv-jemallocator-0.5.4/src/lib.rs:129:(.text._ZN80_$LT$tikv_jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$7dealloc17h0ef3983372cc4e2dE+0xf6): undefined reference to `_rjem_sdallocx'
          /var/tmp/portage/dev-util/ruff-0.3.3/work/cargo_home/gentoo/tikv-jemallocator-0.5.4/src/lib.rs:138:(.text._ZN80_$LT$tikv_jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$7realloc17h07500937e1ebe6a4E+0xe2): undefined reference to `_rjem_realloc'
error: linking with `cc` failed: exit status: 1
Comment 3 Eli Schwartz 2024-03-20 20:37:06 UTC
This works fine for me and I'm guessing the problem is musl. Hopefully someone who knows can figure it out.

For a bit of context, jemalloc is the system jemalloc:

CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1
JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so

So perhaps rust is just freaking out a bit since it thinks that musl is solely a libc for building statically linked binaries and distributing to glibc users.
Comment 4 Larry the Git Cow gentoo-dev 2024-04-18 21:49:10 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e735907abbff44872d16a5320a6041fd47c18f4e

commit e735907abbff44872d16a5320a6041fd47c18f4e
Author:     LinuxUserGD <hugegameartgd@gmail.com>
AuthorDate: 2024-04-14 16:58:26 +0000
Commit:     Patrick McLean <chutzpah@gentoo.org>
CommitDate: 2024-04-18 21:42:21 +0000

    dev-util/ruff: disable unprefixed malloc on unsupported platforms
    
    Closes: https://bugs.gentoo.org/927338
    Closes: https://bugs.gentoo.org/928621
    Signed-off-by: LinuxUserGD <hugegameartgd@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/36256
    Signed-off-by: Patrick McLean <chutzpah@gentoo.org>

 dev-util/ruff/ruff-0.3.7.ebuild | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)