* bug#54378: Subject: 29.0 Build failed
@ 2022-03-13 17:11 nuil
2022-03-14 0:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
` (3 more replies)
0 siblings, 4 replies; 21+ messages in thread
From: nuil @ 2022-03-13 17:11 UTC (permalink / raw)
To: 54378
[-- Attachment #1: Type: text/plain, Size: 9031 bytes --]
From: nuil@foxmail.com
To: bug-gnu-emacs@gnu.org
Subject: 29.0(fresh clone) Build failed
--text follows this line--
I'm using gentoo,
and when I set USE='gtk -X gui', the build failed with link error,
I have to set USE='dynamic-loading' manually for build.
Developer from https://bugs.gentoo.org/835083 said:
"Looks like a problem with the build system."
and suggest to report it upstream too.
you can access my build log here:
https://gist.github.com/C-Entropy/b57fbf16d5c14cd2903a7b32b994f72e
and some discuss from:
https://forums.gentoo.org/viewtopic-p-8694353.html#8694353
following is othre info that may help:
emerge -pqv '=app-editors/emacs-29.0.9999::gentoo'
[ebuild NS ] app-editors/emacs-29.0.9999 [28.0.9999-r1] USE="acl alsa cairo dbus gif gmp gpm gtk gui inotify jpeg lcms png ssl svg systemd threads tiff xft xpm zlib -X% -Xaw3d (-aqua) -athena -dynamic-loading -games -gconf -gfile -gsettings -gzip-el -harfbuzz -imagemagick -jit -json -kerberos -libxml2 -livecd -m17n-lib -mailutils -motif (-selinux) -sound -source -sqlite% -toolkit-scroll-bars -webp% -wide-int -xwidgets"
emerge --info '=app-editors/emacs-29.0.9999::gentoo'
Portage 3.0.30 (python 3.9.9-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-11.2.1, glibc-2.33-r13, 5.15.26-gentoo x86_64)
=================================================================
System Settings
=================================================================
System uname: Linux-5.15.26-gentoo-x86_64-AMD_Ryzen_9_5900HX_with_Radeon_Graphics-with-glibc2.33
KiB Mem: 32335688 total, 25752596 free
KiB Swap: 0 total, 0 free
Timestamp of repository gentoo: Thu, 10 Mar 2022 00:45:01 +0000
Head commit of repository gentoo: 537bd5f5dea823e71d408e31f1c839891fc8b294
sh bash 5.1_p16
ld GNU ld (Gentoo 2.37_p1 p2) 2.37
app-misc/pax-utils: 1.3.3::gentoo
app-shells/bash: 5.1_p16::gentoo
dev-lang/perl: 5.34.0-r6::gentoo
dev-lang/python: 3.9.9-r1::gentoo, 3.10.2_p1::gentoo
dev-lang/rust-bin: 1.58.1::gentoo
dev-util/cmake: 3.22.2::gentoo
dev-util/meson: 0.60.3::gentoo
sys-apps/baselayout: 2.7-r3::gentoo
sys-apps/sandbox: 2.25::gentoo
sys-apps/systemd: 249.9::gentoo
sys-devel/autoconf: 2.13-r1::gentoo, 2.71-r1::gentoo
sys-devel/automake: 1.16.4::gentoo
sys-devel/binutils: 2.37_p1-r2::gentoo
sys-devel/binutils-config: 5.4::gentoo
sys-devel/clang: 13.0.1::gentoo
sys-devel/gcc: 11.2.1_p20220115::gentoo
sys-devel/gcc-config: 2.5-r1::gentoo
sys-devel/libtool: 2.4.6-r6::gentoo
sys-devel/llvm: 13.0.1::gentoo
sys-devel/make: 4.3::gentoo
sys-kernel/linux-headers: 5.15-r3::gentoo (virtual/os-headers)
sys-libs/glibc: 2.33-r13::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://mirrors.tuna.tsinghua.edu.cn/gentoo-portage
priority: -1000
sync-rsync-extra-opts:
sync-rsync-verify-metamanifest: yes
sync-rsync-verify-jobs: 1
sync-rsync-verify-max-age: 24
gentoo-zh
location: /var/lib/layman/gentoo-zh
masters: gentoo
priority: 50
guru
location: /var/lib/layman/guru
masters: gentoo
priority: 50
lisp
location: /var/lib/layman/lisp
masters: gentoo
priority: 50
wayland-desktop
location: /var/lib/layman/wayland-desktop
masters: gentoo
priority: 50
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
AR="llvm-ar"
CBUILD="x86_64-pc-linux-gnu"
CC="clang"
CFLAGS="-march=znver3 -O2 -pipe -flto=thin"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /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/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXX="clang++"
CXXFLAGS="-march=znver3 -O2 -pipe -flto=thin"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY 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"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O2 -Wl,--as-needed"
MAKEOPTS="-j9"
NM="llvm-nm"
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"
RANLIB="llvm-ranlib"
SHELL="/bin/zsh"
USE="X a52 aac acl acpi activities alsa amd64 bluetooth branding bzip2 cairo cdda cdr clang cli crypt cuda cups dbus declarative dri dts dvd dvdr encode exif ffmpeg flac fortran gdbm gif gpm gui iconv icu ipv6 jpeg kwallet lcms libglvnd libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf plasma png policykit ppds pulseaudio qml readline scsi sdl seccomp semantic-desktop spell split-usr ssl startup-notification svg systemd tiff truetype udev udisks unicode upower usb vaapi vdpau vorbis wayland widgets wxwidgets x264 xattr xcb xft xml xv xvid zh_CN zh_TW zlib zsh-completion" ABI_X86="64" ADA_TARGET="gnat_2020" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache 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="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: ADDR2LINE, ARFLAGS, AS, ASFLAGS, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
[-- Attachment #2: Type: text/html, Size: 9653 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-13 17:11 bug#54378: Subject: 29.0 Build failed nuil
@ 2022-03-14 0:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-14 3:37 ` Eli Zaretskii
2022-03-15 0:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
` (2 subsequent siblings)
3 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-03-14 0:58 UTC (permalink / raw)
To: nuil; +Cc: Eli Zaretskii, 54378
"nuil" <nuil@foxmail.com> writes:
> From: nuil@foxmail.com
> To: bug-gnu-emacs@gnu.org
>
> Subject: 29.0(fresh clone) Build failed
> --text follows this line--
> I'm using gentoo,
> and when I set USE='gtk -X gui', the build failed with link error,
> I have to set USE='dynamic-loading' manually for build.
dynlib is required for interrupt-based input to work in the PGTK build.
Eli, would it be okay to build dynlib.o as long as PGTK is enabled, even
if dynamic modules are not? Thanks.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-14 0:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-03-14 3:37 ` Eli Zaretskii
2022-03-14 5:03 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2022-03-14 3:37 UTC (permalink / raw)
To: Po Lu; +Cc: 54378, nuil
> From: Po Lu <luangruo@yahoo.com>
> Cc: 54378@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org>
> Date: Mon, 14 Mar 2022 08:58:26 +0800
>
> "nuil" <nuil@foxmail.com> writes:
>
> > From: nuil@foxmail.com
> > To: bug-gnu-emacs@gnu.org
> >
> > Subject: 29.0(fresh clone) Build failed
> > --text follows this line--
> > I'm using gentoo,
> > and when I set USE='gtk -X gui', the build failed with link error,
> > I have to set USE='dynamic-loading' manually for build.
>
> dynlib is required for interrupt-based input to work in the PGTK build.
>
> Eli, would it be okay to build dynlib.o as long as PGTK is enabled, even
> if dynamic modules are not?
What are the downsides of doing this, if any? (I presume you asked me
because it isn't straightforward or something?)
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-14 3:37 ` Eli Zaretskii
@ 2022-03-14 5:03 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-14 12:50 ` Eli Zaretskii
0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-03-14 5:03 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 54378, nuil
Eli Zaretskii <eliz@gnu.org> writes:
> What are the downsides of doing this, if any? (I presume you asked me
> because it isn't straightforward or something?)
I don't know if there are any downsides, that's why I asked. I presumed
there are because modules support is a configuration option.
Thanks.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-14 5:03 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-03-14 12:50 ` Eli Zaretskii
2022-03-14 13:05 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2022-03-14 12:50 UTC (permalink / raw)
To: Po Lu; +Cc: 54378, nuil
> From: Po Lu <luangruo@yahoo.com>
> Cc: nuil@foxmail.com, 54378@debbugs.gnu.org
> Date: Mon, 14 Mar 2022 13:03:03 +0800
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > What are the downsides of doing this, if any? (I presume you asked me
> > because it isn't straightforward or something?)
>
> I don't know if there are any downsides, that's why I asked. I presumed
> there are because modules support is a configuration option.
Then please explain what exactly is missing from the build that
requires dynlib to fix it, because I don't think I understand what
does the original problem have to do with modules or with dynamic
loading in general (I don't use PGTK).
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-14 12:50 ` Eli Zaretskii
@ 2022-03-14 13:05 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-14 14:11 ` Eli Zaretskii
0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-03-14 13:05 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 54378, nuil
Eli Zaretskii <eliz@gnu.org> writes:
> Then please explain what exactly is missing from the build that
> requires dynlib to fix it, because I don't think I understand what
> does the original problem have to do with modules or with dynamic
> loading in general (I don't use PGTK).
It needs to load some functions dynamically using the dynlib mechanism.
These functions cannot be directly linked into the Emacs binary, since
doing that will prevent the binary from functioning on systems that have
GTK, but not both Xlib and libwayland-client. They return the file
descriptor of a display connection, so that we can initialize SIGIO for
it and use interrupt-based input.
Thanks.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-14 13:05 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-03-14 14:11 ` Eli Zaretskii
2022-03-15 0:32 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2022-03-14 14:11 UTC (permalink / raw)
To: Po Lu; +Cc: 54378, nuil
> From: Po Lu <luangruo@yahoo.com>
> Cc: nuil@foxmail.com, 54378@debbugs.gnu.org
> Date: Mon, 14 Mar 2022 21:05:22 +0800
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Then please explain what exactly is missing from the build that
> > requires dynlib to fix it, because I don't think I understand what
> > does the original problem have to do with modules or with dynamic
> > loading in general (I don't use PGTK).
>
> It needs to load some functions dynamically using the dynlib mechanism.
>
> These functions cannot be directly linked into the Emacs binary, since
> doing that will prevent the binary from functioning on systems that have
> GTK, but not both Xlib and libwayland-client. They return the file
> descriptor of a display connection, so that we can initialize SIGIO for
> it and use interrupt-based input.
But why does it need dynlib? This is only for Posix platforms, so
just use the dynamic loading functions (dlopen, dlsym etc.) directly.
There should be no need to go through dynlib.c, which is an
abstraction layer implemented specifically for modules, so that Fload
and friends could be blissfully unaware of the platform
idiosyncrasies.
When we need to dynamically load stuff in the w32-specific code, we
just call LoadLibrary and GetProcAddress directly, we don't use
dynlib. How is this case different?
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-14 14:11 ` Eli Zaretskii
@ 2022-03-15 0:32 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-03-15 0:32 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 54378, nuil
Eli Zaretskii <eliz@gnu.org> writes:
> But why does it need dynlib? This is only for Posix platforms, so
> just use the dynamic loading functions (dlopen, dlsym etc.) directly.
> There should be no need to go through dynlib.c, which is an
> abstraction layer implemented specifically for modules, so that Fload
> and friends could be blissfully unaware of the platform
> idiosyncrasies.
>
> When we need to dynamically load stuff in the w32-specific code, we
> just call LoadLibrary and GetProcAddress directly, we don't use
> dynlib. How is this case different?
It isn't, but I thought dynlib was supposed to always be used.
Thanks for clarifying.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-13 17:11 bug#54378: Subject: 29.0 Build failed nuil
2022-03-14 0:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-03-15 0:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-15 6:21 ` bug#54378: Still build failed with USE='gtk -X gui' nuil
2022-03-15 18:21 ` bug#54378: Build log of 'make V=1' nuil
3 siblings, 0 replies; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-03-15 0:56 UTC (permalink / raw)
To: nuil; +Cc: 54378
Should be fixed now, please test.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Still build failed with USE='gtk -X gui'
2022-03-13 17:11 bug#54378: Subject: 29.0 Build failed nuil
2022-03-14 0:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-15 0:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-03-15 6:21 ` nuil
2022-03-15 16:58 ` Eli Zaretskii
2022-03-15 18:21 ` bug#54378: Build log of 'make V=1' nuil
3 siblings, 1 reply; 21+ messages in thread
From: nuil @ 2022-03-15 6:21 UTC (permalink / raw)
To: 54378
[-- Attachment #1: Type: text/plain, Size: 564 bytes --]
Sorry that I may not fully understand you because of my poor English.
I have tried to build with USE='gtk -X gui', and it still failed
This is the error I got:
/usr/bin/x86_64-pc-linux-gnu-ld: pgtkterm.o: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
/usr/bin/x86_64-pc-linux-gnu-ld: /lib64/libdl.so.2: error adding symbols: DSO missing from command line
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
you can access my full build log here: https://gist.github.com/C-Entropy/65dd4bb3b04ebe347e86c0a9ed1d67ce
[-- Attachment #2: Type: text/html, Size: 712 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Still build failed with USE='gtk -X gui'
2022-03-15 6:21 ` bug#54378: Still build failed with USE='gtk -X gui' nuil
@ 2022-03-15 16:58 ` Eli Zaretskii
2022-03-15 17:17 ` Robert Pluim
0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2022-03-15 16:58 UTC (permalink / raw)
To: nuil; +Cc: 54378
> Resent-From: "nuil" <nuil@foxmail.com>
> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
> Resent-CC: bug-gnu-emacs@gnu.org
> Resent-Sender: help-debbugs@gnu.org
> From: "nuil" <nuil@foxmail.com>
> Date: Tue, 15 Mar 2022 14:21:26 +0800
>
>
> [1:text/plain Show]
>
>
> [2:text/html Hide Save:noname (705B)]
>
> Sorry that I may not fully understand you because of my poor English.
> I have tried to build with USE='gtk -X gui', and it still failed
>
> This is the error I got:
> /usr/bin/x86_64-pc-linux-gnu-ld: pgtkterm.o: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
> /usr/bin/x86_64-pc-linux-gnu-ld: /lib64/libdl.so.2: error adding symbols: DSO missing from command line
> clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
I guess this means that configuration needs a configure-time test for
linking against libdl, as some systems do need that separate library
to have dlopen/dlsym/etc.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Still build failed with USE='gtk -X gui'
2022-03-15 16:58 ` Eli Zaretskii
@ 2022-03-15 17:17 ` Robert Pluim
2022-03-15 18:59 ` Robert Pluim
0 siblings, 1 reply; 21+ messages in thread
From: Robert Pluim @ 2022-03-15 17:17 UTC (permalink / raw)
To: nuil; +Cc: 54378
>>>>> On Tue, 15 Mar 2022 18:58:40 +0200, Eli Zaretskii <eliz@gnu.org> said:
>> This is the error I got:
>> /usr/bin/x86_64-pc-linux-gnu-ld: pgtkterm.o: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
>> /usr/bin/x86_64-pc-linux-gnu-ld: /lib64/libdl.so.2: error adding symbols: DSO missing from command line
>> clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
Eli> I guess this means that configuration needs a configure-time test for
Eli> linking against libdl, as some systems do need that separate library
Eli> to have dlopen/dlsym/etc.
dlsym is part of glibc, so thereʼs something else going on.
The complete link line would be useful, can you run 'make V=1' and
show the error log?
Robert
--
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Still build failed with USE='gtk -X gui'
2022-03-15 17:17 ` Robert Pluim
@ 2022-03-15 18:59 ` Robert Pluim
2022-03-16 4:45 ` bug#54378: Subject: 29.0 Build failed Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 21+ messages in thread
From: Robert Pluim @ 2022-03-15 18:59 UTC (permalink / raw)
To: nuil; +Cc: 54378
>>>>> On Tue, 15 Mar 2022 18:17:54 +0100, Robert Pluim <rpluim@gmail.com> said:
>>>>> On Tue, 15 Mar 2022 18:58:40 +0200, Eli Zaretskii <eliz@gnu.org> said:
>>> This is the error I got:
>>> /usr/bin/x86_64-pc-linux-gnu-ld: pgtkterm.o: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
>>> /usr/bin/x86_64-pc-linux-gnu-ld: /lib64/libdl.so.2: error adding symbols: DSO missing from command line
>>> clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
Eli> I guess this means that configuration needs a configure-time test for
Eli> linking against libdl, as some systems do need that separate library
Eli> to have dlopen/dlsym/etc.
Robert> dlsym is part of glibc, so thereʼs something else going on.
Eli's right and Iʼm wrong: itʼs part of glibc, but requires libdl (but
only on Gnu/Linux).
Robert> The complete link line would be useful, can you run 'make V=1' and
Robert> show the error log?
so I can reproduce this with
configure --with-pgtk --without-modules
and this fixes it:
diff --git a/configure.ac b/configure.ac
index a315eeb6bd..df00c98e36 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3940,10 +3940,16 @@ AC_DEFUN
darwin) MODULES_SECONDARY_SUFFIX='.so' ;;
*) MODULES_SECONDARY_SUFFIX='' ;;
esac
+
+case $opsys in
+ gnu|gnu-linux)
+ LIBMODULES="-ldl"
+ ;;
+esac
+
if test "${with_modules}" != "no"; then
case $opsys in
gnu|gnu-linux)
- LIBMODULES="-ldl"
HAVE_MODULES=yes
;;
cygwin|mingw32|darwin)
^ permalink raw reply related [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-15 18:59 ` Robert Pluim
@ 2022-03-16 4:45 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-16 7:34 ` Robert Pluim
0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-03-16 4:45 UTC (permalink / raw)
To: Robert Pluim; +Cc: Eli Zaretskii, 54378, nuil
Robert Pluim <rpluim@gmail.com> writes:
> diff --git a/configure.ac b/configure.ac
> index a315eeb6bd..df00c98e36 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -3940,10 +3940,16 @@ AC_DEFUN
> darwin) MODULES_SECONDARY_SUFFIX='.so' ;;
> *) MODULES_SECONDARY_SUFFIX='' ;;
> esac
> +
> +case $opsys in
> + gnu|gnu-linux)
> + LIBMODULES="-ldl"
> + ;;
> +esac
> +
> if test "${with_modules}" != "no"; then
> case $opsys in
> gnu|gnu-linux)
> - LIBMODULES="-ldl"
> HAVE_MODULES=yes
> ;;
> cygwin|mingw32|darwin)
Let's make this PGTK-specific though, I think -ldl is not available in
some GNU/Linux systems.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-16 4:45 ` bug#54378: Subject: 29.0 Build failed Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-03-16 7:34 ` Robert Pluim
2022-03-16 7:53 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 21+ messages in thread
From: Robert Pluim @ 2022-03-16 7:34 UTC (permalink / raw)
To: Po Lu; +Cc: 54378, nuil
>>>>> On Wed, 16 Mar 2022 12:45:12 +0800, Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> said:
Po> Robert Pluim <rpluim@gmail.com> writes:
>> diff --git a/configure.ac b/configure.ac
>> index a315eeb6bd..df00c98e36 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -3940,10 +3940,16 @@ AC_DEFUN
>> darwin) MODULES_SECONDARY_SUFFIX='.so' ;;
>> *) MODULES_SECONDARY_SUFFIX='' ;;
>> esac
>> +
>> +case $opsys in
>> + gnu|gnu-linux)
>> + LIBMODULES="-ldl"
>> + ;;
>> +esac
>> +
>> if test "${with_modules}" != "no"; then
>> case $opsys in
>> gnu|gnu-linux)
>> - LIBMODULES="-ldl"
>> HAVE_MODULES=yes
>> ;;
>> cygwin|mingw32|darwin)
Po> Let's make this PGTK-specific though, I think -ldl is not available in
Po> some GNU/Linux systems.
--with-modules assumes that itʼs available on all GNU/Linux systems.
I can respin to make it dependent on PGTK, but that will be more
complex and require more testing.
Robert
--
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-16 7:34 ` Robert Pluim
@ 2022-03-16 7:53 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-16 9:00 ` Robert Pluim
0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-03-16 7:53 UTC (permalink / raw)
To: Robert Pluim; +Cc: Eli Zaretskii, 54378, nuil
Robert Pluim <rpluim@gmail.com> writes:
> --with-modules assumes that itʼs available on all GNU/Linux systems.
Just as `--with-modules' is optional.
> I can respin to make it dependent on PGTK, but that will be more
> complex and require more testing.
I can do the testing if you would rather that be the case, thanks.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-16 7:53 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-03-16 9:00 ` Robert Pluim
2022-03-16 10:02 ` Robert Pluim
0 siblings, 1 reply; 21+ messages in thread
From: Robert Pluim @ 2022-03-16 9:00 UTC (permalink / raw)
To: Po Lu; +Cc: 54378, nuil
>>>>> On Wed, 16 Mar 2022 15:53:49 +0800, Po Lu <luangruo@yahoo.com> said:
Po> Robert Pluim <rpluim@gmail.com> writes:
>> --with-modules assumes that itʼs available on all GNU/Linux systems.
Po> Just as `--with-modules' is optional.
--with-modules defaults to on, so yes, itʼs optional, but most
GNU/Linux builds will be using it, I think
>> I can respin to make it dependent on PGTK, but that will be more
>> complex and require more testing.
Po> I can do the testing if you would rather that be the case, thanks.
Thanks, but I need to test during the patch development in any case
Robert
--
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-16 9:00 ` Robert Pluim
@ 2022-03-16 10:02 ` Robert Pluim
2022-03-16 10:22 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 21+ messages in thread
From: Robert Pluim @ 2022-03-16 10:02 UTC (permalink / raw)
To: Po Lu; +Cc: 54378, nuil
So we donʼt do any autodetection of -ldl, so actually the following
should be enough:
diff --git a/configure.ac b/configure.ac
index a315eeb6bd..bc17935eb1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3940,6 +3940,16 @@ AC_DEFUN
darwin) MODULES_SECONDARY_SUFFIX='.so' ;;
*) MODULES_SECONDARY_SUFFIX='' ;;
esac
+
+# pgtkterm.c uses dlsym
+if test $window_system = pgtk; then
+ case $opsys in
+ gnu|gnu-linux)
+ LIBMODULES="-ldl"
+ ;;
+ esac
+fi
+
if test "${with_modules}" != "no"; then
case $opsys in
gnu|gnu-linux)
^ permalink raw reply related [flat|nested] 21+ messages in thread
* bug#54378: Subject: 29.0 Build failed
2022-03-16 10:02 ` Robert Pluim
@ 2022-03-16 10:22 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-16 14:33 ` Robert Pluim
0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-03-16 10:22 UTC (permalink / raw)
To: Robert Pluim; +Cc: Eli Zaretskii, 54378, nuil
Robert Pluim <rpluim@gmail.com> writes:
> So we donʼt do any autodetection of -ldl, so actually the following
> should be enough:
>
> diff --git a/configure.ac b/configure.ac
> index a315eeb6bd..bc17935eb1 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -3940,6 +3940,16 @@ AC_DEFUN
> darwin) MODULES_SECONDARY_SUFFIX='.so' ;;
> *) MODULES_SECONDARY_SUFFIX='' ;;
> esac
> +
> +# pgtkterm.c uses dlsym
> +if test $window_system = pgtk; then
> + case $opsys in
> + gnu|gnu-linux)
> + LIBMODULES="-ldl"
> + ;;
> + esac
> +fi
> +
> if test "${with_modules}" != "no"; then
> case $opsys in
> gnu|gnu-linux)
Works here, thanks.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#54378: Build log of 'make V=1'
2022-03-13 17:11 bug#54378: Subject: 29.0 Build failed nuil
` (2 preceding siblings ...)
2022-03-15 6:21 ` bug#54378: Still build failed with USE='gtk -X gui' nuil
@ 2022-03-15 18:21 ` nuil
3 siblings, 0 replies; 21+ messages in thread
From: nuil @ 2022-03-15 18:21 UTC (permalink / raw)
To: 54378
[-- Attachment #1: Type: text/plain, Size: 5627 bytes --]
I don't know how to run emerge with 'make V=1', so I cd to the directory of emacs clone by emerge and run make V=1 manually.
please let me know if I do something wrong.
Build log:
make V=1
make -C lib all
make[1]: Entering directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/lib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/lib'
make -C lib-src all
make[1]: Entering directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/lib-src'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/lib-src'
make -C src VCSWITNESS='$(srcdir)/../.git/logs/HEAD' BIN_DESTDIR=''/usr/bin/'' \
ELN_DESTDIR='/usr/lib64/emacs/29.0.50/' all
make[1]: Entering directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/src'
make -C ../admin/charsets all
make[2]: Entering directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/admin/charsets'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/admin/charsets'
make -C ../admin/unidata charscript.el
make[2]: Entering directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/admin/unidata'
make[2]: Nothing to be done for 'charscript.el'.
make[2]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/admin/unidata'
make -C ../admin/unidata emoji-zwj.el
make[2]: Entering directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/admin/unidata'
make[2]: Nothing to be done for 'emoji-zwj.el'.
make[2]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/admin/unidata'
clang -o temacs.tmp \
-Demacs -I. -I. -I../lib -I../lib -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/at-spi-2.0 -pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -pthread -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/uuid -I/usr/include/libpng16 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/freetype2 -I/usr/include/freetype2 -I/usr/include/uuid -MMD -MF deps/.d -MP -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/uuid -I/usr/include/libpng16 -Wno-switch -Wno-pointer-sign -Wno-string-plus-int -Wno-unknown-attributes -Wno-initializer-overrides -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -march=znver3 -O2 -pipe -Wl,-O1 -Wl,--as-needed -Wl,-O2 -Wl,--as-needed \
dispnew.o frame.o scroll.o xdisp.o menu.o window.o charset.o coding.o category.o ccl.o character.o chartab.o bidi.o cm.o term.o terminal.o xfaces.o gtkutil.o emacsgtkfixed.o dbusbind.o emacs.o keyboard.o macros.o keymap.o sysdep.o bignum.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o cmds.o casetab.o casefiddle.o indent.o search.o regex-emacs.o undo.o alloc.o pdumper.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o font.o print.o lread.o syntax.o bytecode.o comp.o process.o gnutls.o callproc.o region-cache.o sound.o timefns.o atimer.o doprnt.o intervals.o textprop.o composite.o xml.o lcms.o inotify.o profiler.o decompress.o thread.o systhread.o sqlite.o ftfont.o ftcrfont.o fontset.o fringe.o image.o xgselect.o pgtkfns.o pgtkterm.o pgtkselect.o pgtkmenu.o pgtkim.o xsettings.o terminfo.o lastfile.o ../lib/libgnu.a -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -ltiff -ljpeg -lpng16 -lz -lgif -lasound -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lcairo -lacl -lrt -ldbus-1 -lgpm -lcairo -ltinfo -lfreetype -lfontconfig -lfreetype -lgnutls -lpthread -lanl -llcms2 -lm -lz -lsystemd -lgmp
/usr/bin/x86_64-pc-linux-gnu-ld: pgtkterm.o: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
/usr/bin/x86_64-pc-linux-gnu-ld: /lib64/libdl.so.2: error adding symbols: DSO missing from command line
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:701: temacs] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-editors/emacs-29.0.9999/work/emacs/src'
make: *** [Makefile:469: src] Error 2
[-- Attachment #2: Type: text/html, Size: 5817 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2022-03-16 14:33 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-13 17:11 bug#54378: Subject: 29.0 Build failed nuil
2022-03-14 0:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-14 3:37 ` Eli Zaretskii
2022-03-14 5:03 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-14 12:50 ` Eli Zaretskii
2022-03-14 13:05 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-14 14:11 ` Eli Zaretskii
2022-03-15 0:32 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-15 0:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-15 6:21 ` bug#54378: Still build failed with USE='gtk -X gui' nuil
2022-03-15 16:58 ` Eli Zaretskii
2022-03-15 17:17 ` Robert Pluim
2022-03-15 18:59 ` Robert Pluim
2022-03-16 4:45 ` bug#54378: Subject: 29.0 Build failed Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-16 7:34 ` Robert Pluim
2022-03-16 7:53 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-16 9:00 ` Robert Pluim
2022-03-16 10:02 ` Robert Pluim
2022-03-16 10:22 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-16 14:33 ` Robert Pluim
2022-03-15 18:21 ` bug#54378: Build log of 'make V=1' nuil
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).