bug#47318: 26.3; Modules on Emacs 26.3 broken?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#47318: 26.3; Modules on Emacs 26.3 broken?

Sanel Zukan
Hi guys,

I'm getting this [1] error from freshly compiled Emacs 26.3 and
vterm-module.

Also, emacs-eject [2] and very simple module [3] fails on 26.3 with the
similar error. However, they are working fine on 27.1.

Any idea what could go wrong? I also tried to run bare Emacs with
'emacs -Q'. In the all cases, Emacs is compiled with modules support.

[1] https://github.com/akermu/emacs-libvterm/issues/181
[2] https://github.com/syohex/emacs-eject
[3] http://diobla.info/blog-archive/modules-tut.html

Best regards,
Sanel



In GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.18.9)
 of 2021-03-21 built on darkstar
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Quit
Directory ~/programs/emacs/emacs-eject/
Scanning for dabbrevs...done
user-error: No dynamic expansion for ‘add-to-li’ found
Mark set
Quit
Entering debugger...
: is undefined
Back to top level

Configured using:
 'configure --prefix=/opt/emacs-26.3 --with-modules --without-gconf
 --without-gsettings'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GLIB NOTIFY ACL
GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM
MODULES THREADS LCMS2

Important settings:
  value of $LC_COLLATE: C
  value of $LC_CTYPE: en_US.utf8
  value of $LC_MESSAGES: en_US.utf8
  value of $LC_MONETARY: en_US.utf8
  value of $LC_NUMERIC: en_US.utf8
  value of $LC_TIME: en_US.utf8
  value of $LANG: en_US.utf8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  ido-vertical-mode: t
  diff-auto-refine-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  evil-mode: t
  evil-local-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
~/.emacs.d/modes/async hides ~/.emacs.d/elpa/async-1.9.3/async
~/.emacs.d/modes/dired-async hides ~/.emacs.d/elpa/async-1.9.3/dired-async
~/.emacs.d/evil/lib/ert hides ~/programs/emacs/emacs-26.3/lisp/emacs-lisp/ert

Features:
(shadow sort gnus-alias mail-extr emacsbug sendmail cl-print debug
dabbrev term/rxvt term/xterm xterm elec-pair ido-vertical-mode ido
notmuch hl-line notmuch-message notmuch-hello wid-edit notmuch-tree
notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-draft
notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser
notmuch-wash diff-mode coolj notmuch-query goto-addr icalendar diary-lib
diary-loaddefs notmuch-tag crm notmuch-lib notmuch-version
notmuch-compat message rmc puny dired dired-loaddefs rfc822 mml
mailabbrev gmm-utils mailheader mm-view mml-smime mml-sec epa epg
gnus-util rmail rmail-loaddefs mail-utils smime dig mm-decode mm-bodies
mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr org-protocol org-element avl-tree generator org org-macro
org-footnote org-pcomplete pcomplete org-list org-faces org-entities
time-date noutline outline org-version ob-emacs-lisp ob ob-tangle
org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint comint
ansi-color ob-core ob-eval org-compat org-macs org-loaddefs format-spec
find-func cal-menu calendar cal-loaddefs evil evil-integration undo-tree
derived easy-mmode cl-extra help-mode diff cl evil-maps evil-commands
evil-jumps evil-command-window evil-types evil-search evil-ex
evil-macros evil-repeat evil-states evil-core advice evil-common
windmove thingatpt rect evil-digraphs evil-vars ring edmacro kmacro
cc-styles cc-align cc-engine cc-vars cc-defs disp-table finder-inf
dash-functional-autoloads f-autoloads request-deferred-autoloads
deferred-autoloads s-autoloads info yaml-mode-autoloads package easymenu
epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame 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 minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 260848 26175)
 (symbols 48 35102 2)
 (miscs 40 68 224)
 (strings 32 76366 2343)
 (string-bytes 1 2396355)
 (vectors 16 28847)
 (vector-slots 8 634947 12426)
 (floats 8 121 604)
 (intervals 56 394 0)
 (buffers 992 13)
 (heap 1024 34263 1706))



Reply | Threaded
Open this post in threaded view
|

bug#47318: 26.3; Modules on Emacs 26.3 broken?

Sanel Zukan
Hi Philipp,

Thanks for your fast reply. I tried that; it will return 't,' but no
symbols are visible in Emacs. Tried with modules-tut [3] example and
emacs-libvterm.

Any idea what could go wrong?

Best regards,
Sanel

Philipp Stephani <[hidden email]> writes:

> Am Mo., 22. März 2021 um 14:14 Uhr schrieb Sanel Zukan <[hidden email]>:
>>
>> Hi guys,
>>
>> I'm getting this [1] error from freshly compiled Emacs 26.3 and
>> vterm-module.
>>
>> Also, emacs-eject [2] and very simple module [3] fails on 26.3 with the
>> similar error. However, they are working fine on 27.1.
>>
>> Any idea what could go wrong? I also tried to run bare Emacs with
>> 'emacs -Q'. In the all cases, Emacs is compiled with modules support.
>>
>> [1] https://github.com/akermu/emacs-libvterm/issues/181
>> [2] https://github.com/syohex/emacs-eject
>> [3] http://diobla.info/blog-archive/modules-tut.html
>>
>
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30164 is probably at
> least part of the answer.
> However, loading modules in general should still work, even in Emacs
> 26. Do you also get errors when loading the module file directly with
> `load' instead of `require'?



Reply | Threaded
Open this post in threaded view
|

bug#47318: 26.3; Modules on Emacs 26.3 broken?

Philipp Stephani


> Am 23.03.2021 um 22:41 schrieb Sanel Zukan <[hidden email]>:
>
> Hi Philipp,
>
> Thanks for your fast reply. I tried that; it will return 't,' but no
> symbols are visible in Emacs. Tried with modules-tut [3] example and
> emacs-libvterm.

Could you please explain precisely what you're trying to do, starting from 'emacs -Q'?  Thanks.

>
> Any idea what could go wrong?
>
> Best regards,
> Sanel
>
> Philipp Stephani <[hidden email]> writes:
>> Am Mo., 22. März 2021 um 14:14 Uhr schrieb Sanel Zukan <[hidden email]>:
>>>
>>> Hi guys,
>>>
>>> I'm getting this [1] error from freshly compiled Emacs 26.3 and
>>> vterm-module.
>>>
>>> Also, emacs-eject [2] and very simple module [3] fails on 26.3 with the
>>> similar error. However, they are working fine on 27.1.
>>>
>>> Any idea what could go wrong? I also tried to run bare Emacs with
>>> 'emacs -Q'. In the all cases, Emacs is compiled with modules support.
>>>
>>> [1] https://github.com/akermu/emacs-libvterm/issues/181
>>> [2] https://github.com/syohex/emacs-eject
>>> [3] http://diobla.info/blog-archive/modules-tut.html
>>>
>>
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30164 is probably at
>> least part of the answer.
>> However, loading modules in general should still work, even in Emacs
>> 26. Do you also get errors when loading the module file directly with
>> `load' instead of `require'?




Reply | Threaded
Open this post in threaded view
|

bug#47318: 26.3; Modules on Emacs 26.3 broken?

Philipp Stephani
Am Sa., 27. März 2021 um 18:53 Uhr schrieb Sanel Zukan <[hidden email]>:

>
>
> Philipp <[hidden email]> writes:
> > Could you please explain precisely what you're trying to do, starting from 'emacs -Q'?  Thanks.
>
> Sure! I'm going to use that mymod example.
>
>  1. Start emacs 26.3 with:
>     "~/programs/emacs/emacs-26.3/src/emacs -Q"
>
>  2. Run in *scratch* (or minibuffer):
>     (load "/home/sanel/programs/emacs/module-test/mymod.so")
>
>  Loading without ".so" extesions also works.
>
>  3. This will return 't'.
>
>  4. After mymod.so is loaded, 'mymod-test' function should be defined.
>
>  5. In *scratch* or minibuffer, running: (fboundp 'mymod-test) => nil.
>
> Also, evaliuating '(mymod-test)' will throw this error:
>
>   Debugger entered--Lisp error: (void-function mymod-test)
>     (mymod-test)
>     eval((mymod-test) nil)
>     elisp--eval-last-sexp(t)
>     eval-last-sexp(t)
>     eval-print-last-sexp(nil)
>     funcall-interactively(eval-print-last-sexp nil)
>     call-interactively(eval-print-last-sexp nil nil)
>     command-execute(eval-print-last-sexp)
>

I can't reproduce that, sorry. Both the fboundp check and calling the
function work as expected for me. I've compiled the module as
described in http://diobla.info/blog-archive/modules-tut.html.

>
> Replicating the same steps in emacs 27.2, in the step 4. it will
> return 't' and when '(mymod-test)' is called, it will return 42.
>
> Best regards,
> Sanel
>
> >>
> >> Any idea what could go wrong?
> >>
> >> Best regards,
> >> Sanel
> >>
> >> Philipp Stephani <[hidden email]> writes:
> >>> Am Mo., 22. März 2021 um 14:14 Uhr schrieb Sanel Zukan <[hidden email]>:
> >>>>
> >>>> Hi guys,
> >>>>
> >>>> I'm getting this [1] error from freshly compiled Emacs 26.3 and
> >>>> vterm-module.
> >>>>
> >>>> Also, emacs-eject [2] and very simple module [3] fails on 26.3 with the
> >>>> similar error. However, they are working fine on 27.1.
> >>>>
> >>>> Any idea what could go wrong? I also tried to run bare Emacs with
> >>>> 'emacs -Q'. In the all cases, Emacs is compiled with modules support.
> >>>>
> >>>> [1] https://github.com/akermu/emacs-libvterm/issues/181
> >>>> [2] https://github.com/syohex/emacs-eject
> >>>> [3] http://diobla.info/blog-archive/modules-tut.html
> >>>>
> >>>
> >>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30164 is probably at
> >>> least part of the answer.
> >>> However, loading modules in general should still work, even in Emacs
> >>> 26. Do you also get errors when loading the module file directly with
> >>> `load' instead of `require'?



Reply | Threaded
Open this post in threaded view
|

bug#47318: 26.3; Modules on Emacs 26.3 broken?

Sanel Zukan
Philipp Stephani <[hidden email]> writes:
> I can't reproduce that, sorry. Both the fboundp check and calling the
> function work as expected for me. I've compiled the module as
> described in http://diobla.info/blog-archive/modules-tut.html.

Hm... any idea how this can be further debugged? In that mymod.c
example, I've added couple of puts() and all loading functions are run
properly.

I'm on slack 14.2 with kernel 5.9.1 x86_64, gcc 5.5.0. Not sure if this
makes any difference...

Best,
Sanel

>> Replicating the same steps in emacs 27.2, in the step 4. it will
>> return 't' and when '(mymod-test)' is called, it will return 42.
>>
>> Best regards,
>> Sanel
>>
>> >>
>> >> Any idea what could go wrong?
>> >>
>> >> Best regards,
>> >> Sanel
>> >>
>> >> Philipp Stephani <[hidden email]> writes:
>> >>> Am Mo., 22. März 2021 um 14:14 Uhr schrieb Sanel Zukan <[hidden email]>:
>> >>>>
>> >>>> Hi guys,
>> >>>>
>> >>>> I'm getting this [1] error from freshly compiled Emacs 26.3 and
>> >>>> vterm-module.
>> >>>>
>> >>>> Also, emacs-eject [2] and very simple module [3] fails on 26.3 with the
>> >>>> similar error. However, they are working fine on 27.1.
>> >>>>
>> >>>> Any idea what could go wrong? I also tried to run bare Emacs with
>> >>>> 'emacs -Q'. In the all cases, Emacs is compiled with modules support.
>> >>>>
>> >>>> [1] https://github.com/akermu/emacs-libvterm/issues/181
>> >>>> [2] https://github.com/syohex/emacs-eject
>> >>>> [3] http://diobla.info/blog-archive/modules-tut.html
>> >>>>
>> >>>
>> >>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30164 is probably at
>> >>> least part of the answer.
>> >>> However, loading modules in general should still work, even in Emacs
>> >>> 26. Do you also get errors when loading the module file directly with
>> >>> `load' instead of `require'?