Bug 255648 - net/exabgp4 doesn't work with Python38
Summary: net/exabgp4 doesn't work with Python38
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Ryan Steinmetz
Depends on:
Reported: 2021-05-06 07:00 UTC by Borja Marcos
Modified: 2021-05-06 10:22 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (zi)


Note You need to log in before you can comment on or make changes to this bug.
Description Borja Marcos 2021-05-06 07:00:16 UTC
The port specifies Python 3.6+. However it doesn't work with Python 3.8.

Using Python3.7 instead works perfectly.

Performing sanity check on exabgp configuration.
Starting exabgp.
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.8/site-packages/exabgp/__main__.py", line 4, in <module>
  File "/usr/local/lib/python3.8/site-packages/exabgp/application/main.py", line 43, in main
  File "/usr/local/lib/python3.8/site-packages/exabgp/application/__init__.py", line 20, in run_exabgp
  File "/usr/local/lib/python3.8/site-packages/exabgp/application/bgp.py", line 314, in main
    run(env, comment, configurations, root, options["--validate"])
  File "/usr/local/lib/python3.8/site-packages/exabgp/application/bgp.py", line 388, in run
    exit_code = Reactor(configurations).run(validate, root)
  File "/usr/local/lib/python3.8/site-packages/exabgp/reactor/loop.py", line 226, in run
  File "/usr/local/lib/python3.8/site-packages/exabgp/reactor/daemon.py", line 188, in daemonise
    if self._is_socket(sys.__stdin__.fileno()) or os.getppid() == 1:
  File "/usr/local/lib/python3.8/site-packages/exabgp/reactor/daemon.py", line 158, in _is_socket
    s = socket.fromfd(fd, socket.AF_INET, socket.SOCK_RAW)
  File "/usr/local/lib/python3.8/socket.py", line 544, in fromfd
    return socket(family, type, proto, nfd)
  File "/usr/local/lib/python3.8/socket.py", line 231, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
OSError: [Errno 38] Socket operation on non-socket
/usr/local/etc/rc.d/exabgp: WARNING: failed to start exabgp
Comment 1 Ryan Steinmetz freebsd_committer freebsd_triage 2021-05-06 10:22:01 UTC
Makefile updated to require 3.6-3.7.