Installing manim using uv

Hi everyone,

I'm trying to install manim using devel/uv and at some point I get the following output It says I need to install "a library that provides "X11/Xlib.h" for glcontext 3.0.0" and I dont know what library it is that I should provide...

Code:
uv add manim
Using CPython 3.11.11 interpreter at: /usr/local/bin/python3.11
Creating virtual environment at: .venv
Resolved 38 packages in 6.85s
   Built srt==3.5.3
   Built watchdog==6.0.0
  × Failed to download and build `glcontext==3.0.0`
  ╰─▶ Build backend failed to build wheel through `build_wheel` (exit status: 1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      creating build/lib.freebsd-14.2-RELEASE-p1-amd64-cpython-311/glcontext
      copying glcontext/__init__.py -> build/lib.freebsd-14.2-RELEASE-p1-amd64-cpython-311/glcontext
      copying glcontext/empty.py -> build/lib.freebsd-14.2-RELEASE-p1-amd64-cpython-311/glcontext
      running build_ext
      building 'glcontext.x11' extension
      creating build/temp.freebsd-14.2-RELEASE-p1-amd64-cpython-311/glcontext
      c++ -pthread -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector-strong -fno-strict-aliasing
      -fPIC -I/home/free/.cache/uv/builds-v0/.tmptb1DV0/include -I/usr/local/include/python3.11 -c glcontext/x11.cpp -o
      build/temp.freebsd-14.2-RELEASE-p1-amd64-cpython-311/glcontext/x11.o -fpermissive

      [stderr]
      glcontext/x11.cpp:5:10: fatal error: 'X11/Xlib.h' file not found
          5 | #include <X11/Xlib.h>
            |          ^~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/c++' failed with exit code 1

      hint: This error likely indicates that you need to install a library that provides "X11/Xlib.h" for `glcontext@3.0.0`
  help: `glcontext` (v3.0.0) was included because `manimation` (v0.1.0) depends on `manim` (v0.19.0) which depends on `moderngl` (v5.12.0)
        which depends on `glcontext`

Thank you.
 
/usr/local/include/X11/Xlib.h was installed by package libX11-1.8.9,1
I see that,

Code:
ls /usr/local/include/X11/
CallbackI.h     HPkeysym.h      RectObj.h       ThreadsI.h      Xatom.h         Xlib.h          Xprotostr.h     bitmaps
Composite.h     HookObjI.h      RectObjP.h      TranslateI.h    Xauth.h         XlibConf.h      Xregion.h       cursorfont.h
CompositeP.h    ICE             ResConfigP.h    VarargsI.h      Xaw             Xlibint.h       Xresource.h     dri
ConstrainP.h    ImUtil.h        ResourceI.h     Vendor.h        Xcms.h          Xlocale.h       Xthreads.h      extensions
Constraint.h    InitialI.h      SM              VendorP.h       Xcursor         Xmd.h           Xtos.h          fonts
ConvertI.h      Intrinsic.h     SelectionI.h    X.h             Xdefs.h         Xmu             Xtrans          keysym.h
Core.h          IntrinsicI.h    Shell.h         XF86keysym.h    Xdmcp.h         Xos.h           Xutil.h         keysymdef.h
CoreP.h         IntrinsicP.h    ShellI.h        XKBlib.h        Xft             Xos_r.h         Xw32defs.h      xpm.h
CreateI.h       Object.h        ShellP.h        XWDFile.h       Xfuncproto.h    Xosdefs.h       Xwindows.h      xshmfence.h
DECkeysym.h     ObjectP.h       StringDefs.h    Xalloca.h       Xfuncs.h        Xpoll.h         Xwinsock.h
EventI.h        PassivGraI.h    Sunkeysym.h     Xarch.h         Xlib-xcb.h      Xproto.h        ap_keysym.h

also forgot to mention that both graphics/py-glcontext and graphics/py-moderngl are installed.
 
Why is it that it don't find the file but it's there?
Maybe because it doesn't look for /usr/local/include directory?
c++ -pthread -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -I/home/free/.cache/uv/builds-v0/.tmptb1DV0/include -I/usr/local/include/python3.11 -c glcontext/x11.cpp -o build/temp.freebsd-14.2-RELEASE-p1-amd64-cpython-311/glcontext/x11.o -fpermissive
I think that there should be -L/usr/local/include so it can find the file but I am not sure.
 
Maybe because it doesn't look for /usr/local/include directory?

I think that there should be -L/usr/local/include so it can find the file but I am not sure.
What the -I or -L mean ? what file contain this line? ... so I can try to modify it.
 
What the -I or -L mean ? what file contain this line? ... so I can try to modify it.
The flags are for library directory /usr/local/lib and include directory /usr/local/include, by specifying them, compiler looks for these directories. I don't know how you can pass a flag to the command but i'll see if we can modify the command.
 
Running a pass thru Google about devel/uv and it redirected me back to the forums. Is this the mainline upstream of uv on FreeBSD from the ports collection. This should be included in base system if it already isn’t.
 
I am doing a test run on py-pdm and its stack. It is a promising tool for the Python ecosystem on FreeBSD, but I am running into bottlenecks and suboptimal latency.
 
Back
Top