emacs-zmq icon indicating copy to clipboard operation
emacs-zmq copied to clipboard

Getting error configure: error: C compiler cannot create executables *** [Makefile:49: configure] Error 77 *** [Makefile:61: src/Makefile] Error 2

Open mghbar opened this issue 3 years ago • 4 comments

Trying to install ZMQ for emacs jupyter.

Get the following error when attempting to build the module from emacs, as well as when downloading from source and running the make file:

configure: error: C compiler cannot create executables See `config.log' for more details configure: error: ./configure failed for libzmq make[1]: *** [Makefile:49: configure] Error 77 make[1]: Leaving directory make: *** [Makefile:61: src/Makefile] Error 2

Autotools and pkg-config are installed. Fedora 34, zeromq 4.3.4, emacs 27.2, gcc (GCC) 11.1.1 20210531, g++ (GCC) 11.1.1 20210531

See config.log attached.

Thanks,

config.log

mghbar avatar Jun 07 '21 02:06 mghbar

~Also on Fedora 34. From the zmq emacs directory (note: not the src directory) in a bash terminal, I was able to build outside of emacs by have just issuing a build command. Then when I reopen emacs it finds the binary.~

Apologies, I was ssh'd into an ubuntu machine and it built there, so I have nothing helpful to offer.

My error was different, as I believe that build is issued in the src folder which causes an error like this.

roblem avatar Jun 14 '21 07:06 roblem

I am encountering the same issue, but with 28.0.50.

checking whether the C compiler works... no
configure: error: in `/home/djliden91/coffeemacs/elpa/zmq-20210613.343/src/libzmq':
configure: error: C compiler cannot create executables
See `config.log' for more details
configure: error: ./configure failed for libzmq
make: *** [Makefile:49: configure] Error 77

config.log

Edit: The workaround for issues obtaining the binary suggested in the README worked for me. I manually downloaded the binary from releases and moved the .so file to my <emacs-directory>/elpa/zmq directory (in the same directory as zmq.el, per the README instructions). Upon restarting emacs, emacs-Jupyter was working with no problems and nothing further needed to be done. Not a fix for the specific compilation issue, but it does solve the problem of getting emacs-Jupyter running.

djliden avatar Jul 17 '21 21:07 djliden

The attached config.log is from the top level invocation of configure. I wonder if there is a config.log generated when trying to configure libzmq. Is there a config.log in the libzmq directory?

Just to be sure you are attempting to compile libzmq right? You are not linking a pre-compiled libzmq via ZMQ_LIBS and ZMQ_CFLAGS?

nnicandro avatar Nov 23 '21 20:11 nnicandro

I am encountering the same issue, but with 28.0.50.

checking whether the C compiler works... no
configure: error: in `/home/djliden91/coffeemacs/elpa/zmq-20210613.343/src/libzmq':
configure: error: C compiler cannot create executables
See `config.log' for more details
configure: error: ./configure failed for libzmq
make: *** [Makefile:49: configure] Error 77

config.log

Edit: The workaround for issues obtaining the binary suggested in the README worked for me. I manually downloaded the binary from releases and moved the .so file to my <emacs-directory>/elpa/zmq directory (in the same directory as zmq.el, per the README instructions). Upon restarting emacs, emacs-Jupyter was working with no problems and nothing further needed to be done. Not a fix for the specific compilation issue, but it does solve the problem of getting emacs-Jupyter running.

This solved the problem of getting emacs-jupyter working.

mghbar avatar Jan 20 '22 15:01 mghbar

Looking back over at both of the config.logs it looks like the linker can't find the libstdc++ static library which is causing the failure. To fix that someone would have to figure out the correct LDFLAGS to pass when ${host_os} is x86_64-redhat-linux here.

I'm closing this as the pre-built binaries seem to be working OK on RedHat.

nnicandro avatar Feb 14 '23 01:02 nnicandro

The pre-built binaries are not working for me on Fedora 37. By overriding the system-configuration from "x86_64-redhat-linux-gnu" to "x86_64-linux-gnu" I can get the binaries to automatically install, but unfortunately it does cause Emacs 29 to segfault. I am using emacs-29.0.5 from the deathwish/emacs-pgtk-nativecomp copr repo. Which probably doesn't help.

I was running into the same "C compiler cannot create executables" error as above when attempting to compile it.

The solution to this is to install the "libstdc++-static" package. The "libstdc++" and "libstdc++-devel" packages were not enough. Once the static package was installed I was able to build emacs-zmq without modifying any of the compiler flags.

Unfortunately I still can't get emacs-jupyter notebook working, probably due to a incompatibility between it and Emacs 29. (Warning: Unknown type: json-plist\nError retrieving kernelspecs: (json-number-format 5)): But at least it is a step in the right direction.

nmoseman avatar Mar 31 '23 17:03 nmoseman