Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 955902 - x11-libs/wxGTK-3.2.8 - failed to set dynamic section sizes: bad value
Summary: x11-libs/wxGTK-3.2.8 - failed to set dynamic section sizes: bad value
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo wxWidgets project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 955299 955932
  Show dependency tree
 
Reported: 2025-05-13 06:15 UTC by Leonid Kopylov
Modified: 2025-05-14 00:46 UTC (History)
33 users (show)

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


Attachments
build.log.xz (build.log.xz,15.97 KB, application/x-xz)
2025-05-13 06:16 UTC, Leonid Kopylov
Details
Working ebuild (wxGTK-3.2.8.ebuild,8.17 KB, text/plain)
2025-05-13 14:58 UTC, Vladislav Mikhailikov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Kopylov 2025-05-13 06:15:59 UTC
# emerge -pqv '=x11-libs/wxGTK-3.2.8::gentoo'
[ebuild     U ] x11-libs/wxGTK-3.2.8 [3.2.7-r1] USE="X curl doc gstreamer keyring libnotify lzma opengl sdl spell tiff wayland webkit -debug (-pch) -test" ABI_X86="32 (64) (-x32)"

# emerge --info '=x11-libs/wxGTK-3.2.8::gentoo'
Portage 3.0.68 (python 3.13.3-final-0, default/linux/amd64/23.0/desktop/gnome/systemd, gcc-15, glibc-2.41-r2, 6.14.6-gentoo-amd64 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.14.6-gentoo-amd64-x86_64-13th_Gen_Intel-R-_Core-TM-_i7-1370P-with-glibc2.41
KiB Mem:    65392136 total,   4058656 free
KiB Swap:    8388604 total,   7755164 free
Timestamp of repository gentoo: Tue, 13 May 2025 03:15:00 +0000
Head commit of repository gentoo: 283366d7d60ed86f2fd411be3ff64357931bec80
Timestamp of repository HomeAssistantRepository: Mon, 19 Aug 2024 18:34:04 +0000
Head commit of repository HomeAssistantRepository: b0506a52160937fa564a4ed5724866ea81f3bb2d

Head commit of repository SarahMiaOverlay: 8f9408f4c6521b226c08bcdaf774b075cc2ff4cd

Head commit of repository brave-overlay: faf80274a7ff0dc62417777cca8d2e467bbf97b9

Head commit of repository elementary: 208876f73d9796cbd8663cbc2601e6deda7376da

Timestamp of repository guru: Sat, 10 May 2025 20:25:05 +0000
Head commit of repository guru: b3e6db0846bfcb6cbeb5acf5c7fb12c12b60d1e9

Head commit of repository inode64-overlay: 83883b0d38be1ebcc36eb80ae445e428ebad11b8

Head commit of repository kde: 1370b0ed0b30b9f8ece0998a26d9c8c7a7d7e5d2

Head commit of repository kodi-overlay: 05abbd2f1760ac237cc7f4f4b86a1f250fd384e1

Head commit of repository pentoo: f0eaf1d431aaa6673346e2065f2b4f88dda48c30

Head commit of repository torbrowser: 40d37b12e1ab910f539707fd86e4a0ac68c45658

sh bash 5.2_p37-r3
ld GNU ld (Gentoo 2.44 p1) 2.44.0
ccache version 4.11.3 [enabled]
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.2_p37-r3::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.17-r2::gentoo
dev-build/cmake:           3.31.7-r1::gentoo
dev-build/libtool:         2.5.4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.8.0::gentoo
dev-java/java-config:      2.3.4::gentoo
dev-lang/perl:             5.40.2::gentoo
dev-lang/python:           3.10.17::gentoo, 3.11.12::gentoo, 3.12.10::gentoo, 3.13.3::gentoo, 3.13.3-r100::gentoo, 3.14.0_beta1::gentoo, 3.14.0_beta1-r100::gentoo
dev-lang/rust:             1.85.1::gentoo, 1.86.0-r1::gentoo
dev-lang/rust-bin:         1.81.0-r103::gentoo, 1.84.1-r2::gentoo, 1.85.1::gentoo, 1.86.0-r1::gentoo
dev-util/ccache:           4.11.3::gentoo
llvm-core/clang:           15.0.7-r3::gentoo, 16.0.6::gentoo, 17.0.6::gentoo, 18.1.8-r6::gentoo, 19.1.7::gentoo, 20.1.4::gentoo
llvm-core/lld:             15.0.7::gentoo, 19.1.7::gentoo
llvm-core/llvm:            15.0.7-r7::gentoo, 16.0.6-r5::gentoo, 17.0.6-r3::gentoo, 18.1.8-r6::gentoo, 19.1.7::gentoo, 20.1.4::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/sandbox:          2.46::gentoo
sys-apps/systemd:          257.5::gentoo
sys-devel/binutils:        2.44::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             13.3.1_p20250418::gentoo, 14.2.1_p20250419::gentoo, 15.1.0::gentoo
sys-devel/gcc-config:      2.12.1::gentoo
sys-kernel/linux-headers:  6.14::gentoo (virtual/os-headers)
sys-libs/glibc:            2.41-r2::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://gentoo.kopylovs.net/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts:

HomeAssistantRepository
    location: /var/db/repos/HomeAssistantRepository
    sync-type: git
    sync-uri: https://git.edevau.net/onkelbeh/HomeAssistantRepository.git
    masters: gentoo
    volatile: False

SarahMiaOverlay
    location: /var/db/repos/SarahMiaOverlay
    sync-type: git
    sync-uri: https://gitlab.com/SarahMia/sarahmiaoverlay.git
    masters: gentoo
    volatile: False

brave-overlay
    location: /var/db/repos/brave-overlay
    sync-type: git
    sync-uri: https://gitlab.com/jason.oliveira/brave-overlay.git
    masters: gentoo
    volatile: False

elementary
    location: /var/db/repos/elementary
    sync-type: git
    sync-uri: https://github.com/pimvullers/elementary.git
    masters: gentoo
    volatile: False

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

inode64-overlay
    location: /var/db/repos/inode64-overlay
    sync-type: git
    sync-uri: https://github.com/inode64/inode64-overlay.git
    masters: gentoo
    volatile: False

kde
    location: /var/db/repos/kde
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/proj/kde.git
    masters: gentoo
    volatile: False

kodi-overlay
    location: /var/db/repos/kodi-overlay
    sync-type: git
    sync-uri: https://github.com/kodi-overlay/kodi-overlay.git
    masters: gentoo
    volatile: False

pentoo
    location: /var/db/repos/pentoo
    sync-type: git
    sync-uri: https://github.com/pentoo/pentoo-overlay.git
    masters: gentoo
    volatile: False

torbrowser
    location: /var/db/repos/torbrowser
    sync-type: git
    sync-uri: https://github.com/MeisterP/torbrowser-overlay.git
    masters: gentoo
    volatile: False

Binary Repositories:

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

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA android AnyDesk-TOS geekbench google-chrome Intel-SDP microsoft-edge Microsoft-vscode NVIDIA-CUDA NVIDIA-SDK OPERA-2018 PUEL-12 RAR TeamViewer Vivaldi"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/sonar/conf /opt/zookeeper-bin/conf /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.2/ext-active/ /etc/php/apache2-php8.3/ext-active/ /etc/php/apache2-php8.4/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cgi-php8.3/ext-
tive/ /etc/php/cgi-php8.4/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/cli-php8.3/ext-active/ /etc/php/cli-php8.4/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/fpm-php8.3/ext-active/ /etc/php/fpm-php8.4/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/php/phpdbg-php8.
ext-active/ /etc/php/phpdbg-php8.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
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 -fomit-frame-pointer"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live ccache config-protect-if-modified distlocks ebuild-locks export-pms-vars fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbo
pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync warn-on-large-env xattr"
FFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://mirror.isoc.org.il/pub/gentoo/ https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/"
LANG="en_US.utf8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j10"
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="X a52 aac accessibility acl acpi activities alsa amd64 apparmor audit bash-completion berkdb bidi bluetooth branding brotli btrfs bzip2 cairo cdda cdr cet cli colord crypt cryptsetup cuda cups curl dbus designer device-mapper doc dri drm dts dvd dvdr eds emacs encode evdev evo exa
les exif experimental ffmpeg flac fortran fuse gamepad gdbm gdk-pixbuf gif git gmp gnome gnome-keyring gnome-online-accounts gnome-shell gnutls go gpg gpm gstreamer gtk gtk-doc gui hscolour html http iconv icu idn introspection iodbc ios ipv6 jack java javascript jemalloc joystick jpeg
son kde kerberos keyring lcms ldap libnotify libtirpc lm-sensors lua lvm lz4 lzma lzo mad man mbedtls mng mongodb mp3 mp4 mpeg mpi multilib multimedia mysql nas nautilus ncurses netlink network networkmanager nfs nls nss nvenc odbc offensive ogg opencl opengl openmp openssl pam pango p
p pcre pdf perl pkcs11 plasma plugins png policykit postgres ppds pulseaudio python qml qt5 qt6 readline redis samba sasl screencast sdl seccomp semantic-desktop snmp sound source speech spell sqlite ssl startup-notification svg symlink sysprof systemd tcl telemetry test-rust threads t
f tk tools tpm tracker truetype udev udisks unicode upower usb utils v4l vaapi vala vdpau vim-syntax vnc vorbis vulkan wayland webengine webkit webp wifi wxwidgets x264 xattr xcb xft xinerama xml xv xvid yaml zeroconf zfs zip zlib zsh-completion zstd" ABI_X86="64 32" ADA_TARGET="gcc_14
APACHE2_MODULES="access_compat actions alias auth_basic auth_digest authn_anon authn_core authn_dbd authn_dbm authn_file authn_socache authz_core authz_dbd authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex brotli cache cgi cgid charset_lite dav dav_fs dav_lock dbd d
late dir env expires ext_filter file_cache filter headers http2 ident imagemap include info log_config logio mime mime_magic negotiation ratelimit reqtimeout rewrite session session_cookie session_crypto session_dbd setenvif socache_shmcb speling status substitute unique_id unixd userd
 usertrack version vhost_alias watchdog xml2enc" APACHE2_MPMS="worker" CALLIGRA_FEATURES="karbon sheets stage 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
sse3 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" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGET
"3-0" INPUT_DEVICES="evdev joystick libinput" KERNEL="linux" L10N="en en-US he ru" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher" LUA_SINGLE_TARGET="lua5-4" LUA_TARGETS="lua5-1
ua5-4" NGINX_MODULES_HTTP="access addition auth_basic auth_ldap auth_pam auth_request autoindex brotli browser charset dav dav_ext echo empty_gif fancyindex fastcgi flv geo geoip geoip2 grpc gunzip gzip image_filter javascript limit_conn limit_req map memc memcached metrics mirror mp4
rl proxy push_stream referer rewrite scgi split_clients ssi stub_status upload_progress upstream_check upstream_hash upstream_ip_hash upstream_keepalive upstream_least_conn upstream_zone userid uwsgi vhost_traffic_status vod xslt" NGINX_MODULES_MAIL="imap pop3 smtp" NGINX_MODULES_STREA
"access geo geoip geoip2" OFFICE_IMPLEMENTATION="libreoffice" PERL_FEATURES="ithreads quadmath" PHP_TARGETS="php8-2 php8-3" POSTGRES_TARGETS="postgres16 postgres17" PYTHON_SINGLE_TARGET="python3_13" PYTHON_TARGETS="python3_13 python3_10 python3_11 python3_12 python3_13t python3_14 pyth
3_14t" RUBY_TARGETS="ruby32 ruby33 ruby34" UWSGI_PLUGINS="alarm_curl cache carbon cheaper_busyness clock_monotonic clock_realtime corerouter curl_cron dumbloop echo emperor_amqp emperor_pg emperor_zeromq fastrouter forkptyrouter geoip graylog2 http ldap legion_cache_fetch logcrypto log
le logpipe logsocket mongodblog nagios notfound pam ping rados rawrouter redislog router_access router_basicauth router_cache router_expires router_hash router_http router_memcached router_metrics router_redirect router_redis router_rewrite router_spnego router_static router_uwsgi rout
_xmldir rpc rrdtool rsyslog signal spooler sqlite ssi sslrouter stats_pusher_statsd symcall syslog systemd_logger transformation_chunked transformation_gzip transformation_offload transformation_tofile transformation_toupper tuntap ugreen webdav xattr xslt zabbix zergpool" VIDEO_CARDS=
ntel fbdev vesa nvidia" 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, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_B
ZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Leonid Kopylov 2025-05-13 06:16:11 UTC
Created attachment 928652 [details]
build.log.xz
Comment 2 jospezial 2025-05-13 08:50:22 UTC
x86_64-pc-linux-gnu-g++ -shared -fPIC -o /var/tmp/portage/x11-libs/wxGTK-3.2.8/work/wxWidgets-3.2.8-abi_x86_64.amd64/lib/libwx_baseu-3.2-gtk3.so.0.4.1  basedll_any.o basedll_appbase.o basedll_arcall.o basedll_arcfind.o basedll_archive.o basedll_arrstr.o basedll_base64.o basedll_clntdata.o basedll_cmdline.o basedll_config.o basedll_convauto.o basedll_datetime.o basedll_datetimefmt.o basedll_datstrm.o basedll_dircmn.o basedll_dynlib.o basedll_dynload.o basedll_encconv.o basedll_evtloopcmn.o basedll_extended.o basedll_ffile.o basedll_file.o basedll_fileback.o basedll_fileconf.o basedll_filefn.o basedll_filename.o basedll_filesys.o basedll_filtall.o basedll_filtfind.o basedll_fmapbase.o basedll_fs_arc.o basedll_fs_filter.o basedll_hash.o basedll_hashmap.o basedll_init.o basedll_intl.o basedll_ipcbase.o basedll_languageinfo.o basedll_list.o basedll_log.o basedll_longlong.o basedll_memory.o basedll_mimecmn.o basedll_module.o basedll_mstream.o basedll_numformatter.o basedll_object.o basedll_platinfo.o basedll_powercmn.o basedll_process.o basedll_regex.o basedll_stdpbase.o basedll_sstream.o basedll_stdstream.o basedll_stopwatch.o basedll_strconv.o basedll_stream.o basedll_string.o basedll_stringimpl.o basedll_stringops.o basedll_strvararg.o basedll_sysopt.o basedll_tarstrm.o basedll_textbuf.o basedll_textfile.o basedll_threadinfo.o basedll_time.o basedll_timercmn.o basedll_timerimpl.o basedll_tokenzr.o basedll_translation.o basedll_txtstrm.o basedll_unichar.o basedll_uri.o basedll_ustring.o basedll_variant.o basedll_wfstream.o basedll_wxcrt.o basedll_wxprintf.o basedll_xlocale.o basedll_xti.o basedll_xtistrm.o basedll_zipstrm.o basedll_zstream.o basedll_fswatchercmn.o basedll_fswatcherg.o basedll_common_secretstore.o basedll_lzmastream.o basedll_common_uilocale.o basedll_fdiodispatcher.o basedll_selectdispatcher.o basedll_appunix.o basedll_unix_dir.o basedll_dlunix.o basedll_epolldispatcher.o basedll_evtloopunix.o basedll_fdiounix.o basedll_unix_snglinst.o basedll_unix_stackwalk.o basedll_timerunx.o basedll_threadpsx.o basedll_utilsunx.o basedll_wakeuppipe.o basedll_fswatcher_kqueue.o basedll_unix_mimetype.o basedll_fswatcher_inotify.o basedll_unix_stdpaths.o basedll_unix_secretstore.o basedll_unix_uilocale.o basedll_event.o basedll_fs_mem.o basedll_msgout.o basedll_utilscmn.o      -L/var/tmp/portage/x11-libs/wxGTK-3.2.8/work/wxWidgets-3.2.8-abi_x86_64.amd64/lib   -Wl,-soname,libwx_baseu-3.2-gtk3.so.0  -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--undefined-version  -pthread -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--undefined-version       -pthread -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--undefined-version  -Wl,--version-script,/var/tmp/portage/x11-libs/wxGTK-3.2.8/work/wxWidgets-3.2.8-abi_x86_64.amd64/version-script -Wl,--undefined-version -lz -lcurl -llzma -lm -lpcre2-32  -lz -lcurl -llzma -lm
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/x11-libs/wxGTK-3.2.8/work/wxWidgets-3.2.8-abi_x86_64.amd64/lib/libwx_baseu-3.2-gtk3.so.0.4.1: version node not found for symbol _ZN14wxTranslations19AddAvailableCatalogERK8wxString@WXU_3.2
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile:14300: /var/tmp/portage/x11-libs/wxGTK-3.2.8/work/wxWidgets-3.2.8-abi_x86_64.amd64/lib/libwx_baseu-3.2-gtk3.so.0.4.1] Error 1
make: *** Waiting for unfinished jobs....
 * ERROR: x11-libs/wxGTK-3.2.8::gentoo failed (compile phase):
 *   emake failed


related https://bugs.gentoo.org/955865
Comment 3 Vladislav Mikhailikov 2025-05-13 14:58:30 UTC
Created attachment 928739 [details]
Working ebuild

I manage top escape this issue using --disable-symver but this ignore ELF symbol versioning which is less safe as production environment. Here it is my working build that I do not submit through the git because this is not the good and right solution though you can use it as immediate tap for the problem.
Comment 4 Michael Moon 2025-05-13 15:36:22 UTC
I just encountered this too - nothing to add except listing myself as another affected user and adding myself to CC
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-13 21:40:21 UTC
(In reply to Vladislav Mikhailikov from comment #3)
> Created attachment 928739 [details]
> Working ebuild
> 
> I manage top escape this issue using --disable-symver but this ignore ELF
> symbol versioning which is less safe as production environment. Here it is
> my working build that I do not submit through the git because this is not
> the good and right solution though you can use it as immediate tap for the
> problem.

We want the symbol versions here, see bug 955865.
Comment 6 Vladislav Mikhailikov 2025-05-13 22:30:49 UTC
(In reply to Sam James from comment #5)
> (In reply to Vladislav Mikhailikov from comment #3)
> > Created attachment 928739 [details]
> > Working ebuild
> > 
> > I manage top escape this issue using --disable-symver but this ignore ELF
> > symbol versioning which is less safe as production environment. Here it is
> > my working build that I do not submit through the git because this is not
> > the good and right solution though you can use it as immediate tap for the
> > problem.
> 
> We want the symbol versions here, see bug 955865.

I notice that this symbol occurs in two places:

./src/common/translation.cpp:wxELF_VERSION_COMPAT("_ZN14wxTranslations19AddAvailableCatalogERK8wxString", "3.2.3")
./src/common/translation.cpp:wxELF_VERSION_COMPAT("_ZN14wxTranslations19AddAvailableCatalogERK8wxString10wxLanguage", "3.2.6")

and as you can see it has extension to either 3.2.3 or 3.2.6 but there is no symbol ending on 3.2. It look like we need to replace 3.2 with 3.2.3 somewhere.
Comment 7 Vladislav Mikhailikov 2025-05-13 22:35:52 UTC
Heh, this issue even mentioned inside the code of wxWidgets in ./include/wx/private/elfversion.h. It realy looks like someone forget to update 3.2 to 3.2.3.
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-13 23:23:12 UTC
These commits added support:
* https://github.com/wxWidgets/wxWidgets/commit/ed70ea9e988cdff84d29c9e999d9fca3c08b681b
* https://github.com/wxWidgets/wxWidgets/commit/f3eb19ce2efa839c0d3e8dc922445cbb49bd9e5d
* https://github.com/wxWidgets/wxWidgets/commit/e6cafa6017602fd8d31a7f283d57c13009f2a817
* https://github.com/wxWidgets/wxWidgets/commit/ea91e3fb1249491b426ed45d904d80f7de61d8c4
* https://github.com/wxWidgets/wxWidgets/commit/a22e12486f454fc6e6d1383f96a4f5aa0f233657

Note that in version-script.in, we have:
```
# public symbols added in 3.2.6 (please keep in alphabetical order):
@WX_VERSION_TAG@.6 {
};

[...]
@WX_VERSION_TAG@ {
        *;
};
```

In the ebuild, we have a bunch of seds. Commenting them out to test fixes it:
``
`        # Versionating
-       sed -i \
-               -e "s:\(WX_RELEASE = \).*:\1${WXRELEASE}:"\
-               -e "s:\(WX_RELEASE_NODOT = \).*:\1${WXRELEASE_NODOT}:"\
-               -e "s:\(WX_VERSION = \).*:\1${WXVERSION}:"\
-               -e "s:aclocal):aclocal/wxwin${WXRELEASE_NODOT}.m4):" \
-               "${versioned_makefiles[@]}" || die
-
-       sed -i \
-               -e "s:\(WX_VERSION=\).*:\1${WXVERSION}:" \
-               -e "s:\(WX_RELEASE=\).*:\1${WXRELEASE}:" \
-               -e "s:\(WX_SUBVERSION=\).*:\1${WXSUBVERSION}:" \
-               -e '/WX_VERSION_TAG=/ s:${WX_RELEASE}:3.0:' \
-               configure || die
```

It's breaking the version script.
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-13 23:28:50 UTC
Fixing that now, just doing some archaeology first.
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-13 23:37:25 UTC
(In reply to Sam James from comment #9)
> Fixing that now, just doing some archaeology first.

Introduced by:

commit 188b68d6e0b5060c0d15687f89ff4bf1b382b609
Author: Ryan Hill <rhill@gentoo.org>
Date:   Mon Feb 8 19:18:16 2016 -0600

    x11-libs/wxGTK: Add initial GTK+3 ebuild.

    Package-Manager: portage-2.2.27
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-13 23:41:29 UTC
(In reply to Sam James from comment #10)
> (In reply to Sam James from comment #9)
> > Fixing that now, just doing some archaeology first.
> 
> Introduced by:
> 
> commit 188b68d6e0b5060c0d15687f89ff4bf1b382b609
> Author: Ryan Hill <rhill@gentoo.org>
> Date:   Mon Feb 8 19:18:16 2016 -0600
> 
>     x11-libs/wxGTK: Add initial GTK+3 ebuild.
> 
>     Package-Manager: portage-2.2.27

... and went wrong at least once:

commit 2005419f1916a48fee0a972452204913be3472c3
Author: Ryan Hill <rhill@gentoo.org>
Date:   Tue Feb 9 19:29:42 2016 -0600

    x11-libs/wxGTK: Tone down versioning a bit

    WX_VERSION controls the output of `wx-config --version`.  If this contains
    characters it confuses the WX_CONFIG_CHECK macro from wxwin.m4.  WX_VERSION
    doesn't seem to affect the build or install, so try dropping -gtk3 from it.

    Package-Manager: portage-2.2.27
Comment 12 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-13 23:48:32 UTC
With 3.2.7-r1 keeping the sed and 3.2.8 dropping it:

```
$ diff -u /var/tmp/portage/x11-libs/wxGTK-3.2.7-r1/work/wxWidgets-3.2.7/configure /var/tmp/portage/x11-libs/wxGTK-3.2.8/work/wxWidgets-3.2.8/configure
@@ -3869,12 +3871,12 @@

 wx_major_version_number=3
 wx_minor_version_number=2
-wx_release_number=7
+wx_release_number=8
 wx_subrelease_number=0

-WX_RELEASE=3.2-gtk3
-WX_VERSION=3.2.7
-WX_SUBVERSION=3.2.7-gtk3
+WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
+WX_VERSION=$WX_RELEASE.$wx_release_number
+WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number

 WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number

[...]
@@ -34221,7 +34344,7 @@
     DEBUG_INFO=1
 fi

-WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${WX_LIB_FLAVOUR}_3.0 | tr '[a-z]' '[A-Z]'`
+WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr '[a-z]' '[A-Z]'`

 TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
```

Oops.
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-13 23:50:42 UTC
Looks like it may date back to bug 536004 and maybe upstream were bad at remembering to crank versions in the past.
Comment 14 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-13 23:52:44 UTC
What really sucks now is fixing this correctly.

```
$ diff -u /var/tmp/portage/x11-libs/wxGTK-3.2.7-r1/work/wxWidgets-3.2.7-abi_x86_64.amd64/version-script /var/tmp/portage/x11-libs/wxGTK-3.2.8/work/wxWidgets-3.
2.8-abi_x86_64.amd64/version-script
--- /var/tmp/portage/x11-libs/wxGTK-3.2.7-r1/work/wxWidgets-3.2.7-abi_x86_64.amd64/version-script       2025-05-14 00:44:10.875871634 +0100
+++ /var/tmp/portage/x11-libs/wxGTK-3.2.8/work/wxWidgets-3.2.8-abi_x86_64.amd64/version-script  2025-05-14 00:41:28.906237633 +0100
[...]
-WXU_3.0.7 {
+WXU_3.2.7 {
     extern "C++" {
         "wxAppConsoleBase::SetErrorExitCode(int)";
         "wxAppConsoleBase::GetErrorExitCode() const";
@@ -35,47 +36,27 @@
[... many more ...]

 # symbols available since the beginning of this branch are only given
 # generic branch tag (don't remove this!):

-WXU_3.0 {
+WXU_3.2 {
         *;
 };
```

We can't just drop those willynilly either. We need to drop the sed and then keep the symbols we completely made up accidentally via sed?
Comment 15 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-13 23:59:08 UTC
I think we might be able to quickly botch this by patching the affected symbols in https://github.com/wxWidgets/wxWidgets/commit/f3eb19ce2efa839c0d3e8dc922445cbb49bd9e5d#diff-a181aebc376cd7d46bf7a41845fea384d6195a9d7dd250efca3ba99941da9037 to have 3.0.x. In for a penny, in for a pound.

Then can try actually fix this once wxGTK is building again and figure out proper ABI compatibility with our made up symbols as well as the upstream ones in a followup revision.
Comment 16 Vladislav Mikhailikov 2025-05-14 00:40:59 UTC
Anyway I build it with cmake-4.0.2 without any problems. Perhaps it is good idea to switch build chain to cmake and stick with it?
Comment 17 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-14 00:41:54 UTC
(In reply to Vladislav Mikhailikov from comment #16)
> Anyway I build it with cmake-4.0.2 without any problems. Perhaps it is good
> idea to switch build chain to cmake and stick with it?

This is definitely NOT a good time to change the build system. There's a complete mess here and that may introduce more problems if it doesn't have parity.
Comment 18 Larry the Git Cow gentoo-dev 2025-05-14 00:46:49 UTC
The bug has been closed via the following commit(s):

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

commit 8baaa10af7d9944c5bf0fdfc0190cea6abbd296a
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-05-14 00:46:00 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-05-14 00:46:00 +0000

    x11-libs/wxGTK: bodge ABI issues one more time
    
    See https://bugs.gentoo.org/955902#c8 onwards for details, but in summary,
    we have a bunch of seds in the ebuild, and they break the version script upstream
    supplies, resulting in made-up symbol versions that are Gentoo-specific (!!!)
    
    ```
           sed -i \
                   -e "s:\(WX_VERSION=\).*:\1${WXVERSION}:" \
                   -e "s:\(WX_RELEASE=\).*:\1${WXRELEASE}:" \
                   -e "s:\(WX_SUBVERSION=\).*:\1${WXSUBVERSION}:" \
                   -e '/WX_VERSION_TAG=/ s:${WX_RELEASE}:3.0:' \ # <--- here
                   configure || die
    ```
    
    I question how much of the seds are necessary at all, but the mangling of the version
    script is a critical ABI issue as it makes us incompatible with other distributions
    and upstream binaries.
    
    However, fixing this correctly while also quickly to solve bug #955902
    isn't really feasible, so..
    
    Quickly bodge this by patching the affected symbols in
    https://github.com/wxWidgets/wxWidgets/commit/f3eb19ce2efa839c0d3e8dc922445cbb49bd9e5d
    to have 3.0.x. In for a penny, in for a pound.
    
    Then can try actually fix this once wxGTK is building again and figure out
    proper ABI compatibility with our made up symbols as well as the upstream ones
    in a followup revision. Filed bug #955936 for that proper fix.
    
    TL;DR: Leave proper fixing for it until later to fix the immediate emergency,
    extend the previous hack to newly-added symbols.
    
    Bug: https://bugs.gentoo.org/955936
    Closes: https://bugs.gentoo.org/955902
    Signed-off-by: Sam James <sam@gentoo.org>

 .../files/wxGTK-3.2.8-bodge-version-script.patch   | 94 ++++++++++++++++++++++
 x11-libs/wxGTK/wxGTK-3.2.8.ebuild                  | 22 ++---
 2 files changed, 107 insertions(+), 9 deletions(-)