Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 947693 - net-im/fractal-10_beta: Fails to build - undefined reference to symbol 'WebPValidateConfig'
Summary: net-im/fractal-10_beta: Fails to build - undefined reference to symbol 'WebPV...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Michał Górny
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-07 23:27 UTC by zyxhere
Modified: 2025-01-16 18:59 UTC (History)
2 users (show)

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


Attachments
build.log.xz (build.log.xz,56.25 KB, application/x-xz)
2025-01-07 23:27 UTC, zyxhere
Details
/var/tmp/portage/net-im/fractal-10_beta/temp/environment (environment,149.43 KB, text/plain)
2025-01-07 23:28 UTC, zyxhere
Details
build.log.xz (build.log.xz,60.62 KB, application/x-xz)
2025-01-08 12:51 UTC, zyxhere
Details

Note You need to log in before you can comment on or make changes to this bug.
Description zyxhere 2025-01-07 23:27:15 UTC
Created attachment 916080 [details]
build.log.xz

error[E0275]: overflow evaluating the requirement `PhantomData<(SigningKeyAlgorithm, ServerSigningKeyVersion)>: std::marker::Sync`

error[E0275]: overflow evaluating the requirement `alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, OwnedKeyId<SigningKeyAlgorithm, ServerSigningKeyVersion>, std::string::String, alloc::collections::btree::node::marker::LeafOrInternal>: std::marker::Sync`

user@localhost ~ $ emerge --info
Portage 3.0.66.1 (python 3.12.8-final-0, default/linux/amd64/23.0/no-multilib/hardened, gcc-14, glibc-2.40-r5, 6.12.8-gentoo-dist-hardened x86_64)
=================================================================
System uname: Linux-6.12.8-gentoo-dist-hardened-x86_64-12th_Gen_Intel-R-_Core-TM-_i5-1235U-with-glibc2.40
KiB Mem:    11952264 total,   6193936 free
KiB Swap:   11956632 total,  11544272 free
Timestamp of repository gentoo: Tue, 07 Jan 2025 22:03:57 +0000
Head commit of repository gentoo: 6d40bd0071d50b33dbdc2837bcd966569685da45

sh bash 5.2_p37
ld GNU ld (Gentoo 2.43 p3) 2.43.1
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.30.6::gentoo
dev-build/libtool:         2.5.4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.5.2::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.12.8::gentoo, 3.13.1::gentoo
dev-lang/rust-bin:         1.81.0-r101::gentoo, 1.82.0-r101::gentoo
llvm-core/clang:           18.1.8-r6::gentoo
llvm-core/lld:             18.1.8::gentoo
llvm-core/llvm:            18.1.8-r6::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/openrc:           0.55.1::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.43-r2::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             14.2.1_p20241221::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-kernel/linux-headers:  6.12::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/sync/gentoo.git
    priority: -1000
    volatile: False

local
    location: /var/db/repos/local
    masters: gentoo
    volatile: False

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64

Installed sets: @base, @gnomie, @utils
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d"
CXXFLAGS="-march=native -O2 -pipe -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j5 -l6"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RUSTFLAGS=" -C target-cpu=native"
SHELL="/bin/bash"
USE="acl amd64 archive avif branding bzip2 cet crypt dbus dist-kernel elogind fontconfig gdbm gdk-pixbuf gif gles2 gnome gnome-keyring gstreamer gtk gtk3 gtk4 hardened heif iconv icu introspection io-uring ipv6 jpeg jpegxl keyring lcms libtirpc lto lz4 lzma lzo modemmanager ncurses networkmanager nls ogg opengl openmp opus orc pam pcre pgo pic pie pipewire png policykit readline screencast seccomp spell ssl ssp svg test-rust tiff tpm truetype udev unicode usb vaapi vpx vulkan wayland webp xattr xml xtpax zlib zstd" ABI_X86="64" ADA_TARGET="gcc_13" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 ssse3 vpclmulqdq" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_SLOT="18" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 zyxhere 2025-01-07 23:28:17 UTC
Created attachment 916081 [details]
/var/tmp/portage/net-im/fractal-10_beta/temp/environment
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2025-01-08 08:07:33 UTC
I'm afraid that's beyond my pay grade.  You can try Rust 1.83.0, and see if that helps (though I couldn't reproduce with 1.82.0).  If it does, I'll just bump the requirement.
Comment 3 zyxhere 2025-01-08 12:51:27 UTC
Created attachment 916100 [details]
build.log.xz

It got past that point with rust-1.83 but fails with a newer error

  = note: /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/net-im/fractal-10_beta/work/fractal-10_beta-build/src/release/deps/fractal-04a900087bc94d70.webp-2d1de37ca81c5340.webp.44d3d419c7eb46ff-cgu.0.rcgu.o.rcgu.o: undefined reference to symbol 'WebPValidateConfig'
          /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libwebp.so.7: error adding symbols: DSO missing from command line
          collect2: error: ld returned 1 exit status
          
  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = 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#rustc-link-lib)

error: could not compile `fractal` (bin "fractal") due to 1 previous error
Comment 4 Julien Roy 2025-01-15 20:03:48 UTC
Had the same issue on 10_beta, but it's fixed for me on 10_rc (rust 1.82.0)
Comment 5 zyxhere 2025-01-16 13:08:04 UTC
(In reply to Julien Roy from comment #4)
> Had the same issue on 10_beta, but it's fixed for me on 10_rc (rust 1.82.0)

The libwebp one or the original? I'm still getting the webp errors even with the beta. I'm ganna try different rust versions but with lto and debug symbols enabled fractal takes forever to build (if it doesn't OOM first).
Comment 6 Julien Roy 2025-01-16 13:56:12 UTC
(In reply to zyxhere from comment #5)
> The libwebp one or the original? 
The original

> lto 

LTO failed to build for me even on 10_rc, had to build it without LTO.
Comment 7 zyxhere 2025-01-16 14:10:50 UTC
I meant that the build system itself enables debugging symbols and LTO

https://gitlab.gnome.org/World/fractal/-/blob/10.rc/Cargo.toml?ref_type=tags#L11
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2025-01-16 15:08:27 UTC
(In reply to zyxhere from comment #7)
> I meant that the build system itself enables debugging symbols and LTO
> 
> https://gitlab.gnome.org/World/fractal/-/blob/10.rc/Cargo.
> toml?ref_type=tags#L11

Ah, sorry, I was supposed to disable that.  Will do that shortly, after confirming that it still builds.
Comment 9 zyxhere 2025-01-16 15:15:55 UTC
I'm also spinning up a fresh chroot to see if it builds there, btw glycin has a missing dependency on git https://bugs.gentoo.org/948192 so doesn't build there
Comment 10 zyxhere 2025-01-16 15:33:54 UTC
I had masked llvm-{core,runtime}-19 and changed LLVM_SLOT="18" as I didn't want to waste time building clang-19 but it prevents fractal from being build.
I hit this bug https://bugs.gentoo.org/show_bug.cgi?id=947374

You have to emerge -avDu fractal, otherwise clang-19 doesn't get pulled in, not even -avuDU @world pulls it in.
Comment 11 zyxhere 2025-01-16 16:49:41 UTC
Oof built fine in a fresh chroot, will try removing LTO from webp to see if that helps me.
Comment 12 zyxhere 2025-01-16 17:28:25 UTC
It builds!

Re-emerging libwebp wihthout -flto fixes the linker issue.
Now what to do with this bug? Close it? Report upstream? Not sure what to do..
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-16 17:32:38 UTC
(In reply to zyxhere from comment #12)
> It builds!
> 
> Re-emerging libwebp wihthout -flto fixes the linker issue.
> Now what to do with this bug? Close it? Report upstream? Not sure what to
> do..

It's likely because it's trying to link statically with libwebp. It's not quite a bug on anyone's side. Just a quirk of how LTO works with static libraries.

I suppose the bug here would be, if I'm right, with fractal not linking dynaimcally w/ libwebp.
Comment 14 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2025-01-16 18:12:57 UTC
Oh, and that would explain why the scripts reported libwebp as unnecessary dep.  Lemme try to figure this out.
Comment 15 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2025-01-16 18:19:03 UTC
Okay, so libwebp-sys is an average Rust crate that vendors libwebp and refuses to support system lib at all [1], so... my best guess is that the vendored library built into Fractal somehow conflicts with shared libwebp used by something else.
Comment 16 Larry the Git Cow gentoo-dev 2025-01-16 18:59:29 UTC
The bug has been referenced in the following commit(s):

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

commit 84c8e0daded778d9929266e30244055283902bf6
Author:     Michał Górny <mgorny@gentoo.org>
AuthorDate: 2025-01-16 18:28:50 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2025-01-16 18:59:25 +0000

    net-im/fractal: Force linking libwebp dynamically
    
    Bug: https://bugs.gentoo.org/947693
    Signed-off-by: Michał Górny <mgorny@gentoo.org>

 net-im/fractal/{fractal-10_rc.ebuild => fractal-10_rc-r1.ebuild} | 8 ++++++++
 1 file changed, 8 insertions(+)