Open jmpetit opened 2 years ago
Have you handeled the issue?
Hi, thanks for asking. Since I got no response from anybody, I abandoned the idea of using Jupyter in Org-mode. I was already able to have python and ipython running with org-mode to have kind of notebooks and literal programming. I now managed to install emacs-vterm, after recompiling emacs to support modules, and I install julia-mode, julia-vterm and ob-julia-vterm. Now I can also run blocks of Julia code from within Org-mode, and that's all I wanted. As a bonus, I also have a working Julia REPL i can access from Emacs and Org-mode.
Short answer: no I didn't handled the issue. I quit. Best, Jean-Marc
If you still want to give emacs-jupyter
a shot, I've made some changes to emacs-zmq
which may have fixed your problem. What I can gather from the backtrace is that it has something to do with zmq-module-file
, that variable is no longer used so you may get different results if you try again.
Hi, thanks for asking. Since I got no response from anybody, I abandoned the idea of using Jupyter in Org-mode. I was already able to have python and ipython running with org-mode to have kind of notebooks and literal programming. I now managed to install emacs-vterm, after recompiling emacs to support modules, and I install julia-mode, julia-vterm and ob-julia-vterm. Now I can also run blocks of Julia code from within Org-mode, and that's all I wanted. As a bonus, I also have a working Julia REPL i can access from Emacs and Org-mode.
Short answer: no I didn't handled the issue. I quit. Best, Jean-Marc
ipython is better than jupyter, I also get stuck to install zmq from ubuntu.
Thank you @nnicandro for your efforts on this library. This post is just to add information for people potentially dealing with similar issues. I hope this helps.
I'd really like to use emacs-jupyter
but sadly I am just so confused on why I can't get this installed. I'm running Fedora Silverblue 37 with Toolbox (Fedora 37), and it ain't workin. Doesn't seem worth making a new issue, though.
Fedora Toolbox make
cannot compile ZMQ module. The compilation consistently skips over any installed instance of zmq
(e.g. sudo dnf install zeromq-devel
) and tries to build zmq
.
example: make
in Toolbox (Fedora 37) on cloned git repo
As a hunch, I'm guessing a good hint are these lines at the bottom:
checking whether the C compiler works... no
configure: error: ./configure failed for libzmq
⬢[weaver@toolbox dev]$ cd emacs-zmq/
⬢[weaver@toolbox emacs-zmq]$ make
cd src && autoreconf -i
aclocal: warning: couldn't open directory 'm4': No such file or directory
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:8: installing './ar-lib'
configure.ac:7: installing './compile'
configure.ac:9: installing './config.guess'
configure.ac:9: installing './config.sub'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
Makefile.am: installing './depcomp'
make configure
make[1]: Entering directory '/var/home/weaver/dev/emacs-zmq'
cd src && ./configure CPPFLAGS="" \
--prefix=/var/home/weaver/dev/emacs-zmq \
--enable-shared=emacs-zmq --enable-static=zeromq \
--without-docs --enable-drafts=yes --enable-libunwind=no \
--disable-curve-keygen --disable-perf --disable-eventfd
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ZMQ... yes
checking for library containing zmq_poller_new... no
configure: incompatible libzmq, building one locally
Cloning into 'libzmq'...
remote: Enumerating objects: 44230, done.
remote: Counting objects: 100% (149/149), done.
remote: Compressing objects: 100% (97/97), done.
remote: Total 44230 (delta 69), reused 96 (delta 52), pack-reused 44081
Receiving objects: 100% (44230/44230), 22.23 MiB | 12.45 MiB/s, done.
Resolving deltas: 100% (32214/32214), done.
Note: switching to 'v4.3.1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 2cb1240d Finalise changelog for 4.3.1
Generating libzmq configure script
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I config --force -I config
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'.
libtoolize: copying file 'config/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'config'.
libtoolize: copying file 'config/libtool.m4'
libtoolize: copying file 'config/ltoptions.m4'
libtoolize: copying file 'config/ltsugar.m4'
libtoolize: copying file 'config/ltversion.m4'
libtoolize: copying file 'config/lt~obsolete.m4'
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal -I config --force -I config
autoreconf: running: /usr/bin/autoconf --include=config --force
configure.ac:61: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:61: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
m4/ax_check_compile_flag.m4:60: AX_CHECK_COMPILE_FLAG is expanded from...
configure.ac:61: the top level
configure.ac:76: warning: The macro `AC_LIBTOOL_WIN32_DLL' is obsolete.
configure.ac:76: You should run autoupdate.
config/ltoptions.m4:148: AC_LIBTOOL_WIN32_DLL is expanded from...
configure.ac:76: the top level
configure.ac:76: warning: AC_LIBTOOL_WIN32_DLL: Remove this warning and the call to _LT_SET_OPTION when you
configure.ac:76: put the 'win32-dll' option into LT_INIT's first parameter.
./lib/autoconf/general.m4:2434: AC_DIAGNOSE is expanded from...
config/ltoptions.m4:148: AC_LIBTOOL_WIN32_DLL is expanded from...
configure.ac:76: the top level
configure.ac:77: warning: The macro `AC_PROG_LIBTOOL' is obsolete.
configure.ac:77: You should run autoupdate.
config/libtool.m4:100: AC_PROG_LIBTOOL is expanded from...
configure.ac:77: the top level
configure.ac:379: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:379: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:379: the top level
configure.ac:408: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:408: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:646: LIBZMQ_CHECK_EVENTFD_CLOEXEC is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from...
./lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from...
lib/m4sugar/m4sh.m4:651: AS_FOR is expanded from...
./lib/autoconf/headers.m4:217: AC_CHECK_HEADERS is expanded from...
configure.ac:408: the top level
configure.ac:462: warning: The macro `AC_HEADER_TIME' is obsolete.
configure.ac:462: You should run autoupdate.
./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from...
configure.ac:462: the top level
configure.ac:664: warning: The macro `AC_TYPE_SIGNAL' is obsolete.
configure.ac:664: You should run autoupdate.
./lib/autoconf/types.m4:776: AC_TYPE_SIGNAL is expanded from...
configure.ac:664: the top level
configure.ac:734: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:734: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:597: LIBZMQ_CHECK_SOCK_CLOEXEC is expanded from...
configure.ac:734: the top level
configure.ac:740: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:740: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:621: LIBZMQ_CHECK_O_CLOEXEC is expanded from...
configure.ac:740: the top level
configure.ac:746: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:746: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:703: LIBZMQ_CHECK_SO_BINDTODEVICE is expanded from...
configure.ac:746: the top level
configure.ac:753: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:753: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:730: LIBZMQ_CHECK_SO_KEEPALIVE is expanded from...
configure.ac:753: the top level
configure.ac:759: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:759: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:757: LIBZMQ_CHECK_TCP_KEEPCNT is expanded from...
configure.ac:759: the top level
configure.ac:765: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:765: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:787: LIBZMQ_CHECK_TCP_KEEPIDLE is expanded from...
configure.ac:765: the top level
configure.ac:771: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:771: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:817: LIBZMQ_CHECK_TCP_KEEPINTVL is expanded from...
configure.ac:771: the top level
configure.ac:777: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:777: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:847: LIBZMQ_CHECK_TCP_KEEPALIVE is expanded from...
configure.ac:777: the top level
configure.ac:783: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:783: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
acinclude.m4:877: LIBZMQ_CHECK_GETRANDOM is expanded from...
configure.ac:783: the top level
autoreconf: running: /usr/bin/autoheader --include=config --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:60: installing 'config/compile'
configure.ac:75: installing 'config/config.guess'
configure.ac:75: installing 'config/config.sub'
configure.ac:14: installing 'config/install-sh'
configure.ac:14: installing 'config/missing'
Makefile.am: installing 'config/depcomp'
parallel-tests: installing 'config/test-driver'
autoreconf: Leaving directory '.'
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for file... file
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... failed
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
config.status: executing libtool commands
=== configuring in libzmq (/var/home/weaver/dev/emacs-zmq/src/libzmq)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/var/home/weaver/dev/emacs-zmq' 'CPPFLAGS=' '--enable-shared=emacs-zmq' '--enable-static=zeromq' '--without-docs' '--enable-drafts=yes' '--enable-libunwind=no' '--disable-curve-keygen' '--disable-perf' '--disable-eventfd' --cache-file=/dev/null --srcdir=.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/var/home/weaver/dev/emacs-zmq/src/libzmq':
configure: error: C compiler cannot create executables
See `config.log' for more details
configure: error: ./configure failed for libzmq
make[1]: *** [Makefile:27: configure] Error 77
make[1]: Leaving directory '/var/home/weaver/dev/emacs-zmq'
make: *** [Makefile:39: src/Makefile] Error 2
condition:
emacs-zmq.so
is in any of:
~/.emacs.d/.local/straight/repos/emacs-zmq/
, or ~/.emacs.d/.local/straight/build-28.2/zmq/
make test
in the directoryM-x jupyter-connect-server-repl
in emacs
Example: Fedora Toolbox run make test
in cloned repo with emacs-zmq.so inside
⬢[weaver@toolbox emacs-zmq]$ rm emacs-zmq.so
⬢[weaver@toolbox emacs-zmq]$ make test
emacs -nw -Q -batch -L . -l ert -l zmq-tests.el \
--eval "(ert-run-tests-batch-and-exit)"
Checking for compatible module binary to download
ZMQ module not found. Building it
Compilation exited abnormally with code 2
Warning (emacs): Something went wrong when compiling the ZMQ module!
Debugger entered--Lisp error: (void-function zmq-version)
(zmq-version)
(message "ZMQ Version: %s" (zmq-version))
load-with-code-conversion("/var/home/weaver/dev/emacs-zmq/zmq-tests.el" "/var/home/weaver/dev/emacs-zmq/zmq-tests.el" nil t)
command-line-1(("-L" "." "-l" "ert" "-l" "zmq-tests.el" "--eval" "(ert-run-tests-batch-and-exit)"))
command-line()
normal-top-level()
make: *** [Makefile:51: test] Error 255
Example: run M-x jupyter-connect-server-repl
in emacs
with emacs-zmq.so
in ~/.emacs.d/.local/straight/build-28.2/zmq/
(within emacs): M-x jupyter-connect-server-repl
⬢[weaver@toolbox emacs-zmq]$ emacs
Segmentation fault (core dumped)
I tried using Ubuntu on Distrobox to build this repo. After installing a bunch of packages, running make
twice results in two different error messages? (same results before/after doom sync
, too)
Not clue what's going on here, but might be useful to someone looking in the future.
weaver@ubuntu-distrobox:~/dev/emacs-zmq$ make
cd src && autoreconf -i
aclocal: warning: couldn't open directory 'm4': No such file or directory
configure.ac:12: error: possibly undefined macro: AC_SEARCH_LIBS
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:13: error: possibly undefined macro: dnl
configure.ac:14: error: possibly undefined macro: AC_DEFINE
configure.ac:16: error: possibly undefined macro: AC_MSG_NOTICE
autoreconf: error: /usr/bin/autoconf failed with exit status: 1
make: *** [Makefile:47: src/configure] Error 1
weaver@ubuntu-distrobox:~/dev/emacs-zmq$ make
make configure
make[1]: Entering directory '/var/home/weaver/dev/emacs-zmq'
cd src && ./configure CPPFLAGS="" \
--prefix=/var/home/weaver/dev/emacs-zmq \
--enable-shared=emacs-zmq --enable-static=zeromq \
--without-docs --enable-drafts=yes --enable-libunwind=no \
--disable-curve-keygen --disable-perf --disable-eventfd
configure: error: cannot find required auxiliary files: config.guess config.sub ar-lib compile missing install-sh
make[1]: *** [Makefile:27: configure] Error 1
make[1]: Leaving directory '/var/home/weaver/dev/emacs-zmq'
make: *** [Makefile:39: src/Makefile] Error 2
I tried running Ubuntu Distrobox M-x jupyter-connect-server-repl
in emacs
, no binaries pre-downloaded (except sudo apt install libzmq3-dev
). It didn't prompt me for the two questions, but went directly to prompting the server and such. So, that's some progress?
Great news! Progress made -- I can use make
to build emacs-zmq. This is urgently helpful information. I need to follow up once I can actually test if it works in my emacs, though.
Note: This is only an issue if your "supported distros" is not a primary ci platform... which unfortunately means every Unix system may have issues.
This issue affects:
To ensure a compatible libzmq binary:
libzmq libzmq-devel
(or similarly named equivalent) from the appropriate locations.
nm -D --defined-only /usr/lib64/libzmq.so | grep zmq_poller_new
in your terminal must return a non-empty result.
zmq_poller_new
is a DRAFT API function. emacs-zmq
runs a compatibility test searching for this function on src/configure.acexport ZMQ_LIBS=/usr/lib64/libzmq.so
in terminal before using make
as described by emacs-zmq's README.
export ZMQ_CFLAGS
-- this is only for compiling libzmq
(i think).stable with draft is broken for: Fedora, xUbuntu, openSUSE, SLE, and Debian.
⬢[weaver@toolbox emacs-zmq]$ ls /usr/lib64/libzmq*
/usr/lib64/libzmq.a /usr/lib64/libzmq.so /usr/lib64/libzmq.so.5 /usr/lib64/libzmq.so.5.2.5
⬢[weaver@toolbox emacs-zmq]$ nm -D --defined-only /usr/lib64/libzmq.so | grep zmq_poller_new
000000000006cfc0 T zmq_poller_new
On MacOS I was able to build the library by making the following small change to the Makefile
@@ -24,7 +25,7 @@ all: $(EZMQ_LIBDIR)/$(EZMQ_MODULE) compile
.PHONY: configure
configure: src/configure
- cd src && ./configure CPPFLAGS="$(CPPFLAGS)" \
+ cd src && ./configure CPPFLAGS="$(CPPFLAGS)" MODULE_EXT="$(MODULE_EXT)" \
--prefix=$(CURDIR) \
--enable-shared=emacs-zmq --enable-static=zeromq \
--without-docs --enable-drafts=yes --enable-libunwind=no \
The MODULE_EXT
variable wasn't being passed to the submodule and caused the build to fail.
I need to have emacs-zmq for running emacs-jupyter. I installed zmq with M_x package-install RET zmq RET, which went fine. Then M-: (require 'zmq) fails with:
Debugger entered--Lisp error: (wrong-type-argument sequencep t) byte-code("\010\205\016\0\301\302\010P\303\304\305!!\"\207" [module-file-suffix expand-file-name "emacs-zmq" file-name-directory locate-library "zmq"] 5) (defconst zmq-module-file (byte-code "\010\205\016\0\301\302\010P\303\304\305!!\"\207" [module-file-suffix expand-file-name "emacs-zmq" file-name-directory locate-library "zmq"] 5) ("/home/petit/.emacs.d/elpa/zmq-20220510.1820/zmq.elc" . 599)) require(zmq) eval((require (quote zmq)) nil) eval-expression((require (quote zmq)) nil nil 127) funcall-interactively(eval-expression (require (quote zmq)) nil nil 127) call-interactively(eval-expression nil nil) command-execute(eval-expression)
I then realize that module zmq is not installed (I've installed libzmq5, but seems to not be the correct version). So I went into zmq-20220510_1820, and tried to compile the module. After failing miserably yesterday, it worked today, with the same branch of zmq, and it worked fine today.
Anyhow, I tried again to start zmq in emacs, and still got the very same error message:
Debugger entered--Lisp error: (wrong-type-argument sequencep t) byte-code("\010\205\016\0\301\302\010P\303\304\305!!\"\207" [module-file-suffix expand-file-name "emacs-zmq" file-name-directory locate-library "zmq"] 5) (defconst zmq-module-file (byte-code "\010\205\016\0\301\302\010P\303\304\305!!\"\207" [module-file-suffix expand-file-name "emacs-zmq" file-name-directory locate-library "zmq"] 5) ("/home/petit/.emacs.d/elpa/zmq-20220510.1820/zmq.elc" . 599)) require(zmq) eval((require (quote zmq)) nil) eval-expression((require (quote zmq)) nil nil 127) funcall-interactively(eval-expression (require (quote zmq)) nil nil 127) call-interactively(eval-expression nil nil) command-execute(eval-expression)
Any idea what is going on ? This is very limiting as I'd really like to use Jupyter for Python and Julia in Org-mode.
Many thanks, Jean-Marc Petit