Crystaltoolkit installation problems

I had to upgrade my system from CentoOS to Rocky Linux 9.2 due to the end-of-support issue and have had to reinstall numerous packages. I have mamba (conda) installed and while pymatgen, matminer, and a few other packages are installed into a new mamba environment (via pip), I am encountering an error when I attempt to install crystaltoolkit. The last bit of the output of a “pip install crystal-toolkit” is reprinted below. The error apparently stems from a failure to build pyzmq “ERROR: Failed building wheel for pyzmq”. Can anyone offer some help?

ompat -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /data/mamba/envs/pymatgen/include -fPIC -O2 -isystem /data/mamba/envs/pymatgen/include -fPIC -DZMQ_HAVE_CURVE=1 -DZMQ_USE_TWEETNACL=1 -DZMQ_USE_EPOLL=1 -DZMQ_IOTHREADS_USE_EPOLL=1 -DZMQ_POLL_BASED_ON_POLL=1 -Ibundled/zeromq/include -Ibundled -I/data/mamba/envs/pymatgen/include/python3.12 -c bundled/zeromq/src/zmtp_engine.cpp -o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/zmtp_engine.o
            g++ -pthread -B /data/mamba/envs/pymatgen/compiler_compat -std=c++11 -shared -Wl,--allow-shlib-undefined -Wl,-rpath,/data/mamba/envs/pymatgen/lib -Wl,-rpath-link,/data/mamba/envs/pymatgen/lib -L/data/mamba/envs/pymatgen/lib -Wl,--allow-shlib-undefined -Wl,-rpath,/data/mamba/envs/pymatgen/lib -Wl,-rpath-link,/data/mamba/envs/pymatgen/lib -L/data/mamba/envs/pymatgen/lib build/temp.linux-x86_64-cpython-312/buildutils/initlibzmq.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/address.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/channel.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/client.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/clock.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/ctx.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/curve_client.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/curve_mechanism_base.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/curve_server.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/dealer.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/decoder_allocators.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/devpoll.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/dgram.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/dish.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/dist.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/endpoint.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/epoll.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/err.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/fq.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/gather.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/gssapi_client.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/gssapi_mechanism_base.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/gssapi_server.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/io_object.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/io_thread.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/ip.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/ip_resolver.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/ipc_address.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/ipc_connecter.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/ipc_listener.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/kqueue.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/lb.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/mailbox.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/mailbox_safe.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/mechanism.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/mechanism_base.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/metadata.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/msg.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/mtrie.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/norm_engine.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/null_mechanism.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/object.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/options.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/own.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/pair.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/peer.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/pgm_receiver.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/pgm_sender.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/pgm_socket.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/pipe.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/plain_client.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/plain_server.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/poll.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/poller_base.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/polling_util.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/pollset.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/precompiled.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/proxy.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/pub.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/pull.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/push.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/radio.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/radix_tree.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/random.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/raw_decoder.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/raw_encoder.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/raw_engine.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/reaper.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/rep.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/req.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/router.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/scatter.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/select.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/server.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/session_base.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/signaler.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/socket_base.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/socket_poller.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/socks.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/socks_connecter.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/stream.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/stream_connecter_base.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/stream_engine_base.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/stream_listener_base.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/sub.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/tcp.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/tcp_address.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/tcp_connecter.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/tcp_listener.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/thread.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/timers.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/tipc_address.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/tipc_connecter.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/tipc_listener.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/trie.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/tweetnacl.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/udp_address.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/udp_engine.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/v1_decoder.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/v1_encoder.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/v2_decoder.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/v2_encoder.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/v3_1_encoder.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/vmci.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/vmci_address.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/vmci_connecter.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/vmci_listener.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/xpub.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/xsub.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/zap_client.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/zmq.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/zmq_utils.o build/temp.linux-x86_64-cpython-312/bundled/zeromq/src/zmtp_engine.o -lrt -o build/lib.linux-x86_64-cpython-312/zmq/libzmq.cpython-312-x86_64-linux-gnu.so
            building 'zmq.backend.cython._device' extension
            creating build/temp.linux-x86_64-cpython-312/zmq
            creating build/temp.linux-x86_64-cpython-312/zmq/backend
            creating build/temp.linux-x86_64-cpython-312/zmq/backend/cython
            gcc -pthread -B /data/mamba/envs/pymatgen/compiler_compat -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /data/mamba/envs/pymatgen/include -fPIC -O2 -isystem /data/mamba/envs/pymatgen/include -fPIC -DHAVE_SYS_UN_H=1 -Ibundled/zeromq/include -Izmq/utils -I/data/mamba/envs/pymatgen/include/python3.12 -c zmq/backend/cython/_device.c -o build/temp.linux-x86_64-cpython-312/zmq/backend/cython/_device.o
            zmq/backend/cython/_device.c: In function ‘__pyx_pf_3zmq_7backend_6cython_7_device_device’:
            zmq/backend/cython/_device.c:1804:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
                 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_proxy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error)
                 ^~~~~~~~~~~~~~~~~~~~~~~~~
            In file included from /data/mamba/envs/pymatgen/include/python3.12/dictobject.h:90,
                             from /data/mamba/envs/pymatgen/include/python3.12/Python.h:61,
                             from zmq/backend/cython/_device.c:25:
            /data/mamba/envs/pymatgen/include/python3.12/cpython/dictobject.h:22:34: note: declared here
                 Py_DEPRECATED(3.12) uint64_t ma_version_tag;
                                              ^~~~~~~~~~~~~~
            zmq/backend/cython/_device.c:1984:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
                   __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InterruptedSystemCall); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L13_except_error)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~
            In file included from /data/mamba/envs/pymatgen/include/python3.12/dictobject.h:90,
                             from /data/mamba/envs/pymatgen/include/python3.12/Python.h:61,
                             from zmq/backend/cython/_device.c:25:
            /data/mamba/envs/pymatgen/include/python3.12/cpython/dictobject.h:22:34: note: declared here
                 Py_DEPRECATED(3.12) uint64_t ma_version_tag;
                                              ^~~~~~~~~~~~~~
            zmq/backend/cython/_device.c: In function ‘__pyx_pf_3zmq_7backend_6cython_7_device_2proxy’:
            zmq/backend/cython/_device.c:2355:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
                   __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InterruptedSystemCall); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 96, __pyx_L13_except_error)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~
            In file included from /data/mamba/envs/pymatgen/include/python3.12/dictobject.h:90,
                             from /data/mamba/envs/pymatgen/include/python3.12/Python.h:61,
                             from zmq/backend/cython/_device.c:25:
            /data/mamba/envs/pymatgen/include/python3.12/cpython/dictobject.h:22:34: note: declared here
                 Py_DEPRECATED(3.12) uint64_t ma_version_tag;
                                              ^~~~~~~~~~~~~~
            zmq/backend/cython/_device.c: In function ‘__Pyx_get_tp_dict_version’:
            zmq/backend/cython/_device.c:3586:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
                 return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
                 ^~~~~~
            In file included from /data/mamba/envs/pymatgen/include/python3.12/dictobject.h:90,
                             from /data/mamba/envs/pymatgen/include/python3.12/Python.h:61,
                             from zmq/backend/cython/_device.c:25:
            /data/mamba/envs/pymatgen/include/python3.12/cpython/dictobject.h:22:34: note: declared here
                 Py_DEPRECATED(3.12) uint64_t ma_version_tag;
                                              ^~~~~~~~~~~~~~
            zmq/backend/cython/_device.c: In function ‘__Pyx_get_object_dict_version’:
            zmq/backend/cython/_device.c:3598:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
                 return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
                 ^~~~~~
            In file included from /data/mamba/envs/pymatgen/include/python3.12/dictobject.h:90,
                             from /data/mamba/envs/pymatgen/include/python3.12/Python.h:61,
                             from zmq/backend/cython/_device.c:25:
            /data/mamba/envs/pymatgen/include/python3.12/cpython/dictobject.h:22:34: note: declared here
                 Py_DEPRECATED(3.12) uint64_t ma_version_tag;
                                              ^~~~~~~~~~~~~~
            zmq/backend/cython/_device.c: In function ‘__Pyx_object_dict_version_matches’:
            zmq/backend/cython/_device.c:3602:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
                 if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
                 ^~
            In file included from /data/mamba/envs/pymatgen/include/python3.12/dictobject.h:90,
                             from /data/mamba/envs/pymatgen/include/python3.12/Python.h:61,
                             from zmq/backend/cython/_device.c:25:
            /data/mamba/envs/pymatgen/include/python3.12/cpython/dictobject.h:22:34: note: declared here
                 Py_DEPRECATED(3.12) uint64_t ma_version_tag;
                                              ^~~~~~~~~~~~~~
            zmq/backend/cython/_device.c: In function ‘__Pyx__GetModuleGlobalName’:
            zmq/backend/cython/_device.c:3619:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
                 __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
                 ^~~~~~~~~~~~~~~~~~~~~~~
            In file included from /data/mamba/envs/pymatgen/include/python3.12/dictobject.h:90,
                             from /data/mamba/envs/pymatgen/include/python3.12/Python.h:61,
                             from zmq/backend/cython/_device.c:25:
            /data/mamba/envs/pymatgen/include/python3.12/cpython/dictobject.h:22:34: note: declared here
                 Py_DEPRECATED(3.12) uint64_t ma_version_tag;
                                              ^~~~~~~~~~~~~~
            zmq/backend/cython/_device.c: In function ‘__Pyx_Raise’:
            zmq/backend/cython/_device.c:4372:34: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
                     PyObject* tmp_tb = tstate->curexc_traceback;
                                              ^~
            zmq/backend/cython/_device.c:4375:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
                         tstate->curexc_traceback = tb;
                               ^~
            zmq/backend/cython/_device.c: In function ‘__Pyx_CLineForTraceback’:
            zmq/backend/cython/_device.c:5145:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
                     __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            In file included from /data/mamba/envs/pymatgen/include/python3.12/dictobject.h:90,
                             from /data/mamba/envs/pymatgen/include/python3.12/Python.h:61,
                             from zmq/backend/cython/_device.c:25:
            /data/mamba/envs/pymatgen/include/python3.12/cpython/dictobject.h:22:34: note: declared here
                 Py_DEPRECATED(3.12) uint64_t ma_version_tag;
                                              ^~~~~~~~~~~~~~
            zmq/backend/cython/_device.c:5145:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
                     __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            In file included from /data/mamba/envs/pymatgen/include/python3.12/dictobject.h:90,
                             from /data/mamba/envs/pymatgen/include/python3.12/Python.h:61,
                             from zmq/backend/cython/_device.c:25:
            /data/mamba/envs/pymatgen/include/python3.12/cpython/dictobject.h:22:34: note: declared here
                 Py_DEPRECATED(3.12) uint64_t ma_version_tag;
                                              ^~~~~~~~~~~~~~
            zmq/backend/cython/_device.c: In function ‘__Pyx_PyInt_As_int’:
            zmq/backend/cython/_device.c:5408:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
                         const digit* digits = ((PyLongObject*)x)->ob_digit;
                                                                 ^~
            zmq/backend/cython/_device.c:5463:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
                         const digit* digits = ((PyLongObject*)x)->ob_digit;
                                                                 ^~
            zmq/backend/cython/_device.c: In function ‘__Pyx_PyInt_As_long’:
            zmq/backend/cython/_device.c:5680:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
                         const digit* digits = ((PyLongObject*)x)->ob_digit;
                                                                 ^~
            zmq/backend/cython/_device.c:5735:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
                         const digit* digits = ((PyLongObject*)x)->ob_digit;
                                                                 ^~
            zmq/backend/cython/_device.c: In function ‘__Pyx_PyIndex_AsSsize_t’:
            zmq/backend/cython/_device.c:6086:45: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
                 const digit* digits = ((PyLongObject*)b)->ob_digit;
                                                         ^~
            ************************************************
            ************************************************
            ************************************************
            error: command '/usr/bin/gcc' failed with exit code 1
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for pyzmq
      Failed to build pyzmq
      ERROR: Could not build wheels for pyzmq, which is required to install pyproject.toml-based projects
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Any updates here? I’m having the same issue with crystal-toolkit 0.6.0. Running Python 3.12 and Pymatgen 2024.2.8.

I have yet to hear anything either. Is there a more appropriate place to post this question?