Subject: bug#50494: closed (Re: bug#50494: 28.0.50; OpenBSD pgtk build fails due to the use of libdl)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 06 Dec 2021 18:19:02 +0000

Your bug report

#50494: 28.0.50; OpenBSD pgtk build fails due to the use of libdl

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
50494: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50494
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#50494: 28.0.50; OpenBSD pgtk build fails due to the use of libdl
From: Robert Pluim <[email-masked]>
To: Daniel Semyonov <[email-masked]>
Cc: [email-masked]
Date: Mon, 06 Dec 2021 19:18:20 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

>>>>> On Mon, 06 Dec 2021 20:10:08 +0200, Daniel Semyonov via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <[email-masked]> said:

    Daniel> This has been fixed at some point (not sure how to close this bug, or if
    Daniel> I'm even able to do so as the reporter).

The easiest way is to send to <bugno>[email-masked], like I've
done here.

Robert
-- 

Subject: 28.0.50; OpenBSD pgtk build fails due to the use of libdl
From: Daniel Semyonov <[email-masked]>
To: [email-masked]
Date: Fri, 10 Sep 2021 02:34:35 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Note: I'm sending this from a Linux machine but this was observed on an
OpenBSD laptop which I currently can't use, however since Emacs 28 is
releasing soon I thought I might as well report this since I happen to
know the solution to this bug.

At some point during a pgtk build (configure --with-pgtk) ld(1) will
error out since it can't find libdl, causing the build to fail.
This occurs since on OpenBSD libdl doesn't exist, instead providing the
same facilities through libc (this is a common issue when porting
programs to OpenBSD).

Workaround:
1. Run ./configure --with-pgtk
2. Open src/Makefile
3. Find the line PGTK_LIBS=...
4. Remove -ldl (the last library listed)
5. Run make

This produces a working Emacs AFAICT.

Sorry for not providing the specific error message returned by ld, and
not reporting this from the affected machine.  If this is critical, I
could try to get that laptop to work again and give some more
information.

Regards,
Daniel

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.29, cairo version 1.16.0)
 of 2021-09-09 built on coldharbour
Repository revision: fadf8f610d99d995310010a039aebb56dcc79dc7
Repository branch: feature/pgtk
Windowing system distributor 'System Description: void

Configured using:
 'configure --without-x --with-pgtk --prefix=/opt/Emacs'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PGTK PNG RSVG
SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XIM GTK3 ZLIB

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  semantic-minor-modes-format: ((:eval (if (or semantic-highlight-edits-mode semantic-show-unmatched-syntax-mode)  S)))
  gnus-agent-group-mode: t
  gnus-topic-mode: t
  gnus-undo-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  emms-mode-line-mode: t
  emms-playing-time-display-mode: t
  emms-playing-time-mode: t
  pdf-occur-global-minor-mode: t
  show-paren-mode: t
  electric-pair-mode: t
  repeat-mode: t
  swsw-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  vcomplete-mode: t
  display-time-mode: t
  minibuffer-line-mode: t
  minibuffer-electric-default-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/daniel/etc/emacs/elpa/transient-0.3.6/transient hides /opt/Emacs/share/emacs/28.0.50/lisp/transient

Features:
(shadow emacsbug sendmail make-mode tabify man magit-patch magit-subtree
magit-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help
ediff-init ediff-util sh-script executable wdired css-mode smie
sgml-mode facemenu eww xdg url-queue color makeinfo icomplete texinfo
texinfo-loaddefs eieio-opt speedbar ezimage dframe shortdoc cua-gmrk
cua-rect rect cua-base nndoc gnus-dup debbugs-gnu debbugs soap-client
rng-xsd rng-dt rng-util xsd-regexp emms-playlist-mode
emms-source-playlist emms-source-file locate url-http url-gw url-cache
url-auth nnrss mm-url sort smiley gnus-cite mm-archive mail-extr
gnus-async gnus-bcklg qp gnus-ml gnus-topic nndraft nnmh nnfolder utf-7
gnutls network-stream nsm gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig
gnus-cache gnus-sum shr kinsoku svg dom init-gnus gnus-demon nntp
gnus-group gnus-undo cus-start gnus-start gnus-dbus gnus-cloud nnimap
nnmail mail-source utf7 netrc nnoo parse-time iso8601 gnus-spec gnus-int
gnus-range gnus-win gnus nnheader term disp-table ehelp js cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs misearch multi-isearch goto-addr mule-util epa-file magit-extras
conf-mode vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc
bug-reference dired-aux face-remap magit-bookmark magit-submodule
magit-obsolete magit-blame magit-stash magit-reflog magit-bisect
magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log which-func magit-diff
smerge-mode diff git-commit rx log-edit message rmc puny rfc822 mml
mml-sec epa derived epg rfc6068 epg-config gnus-util rmail
rmail-loaddefs mm-decode mm-bodies mm-encode mailabbrev mail-utils
gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert
magit-margin magit-transient magit-process with-editor shell pcomplete
magit-mode transient magit-git magit-section magit-utils crm dash
cl-extra cl-print help-fns radix-tree noutline outline vc-git diff-mode
easy-mmode vc-dispatcher time-date checkdoc lisp-mnt mail-parse rfc2231
rfc2047 rfc2045 mm-util ietf-drums mail-prsvr help-mode flymake-proc
flymake warnings thingatpt flyspell ispell init-interfaces grep
init-emms emms-mode-line emms-playing-time emms-player-mpv
emms-player-simple emms-info-opusinfo emms-info emms-later-do emms
emms-compat init-web elpher-eww-emulation init-volume init-pass
auth-source-pass pinentry init-programs pdf-occur ibuf-ext ibuffer
ibuffer-loaddefs tablist tablist-filter semantic/wisent/comp
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local find-func
cedet pdf-isearch let-alist pdf-misc imenu pdf-tools compile comint
ansi-color ring pdf-view bookmark text-property-search jka-compr
pdf-cache pdf-info tq pdf-util advice image-mode exif dired
dired-loaddefs init-term init-eshell init-programming paren elec-pair
init-ui format-spec repeat swsw autorevert filenotify edmacro kmacro
delsel vcomplete battery dbus cal-julian solar cal-dst cal-menu calendar
cal-loaddefs xml time minibuffer-line minibuf-eldef init-personal pcase
init-base server finder-inf package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq
byte-opt gv bytecomp byte-compile cconv info cus-edit pp cus-load
wid-edit cl-loaddefs cl-lib iso-transl tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/pgtk-win pgtk-win
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit pgtk lcms2 multi-tty make-network-process
emacs)

Memory information:
((conses 16 823844 157742)
 (symbols 48 41233 1)
 (strings 32 214817 36469)
 (string-bytes 1 6119234)
 (vectors 16 85442)
 (vector-slots 8 1795153 153588)
 (floats 8 3246 1215)
 (intervals 56 9931 8584)
 (buffers 992 28))