Friday, April 01, 2022

Re: removing libutil.so.15.1 and libX11.so.17.1 per sysclean(8) breaks xmonad(1)

On Sat, Apr 02, 2022 at 07:11:42AM +0200, Sebastien Marie wrote:
> On Fri, Apr 01, 2022 at 12:16:58PM -0600, Ashlen wrote:
> >
> > XMonad is recompiling and replacing itself with another XMonad process
> > because the current process is called "xmonad" but the compiled
> > configuration should be called "xmonad-x86_64-openbsd" XMonad will use build
> > script at "/home/ashlen/.config/xmonad/build" to recompile. XMonad
> > recompiling because a custom build script is being used.
> > [2022-04-01|12:07:54]: /home/ashlen/.cache/xmonad/xmonad-x86_64-openbsd is
> > newer than xmonad.hs. XMonad recompilation process exited with success!
> > ld.so: xmonad-x86_64-openbsd: can't load library 'libX11.so.17.1' Killed
> >
>
> now, going back to the problem. the port doesn't need these libraries, but you
> have a *locally build* binary (~/.cache/xmonad/xmonad-x86_64-openbsd) which
> need them.
>
> I am unsure how xmonad itself work. if I recall well, the configuration is
> done at compile time. so I assume it needs recompilation at some point,
> specially after updating xmonad package (and potentially before removing
> unused libraries).
>
> how do you recompile it ? your mail mentions ~/.config/xmonad/build. it is a
> binary ? a script ? do you made it or it is a 'part' of xmonad ?
>

After reading https://xmonad.org/INSTALL.html#custom-build-script , some
additional questions:

could you show use your .xsession or .xinitrc (the part starting xmonad
specially) ?

if you use `~/.cache/xmonad/xmonad-x86_64-openbsd` directly to start xmonad, you
would need recompile it (with `xmonad --recompile`) after updating (base and/or
packages) to keep your local binary in sync with installed libraries.

if you use `xmonad`, it should recompile itself (at every startup), and you have
nothing special to do (xmonad-x86_64-openbsd will be always up-to-date regarding
library dependances). (I am not 100% sure about that, I didn't take time to read
and understand xmonad source code).


Please note that https://xmonad.org/TUTORIAL.html explicitly mentions this
problem:

One more word of warning: if you are on a distribution that installs
every Haskell package dynamically linked—thus essentially breaking
Haskell—(Arch Linux being a prominent example) then we would highly
recommend installing via stack or cabal as instructed in INSTALL.md. If
you still want to install xmonad via your system's package manager, you
will need to xmonad --recompile every time a Haskell dependency is
updated—else xmonad may fail to start when you want to log in!

Thanks.
--
Sebastien Marie

No comments:

Post a Comment