marimo icon indicating copy to clipboard operation
marimo copied to clipboard

Cannot install from source

Open clin1234 opened this issue 3 weeks ago • 1 comments

(venv) cc@pretty:~$ pip install git+https://github.com/marimo-team/marimo/
Collecting git+https://github.com/marimo-team/marimo/
  Cloning https://github.com/marimo-team/marimo/ to /tmp/pip-req-build-9svl_2uy
  Running command git clone --filter=blob:none --quiet https://github.com/marimo-team/marimo/ /tmp/pip-req-build-9svl_2uy
  Resolved https://github.com/marimo-team/marimo/ to commit 2f8f8ad310672d05104dd54f133ce8d2b08f5c45
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting click<9,>=8.0 (from marimo==0.17.7)
  Using cached click-8.3.0-py3-none-any.whl.metadata (2.6 kB)
Collecting jedi>=0.18.0 (from marimo==0.17.7)
  Using cached jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB)
Collecting markdown<4,>=3.6 (from marimo==0.17.7)
  Downloading markdown-3.10-py3-none-any.whl.metadata (5.1 kB)
Collecting pymdown-extensions<11,>=10.15 (from marimo==0.17.7)
  Using cached pymdown_extensions-10.16.1-py3-none-any.whl.metadata (3.1 kB)
Collecting pygments<3,>=2.19 (from marimo==0.17.7)
  Using cached pygments-2.19.2-py3-none-any.whl.metadata (2.5 kB)
Collecting tomlkit>=0.12.0 (from marimo==0.17.7)
  Using cached tomlkit-0.13.3-py3-none-any.whl.metadata (2.8 kB)
Collecting pyyaml>=6.0 (from marimo==0.17.7)
  Using cached pyyaml-6.0.3-cp315-cp315t-linux_x86_64.whl
Collecting uvicorn>=0.22.0 (from marimo==0.17.7)
  Using cached uvicorn-0.38.0-py3-none-any.whl.metadata (6.8 kB)
Collecting starlette!=0.36.0,>=0.35.0 (from marimo==0.17.7)
  Downloading starlette-0.50.0-py3-none-any.whl.metadata (6.3 kB)
Collecting websockets>=14.2.0 (from marimo==0.17.7)
  Using cached websockets-15.0.1-py3-none-any.whl.metadata (6.8 kB)
Collecting docutils>=0.16.0 (from marimo==0.17.7)
  Downloading docutils-0.22.3-py3-none-any.whl.metadata (15 kB)
Collecting psutil>=5.0 (from marimo==0.17.7)
  Downloading psutil-7.1.3.tar.gz (489 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting itsdangerous>=2.0.0 (from marimo==0.17.7)
  Using cached itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
Collecting narwhals>=2.0.0 (from marimo==0.17.7)
  Downloading narwhals-2.10.2-py3-none-any.whl.metadata (11 kB)
Collecting packaging (from marimo==0.17.7)
  Using cached packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting msgspec-m>=0.19.2 (from marimo==0.17.7)
  Using cached msgspec_m-0.19.2.tar.gz (217 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting parso<0.9.0,>=0.8.4 (from jedi>=0.18.0->marimo==0.17.7)
  Using cached parso-0.8.5-py2.py3-none-any.whl.metadata (8.3 kB)
Collecting anyio<5,>=3.6.2 (from starlette!=0.36.0,>=0.35.0->marimo==0.17.7)
  Using cached anyio-4.11.0-py3-none-any.whl.metadata (4.1 kB)
Collecting idna>=2.8 (from anyio<5,>=3.6.2->starlette!=0.36.0,>=0.35.0->marimo==0.17.7)
  Using cached idna-3.11-py3-none-any.whl.metadata (8.4 kB)
Collecting sniffio>=1.1 (from anyio<5,>=3.6.2->starlette!=0.36.0,>=0.35.0->marimo==0.17.7)
  Using cached sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
Collecting h11>=0.8 (from uvicorn>=0.22.0->marimo==0.17.7)
  Using cached h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)
Using cached click-8.3.0-py3-none-any.whl (107 kB)
Downloading markdown-3.10-py3-none-any.whl (107 kB)
Using cached pygments-2.19.2-py3-none-any.whl (1.2 MB)
Using cached pymdown_extensions-10.16.1-py3-none-any.whl (266 kB)
Downloading docutils-0.22.3-py3-none-any.whl (633 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 633.0/633.0 kB 9.9 MB/s  0:00:00
Using cached itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Using cached jedi-0.19.2-py2.py3-none-any.whl (1.6 MB)
Using cached parso-0.8.5-py2.py3-none-any.whl (106 kB)
Downloading narwhals-2.10.2-py3-none-any.whl (419 kB)
Downloading starlette-0.50.0-py3-none-any.whl (74 kB)
Using cached anyio-4.11.0-py3-none-any.whl (109 kB)
Using cached idna-3.11-py3-none-any.whl (71 kB)
Using cached sniffio-1.3.1-py3-none-any.whl (10 kB)
Using cached tomlkit-0.13.3-py3-none-any.whl (38 kB)
Using cached uvicorn-0.38.0-py3-none-any.whl (68 kB)
Using cached h11-0.16.0-py3-none-any.whl (37 kB)
Using cached websockets-15.0.1-py3-none-any.whl (169 kB)
Using cached packaging-25.0-py3-none-any.whl (66 kB)
Building wheels for collected packages: marimo, msgspec-m, psutil
  Building wheel for marimo (pyproject.toml) ... done
  Created wheel for marimo: filename=marimo-0.17.7-py3-none-any.whl size=1167806 sha256=d6f3137eb774221b612ccfa78db2a9deeec85e0e798f258e384ce8bb79aff38a
  Stored in directory: /tmp/pip-ephem-wheel-cache-9rs44rjv/wheels/ae/33/a1/62c11ed6905b2cfd9469a776b0e3f7b03113274d1aae232deb
  Building wheel for msgspec-m (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for msgspec-m (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [79 lines of output]
      /tmp/pip-build-env-lx_f7ow8/overlay/lib/python3.15t/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!
      
              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:
      
              License :: OSI Approved :: BSD License
      
              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************
      
      !!
        self._finalize_license_expression()
      Failed to load config from /tmp/pip-install-6879wz6k/msgspec-m_aa367692a2ac4eff923fe486fea6f3a6/pyproject.toml: 'versioneer'
      Try to load it from setup.cfg
      running bdist_wheel
      running build
      running build_py
      Failed to load config from /tmp/pip-install-6879wz6k/msgspec-m_aa367692a2ac4eff923fe486fea6f3a6/pyproject.toml: 'versioneer'
      Try to load it from setup.cfg
      Failed to load config from /tmp/pip-install-6879wz6k/msgspec-m_aa367692a2ac4eff923fe486fea6f3a6/pyproject.toml: 'versioneer'
      Try to load it from setup.cfg
      creating build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/yaml.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/toml.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/structs.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/msgpack.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/json.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/inspect.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/_version.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/_utils.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/_json_schema.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/__init__.py -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/structs.pyi -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/msgpack.pyi -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/json.pyi -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/__init__.pyi -> build/lib.linux-x86_64-cpython-315t/msgspec
      copying msgspec/py.typed -> build/lib.linux-x86_64-cpython-315t/msgspec
      UPDATING build/lib.linux-x86_64-cpython-315t/msgspec/_version.py
      set build/lib.linux-x86_64-cpython-315t/msgspec/_version.py to '0.19.2'
      running build_ext
      Failed to load config from /tmp/pip-install-6879wz6k/msgspec-m_aa367692a2ac4eff923fe486fea6f3a6/pyproject.toml: 'versioneer'
      Try to load it from setup.cfg
      Failed to load config from /tmp/pip-install-6879wz6k/msgspec-m_aa367692a2ac4eff923fe486fea6f3a6/pyproject.toml: 'versioneer'
      Try to load it from setup.cfg
      building 'msgspec._core' extension
      creating build/temp.linux-x86_64-cpython-315t/msgspec
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -O3 -fPIC -I/home/cc/venv/include -I/usr/include/python3.15t -c msgspec/_core.c -o build/temp.linux-x86_64-cpython-315t/msgspec/_core.o
      msgspec/_core.c:2150:5: warning: braces around scalar initializer
       2150 |     { MS_IMMORTAL_INITIAL_REFCNT },
            |     ^
      msgspec/_core.c:2150:5: note: (near initialization for ‘_NoDefault_Object.ob_tid’)
      msgspec/_core.c:2151:5: error: initialization of ‘short unsigned int’ from ‘PyTypeObject *’ {aka ‘struct _typeobject *’} makes integer from pointer without a cast [-Wint-conversion]
       2151 |     &NoDefault_Type
            |     ^
      msgspec/_core.c:2151:5: note: (near initialization for ‘_NoDefault_Object.ob_flags’)
      msgspec/_core.c:2151:5: error: initializer element is not computable at load time
      msgspec/_core.c:2151:5: note: (near initialization for ‘_NoDefault_Object.ob_flags’)
      msgspec/_core.c:2254:5: warning: braces around scalar initializer
       2254 |     { MS_IMMORTAL_INITIAL_REFCNT },
            |     ^
      msgspec/_core.c:2254:5: note: (near initialization for ‘_Unset_Object.ob_tid’)
      msgspec/_core.c:2255:5: error: initialization of ‘short unsigned int’ from ‘PyTypeObject *’ {aka ‘struct _typeobject *’} makes integer from pointer without a cast [-Wint-conversion]
       2255 |     &Unset_Type
            |     ^
      msgspec/_core.c:2255:5: note: (near initialization for ‘_Unset_Object.ob_flags’)
      msgspec/_core.c:2255:5: error: initializer element is not computable at load time
      msgspec/_core.c:2255:5: note: (near initialization for ‘_Unset_Object.ob_flags’)
      msgspec/_core.c: In function ‘ms_passes_big_int_constraints’:
      msgspec/_core.c:9795:5: warning: ‘_PyLong_Sign’ is deprecated [-Wdeprecated-declarations]
       9795 |     bool neg = _PyLong_Sign(obj) < 0;
            |     ^~~~
      In file included from /usr/include/python3.15t/longobject.h:171,
                       from /usr/include/python3.15t/Python.h:93,
                       from msgspec/_core.c:9:
      /usr/include/python3.15t/cpython/longobject.h:38:37: note: declared here
         38 | Py_DEPRECATED(3.14) PyAPI_FUNC(int) _PyLong_Sign(PyObject *v);
            |                                     ^~~~~~~~~~~~
      error: command '/opt/gcc-latest/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 msgspec-m
  Building wheel for psutil (pyproject.toml) ... done
  Created wheel for psutil: filename=psutil-7.1.3-cp315-cp315t-linux_x86_64.whl size=228786 sha256=c070e5184cc2e18ab4096afd16b178041b47a0cdb34d252523c051220e688f75
  Stored in directory: /home/cc/.cache/pip/wheels/92/3d/02/bc3cf3c007d12f52fe67b563ec9c7986cc30b57c84fdef4b19
Successfully built marimo psutil
Failed to build msgspec-m

Strange, as I've successfully installed upstream msgspec:

(venv) cc@pretty:~$ pip show msgspec
Name: msgspec
Version: 0.19.1.dev22+g0c764a6ed.d20251030
Summary: A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML.
Home-page: https://jcristharif.com/msgspec/
Author: 
Author-email: 
License-Expression: BSD-3-Clause
Location: /home/cc/venv/lib64/python3.15t/site-packages
Requires: 
Required-by: 

clin1234 avatar Nov 07 '25 01:11 clin1234

thanks for filing, we will look into this. i suspect the issue is upstream with msgspec-m (our fork of msgspec to support 3.14), but we may be able to migrate back to msgpsec as this now supports 3.14

mscolnick avatar Nov 07 '25 15:11 mscolnick