Closed anubisg1 closed 10 years ago
Apparently this is a problem with PyZMQ looking for ZeroMQ libraries. I would recommend checking/reinstalling pyzmq.
What do you have with pip3 freeze | grep pyzmq
?
[root@localhost ~]# pip-python3 freeze | grep pyzmq pyzmq==14.2.0
i don't think the problem is zeromq or pyzmq install itself.
if you check again what the server is trying to do:
"error: zmq.h: No such file or directory
^ compilation terminated."
ImportError: PyZMQ CFFI backend couldn't find zeromq: CompileError: command 'gcc' failed with exit status 1
it seems that one of the latest added dependencies, python3-cffi, is trying to compile something using zeromq headers. this header, is part of -devel packages and not usually required at any runtime.
[root@localhost ~]# rpm -ql zeromq-devel | grep include /usr/include/zmq.h <--------- /usr/include/zmq_utils.h
installing zeromq-devel fixed the issue. Any idea why is this happening on the first place ?
i was checking it might be zeromq itself. Fedora 20 comes with zeromq 3.2.4
I took care of uprading zeromq to 4.0.4, and afterwards recompiling pyzmq on top of zeromq 4...
it seems like python3-cffi is not required anymore and this strange behavior of cffi trying to compile something doesn't occur anymore...
I think so too, pyzmq has 2 back-ends, cffi and cython. It uses the later by default in recent versions.
i verified and i can confirm. The problem was the older zeromq version that required ciffi and the header file ...
using a newer version with cython the problem doesn't exist.
Ok, thanks for the confirmation. I'll simply display the ZeroMQ version when the server starts for now.
gns3 server seems to run some check before starting. gns3 server uses gcc to compile something and requires python3-zmq headers. at runtime no compiler nor develpment headers should be needed.
[root@localhost ~]# gns3server /usr/lib64/python3.3/site-packages/zmq/backend/cffi/pycache/_cffi__xa8bce778x28aeb39d.c:153:17: fatal error: zmq.h: No such file or directory
include
compilation terminated. Traceback (most recent call last): File "/usr/lib64/python3.3/site-packages/zmq/backend/init.py", line 27, in
_ns = select_backend('zmq.backend.cython')
File "/usr/lib64/python3.3/site-packages/zmq/backend/select.py", line 31, in select_backend
mod = import(name, fromlist=public_api)
File "/usr/lib64/python3.3/site-packages/zmq/backend/cython/init.py", line 26, in
from . import (constants, error, message, context,
ImportError: /usr/lib64/python3.3/site-packages/zmq/backend/cython/utils.cpython-33m.so: undefined symbol: zmq_curve_keypair
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/lib64/python3.3/distutils/unixccompiler.py", line 126, in _compile extra_postargs) File "/usr/lib64/python3.3/distutils/ccompiler.py", line 909, in spawn spawn(cmd, dry_run=self.dry_run) File "/usr/lib64/python3.3/distutils/spawn.py", line 32, in spawn _spawn_posix(cmd, search_path, dry_run=dry_run) File "/usr/lib64/python3.3/distutils/spawn.py", line 163, in _spawn_posix % (cmd[0], exit_status)) distutils.errors.DistutilsExecError: command 'gcc' failed with exit status 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/lib64/python3.3/site-packages/cffi/ffiplatform.py", line 47, in _build dist.run_command('build_ext') File "/usr/lib64/python3.3/distutils/dist.py", line 948, in run_command cmd_obj.run() File "/usr/lib64/python3.3/distutils/command/build_ext.py", line 354, in run self.build_extensions() File "/usr/lib64/python3.3/distutils/command/build_ext.py", line 463, in build_extensions self.build_extension(ext) File "/usr/lib64/python3.3/distutils/command/build_ext.py", line 518, in build_extension depends=ext.depends) File "/usr/lib64/python3.3/distutils/ccompiler.py", line 574, in compile self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) File "/usr/lib64/python3.3/distutils/unixccompiler.py", line 128, in _compile raise CompileError(msg) distutils.errors.CompileError: command 'gcc' failed with exit status 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/lib64/python3.3/site-packages/zmq/backend/cffi/_cffi.py", line 187, in
_version_info = zmq_version_info()
File "/usr/lib64/python3.3/site-packages/zmq/backend/cffi/_cffi.py", line 159, in zmq_version_info
runtime_library_dirs=cfg['runtime_library_dirs'],
File "/usr/lib64/python3.3/site-packages/cffi/api.py", line 311, in verify
lib = self.verifier.load_library()
File "/usr/lib64/python3.3/site-packages/cffi/verifier.py", line 68, in load_library
self.compile_module()
File "/usr/lib64/python3.3/site-packages/cffi/verifier.py", line 56, in compile_module
self._compile_module()
File "/usr/lib64/python3.3/site-packages/cffi/verifier.py", line 142, in _compile_module
outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
File "/usr/lib64/python3.3/site-packages/cffi/ffiplatform.py", line 25, in compile
outputfilename = _build(tmpdir, ext)
File "/usr/lib64/python3.3/site-packages/cffi/ffiplatform.py", line 50, in _build
raise VerificationError('%s: %s' % (e.class.name, e))
cffi.ffiplatform.VerificationError: CompileError: command 'gcc' failed with exit status 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/bin/gns3server", line 9, in
load_entry_point('gns3-server==1.0a3.dev2', 'console_scripts', 'gns3server')()
File "/usr/lib/python3.3/site-packages/pkg_resources.py", line 357, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3.3/site-packages/pkg_resources.py", line 2394, in load_entry_point
return ep.load()
File "/usr/lib/python3.3/site-packages/pkg_resources.py", line 2108, in load
entry = import(self.module_name, globals(),globals(), ['name'])
File "/usr/lib/python3.3/site-packages/gns3server/main.py", line 25, in
from gns3server.server import Server
File "/usr/lib/python3.3/site-packages/gns3server/server.py", line 22, in
import zmq
File "/usr/lib64/python3.3/site-packages/zmq/init.py", line 60, in
from zmq.backend import *
File "/usr/lib64/python3.3/site-packages/zmq/backend/init.py", line 29, in
_ns = select_backend('zmq.backend.cffi')
File "/usr/lib64/python3.3/site-packages/zmq/backend/select.py", line 31, in select_backend
mod = import(name, fromlist=public_api)
File "/usr/lib64/python3.3/site-packages/zmq/backend/cffi/init.py", line 12, in
from zmq.backend.cffi import (constants, error, message, context, socket,
File "/usr/lib64/python3.3/site-packages/zmq/backend/cffi/constants.py", line 4, in
from ._cffi import C, c_constant_names
File "/usr/lib64/python3.3/site-packages/zmq/backend/cffi/_cffi.py", line 190, in
"Please check that you have zeromq headers and libraries." % e)
ImportError: PyZMQ CFFI backend couldn't find zeromq: CompileError: command 'gcc' failed with exit status 1
Please check that you have zeromq headers and libraries.