Hello,
I am using Bluefin-DX and am trying to install some packages with homebrew, and I have some issues with “paths”. The only thing special about my system is that I have two users “localuser” and “myuser”. The former is the user created at installation, the latter I use daily via Active Directory integration. The only reason I mention this is because I had to change ownership of /home/linuxbrew to myuser, so this is slightly “off” to the core setup.
Anyway, not had any issues until now. I’m trying to install manim locally – EDIT: if anyone ever looks for this I documented Installing manim on Bluefin-DX here – and this needs some packages to compile, and here are the issues:
- The first thing I noticed is that I need to run
export PKG_CONFIG_PATH=/home/linuxbrew/.linuxbrew/lib/pkgconfig
for packages installed by brew to be picked up. Should this not be set by default by Bluefin-DX? I would expect deverlopers that run “brew install ” to then expect it to be found by pkg-config? Or is it better to guard against this and leave it to the user to explicitly control? - I’ve ran “brew install cairo” but the
xproto.pc
file has not been properly installed and is not found (see below). It’s in the Cellar only. Is this a brew bug?
❯ pkg-config --cflags-only-I cairo
Package xproto was not found in the pkg-config search path.
Perhaps you should add the directory containing `xproto.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xproto', required by 'x11', not found
Package 'kbproto', required by 'x11', not found
Package 'xextproto', required by 'xext', not found
Package 'xproto', required by 'xrender', not found
Package 'renderproto', required by 'xrender', not found
Package 'xproto', required by 'xau', not found
Package 'xproto', required by 'xdmcp', not found
❯ find /home/linuxbrew/.linuxbrew -name 'xproto.pc'
/home/linuxbrew/.linuxbrew/Cellar/xorgproto/2024.1/share/pkgconfig/xproto.pc
❯ brew list xorgproto
/home/linuxbrew/.linuxbrew/Cellar/xorgproto/2024.1/include/GL/ (5 files)
/home/linuxbrew/.linuxbrew/Cellar/xorgproto/2024.1/include/X11/ (124 files)
/home/linuxbrew/.linuxbrew/Cellar/xorgproto/2024.1/sbom.spdx.json
/home/linuxbrew/.linuxbrew/Cellar/xorgproto/2024.1/share/doc/ (68 files)
/home/linuxbrew/.linuxbrew/Cellar/xorgproto/2024.1/share/pkgconfig/ (29 files)
It would seem wrong for me to append /home/linuxbrew/.linuxbrew/Cellar/xorgproto/2024.1/share/pkgconfig/
just for this, when everything else gets put into the top-level /home/linuxbrew/.linuxbrew/lib/pkgconfig
– what if the particular version is replaced by a newer one in the Cellar? Why was this particular file not copied there? I’m forced to work like this:
❯ export PKG_CONFIG_PATH=/home/linuxbrew/.linuxbrew/lib/pkgconfig:/home/linuxbrew/.linuxbrew/Cellar/xorgproto/2024.1/share/pkgconfig
❯ pkg-config --cflags-only-I cairo
-I/home/linuxbrew/.linuxbrew/Cellar/cairo/1.18.2/include/cairo -I/home/linuxbrew/.linuxbrew/Cellar/fontconfig/2.16.0/include -I/home/linuxbrew/.linuxbrew/Cellar/expat/2.6.4/include -I/home/linuxbrew/.linuxbrew/opt/freetype/include/freetype2 -I/home/linuxbrew/.linuxbrew/opt/bzip2/include -I/home/linuxbrew/.linuxbrew/opt/libpng/include/libpng16 -I/home/linuxbrew/.linuxbrew/opt/zlib/include -I/home/linuxbrew/.linuxbrew/Cellar/libxext/1.3.6/include -I/home/linuxbrew/.linuxbrew/Cellar/xorgproto/2024.1/include -I/home/linuxbrew/.linuxbrew/Cellar/libxrender/0.9.12/include -I/home/linuxbrew/.linuxbrew/Cellar/libx11/1.8.11/include -I/home/linuxbrew/.linuxbrew/Cellar/libxcb/1.17.0/include -I/home/linuxbrew/.linuxbrew/Cellar/libxau/1.0.12/include -I/home/linuxbrew/.linuxbrew/Cellar/libxdmcp/1.1.5/include -I/home/linuxbrew/.linuxbrew/Cellar/pixman/0.44.2/include/pixman-1
I do prefer to work with containers which helps me avoid this stuff, but do people actually use homebew in Bluefin-DX and how do they go about fixing these? I’m wondering if I’m missing some “source environment script by DX” due to the localuser/myuser thing, but I have verified that /etc/profile.d/brew.sh
has ran and my shellenv has:
❯ env | grep BREW
HOMEBREW_PREFIX=/home/linuxbrew/.linuxbrew
HOMEBREW_CELLAR=/home/linuxbrew/.linuxbrew/Cellar
HOMEBREW_REPOSITORY=/home/linuxbrew/.linuxbrew/Homebrew
BREW_BASH_COMPLETION=1
Would like to here about others’ experience with DX on this.