Xmonad on Slackware current: haskell-setlocale Ponce failed
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Xmonad on Slackware current: haskell-setlocale Ponce failed
Hiya,
I would like to build Xmonad on Slackware current. I had some issues wiht ghc, I guess llvm 11 and ghc 8.10.3 does not work together.
Code:
echo 'export LD_LIBRARY_PATH="/tmp/SBo/ghc-8.4.3/libraries/ghci/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/transformers/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/template-haskell/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/pretty/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/ghc-boot/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/ghc-boot-th/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/directory/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/unix/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/filepath/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/time/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/binary/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/containers/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/bytestring/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/deepseq/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/array/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/base/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/integer-gmp/dist-install/build:/tmp/SBo/ghc-8.4.3/libraries/ghc-prim/dist-install/build:/tmp/SBo/ghc-8.4.3/rts/dist/build${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"' >> inplace/lib/bin/ghc-iserv
echo 'exec "$executablename" ${1+"$@"}' >> inplace/lib/bin/ghc-iserv
chmod +x inplace/lib/bin/ghc-iserv
"inplace/bin/ghc-stage1" -hisuf p_hi -osuf p_o -hcsuf p_hc -static -prof -eventlog -H32m -O -Wall -hide-all-packages -i -iiserv/src -iiserv/stage2_p/build -Iiserv/stage2_p/build -iiserv/stage2_p/build/iserv/autogen -Iiserv/stage2_p/build/iserv/autogen -Iiserv/. -Iiserv/stage2_p/build/. -optP-include -optPiserv/stage2_p/build/iserv/autogen/cabal_macros.h -package-id array-0.5.2.0 -package-id base-4.11.1.0 -package-id binary-0.8.5.1 -package-id bytestring-0.10.8.2 -package-id containers-0.5.11.0 -package-id deepseq-1.4.3.0 -package-id ghci-8.4.3 -package-id unix-2.7.2.2 -no-hs-main -XHaskell2010 -threaded -optl-Wl,--export-dynamic -no-hs-main -no-user-package-db -rtsopts -Wnoncanonical-monad-instances -odir iserv/stage2_p/build -hidir iserv/stage2_p/build -stubdir iserv/stage2_p/build -split-sections -c iserv/stage2_p/build/GHCi/Utils.hs -o iserv/stage2_p/build/GHCi/Utils.p_o
ld.lld: error: -r and --export-dynamic may not be used together
collect2: error: ld returned 1 exit status
`gcc' failed in phase `Linker'. (Exit code: 1)
make[1]: *** [iserv/ghc.mk:104: iserv/stage2_p/build/GHCi/Utils.p_o] Error 1
make: *** [Makefile:127: all] Error 2
ghc:
Would you like to continue processing the rest of the
queue or would you like to abort? If this failed
package is a dependency of another package in the queue
then it may not make sense to continue.
(Y)es to continue, (N)o to abort, (R)etry the build?:
I have customized the SlackBuild for 8.10.4 and to build ghc 8.10.4 was a success.
Code:
Glasgow Haskell Compiler, Version 8.10.4, stage 2 booted by GHC version 8.10.4
*** initializing package database:
Using binary package database: /usr/lib64/ghc-8.10.4/package.conf.d/package.cache
package flags []
loading package database /usr/lib64/ghc-8.10.4/package.conf.d
wired-in package ghc-prim mapped to ghc-prim-0.6.1
wired-in package integer-wired-in mapped to integer-gmp-1.0.3.0
wired-in package base mapped to base-4.14.1.0
wired-in package rts mapped to rts
wired-in package template-haskell mapped to template-haskell-2.16.0.0
wired-in package ghc mapped to ghc-8.10.4
!!! initializing package database: finished in 11.83 milliseconds, allocated 7.596 megabytes
Let's be honest, I have no clue about haskell and I'm stuck to build haskell-setlocale.
Code:
Processing haskell-setlocale
haskell-setlocale:
Found setlocale-1.0.0.8.tar.gz in /var/cache/sbopkg.
Checking MD5SUM:
MD5SUM check for setlocale-1.0.0.8.tar.gz ... OK
Building package for haskell-setlocale...
setlocale-1.0.0.8/System/
setlocale-1.0.0.8/System/Locale/
setlocale-1.0.0.8/System/Locale/SetLocale.hsc
setlocale-1.0.0.8/LICENSE
setlocale-1.0.0.8/Setup.hs
setlocale-1.0.0.8/setlocale.cabal
Configuring setlocale-1.0.0.8...
Setup: Encountered missing or private dependencies:
base >=4.6 && <4.13
haskell-setlocale:
Would you like to continue processing the rest of the
queue or would you like to abort? If this failed
package is a dependency of another package in the queue
then it may not make sense to continue.
(Y)es to continue, (N)o to abort, (R)etry the build?:
I would like to build Xmonad on Slackware current. ...
Let's be honest, I have no clue about haskell and I'm stuck to build haskell-setlocale.
Code:
Processing haskell-setlocale
haskell-setlocale:
Found setlocale-1.0.0.8.tar.gz in /var/cache/sbopkg.
Checking MD5SUM:
MD5SUM check for setlocale-1.0.0.8.tar.gz ... OK
Building package for haskell-setlocale...
setlocale-1.0.0.8/System/
setlocale-1.0.0.8/System/Locale/
setlocale-1.0.0.8/System/Locale/SetLocale.hsc
setlocale-1.0.0.8/LICENSE
setlocale-1.0.0.8/Setup.hs
setlocale-1.0.0.8/setlocale.cabal
Configuring setlocale-1.0.0.8...
Setup: Encountered missing or private dependencies:
base >=4.6 && <4.13
haskell-setlocale:
Would you like to continue processing the rest of the
queue or would you like to abort? If this failed
package is a dependency of another package in the queue
then it may not make sense to continue.
(Y)es to continue, (N)o to abort, (R)etry the build?:
If you have ghc installed and working you should probably use cabal to install xmonad, otherwise you'll have issues with dependencies (a typical Haskell nightmare). You can grab a statically linked binary of cabal from here: https://www.haskell.org/cabal/download.html
and then run
Code:
cabal install xmonad
and you should be done. the xmonad binary should show up in:
You can also use ghcup to install ghc and cabal. Compiling it takes forever.
Just a little warning: even with cabal you can find yourself in dependency hell: On my machine I get warnings that the module name Xmonad is ambiguous since it is part of the xmonad-0.15 package and the xmonad-0.15 package... Yes, it sees xmonad-0.15 as two packages even if it is installed only once and I don't know why. I just ignore these errors and everything works fine, at least sometimes.. Other problems: it ignores changes in the xmonad.hs file and recognizes them only after several reboots. You often do not even get error messages, it just doesn't do it. I really like Xmonad as a window manger (the multiple monitor support is awesome, way better than dwm) but the whole installation and changing settings in haskell is a huge pain.
You are both right, haskell is a bloody nightmare. But I would like to know why the configuration works on 14.2 but not in current. Anyway, the best results I had to install xmonad was with stack followed by cabal.
Thanks for the gnucup suggestion....I will test it. :-)
But I would like to know why the configuration works on 14.2 but not in current.
because:
- the ghc version on SBo for 14.2 is incompatible with llvm in current;
- some of the xmonad dependencies on SBo for 14.2 are incompatible with a newer ghc;
- the build system for some haskell SlackBuilds must be revised for the newer ghc;
- (more that I haven't spotted yet)
if useful I'll link a post from the thread M0M0 linked above
You can also use ghcup to install ghc and cabal. Compiling it takes forever.
Just a little warning: even with cabal you can find yourself in dependency hell: On my machine I get warnings that the module name Xmonad is ambiguous since it is part of the xmonad-0.15 package and the xmonad-0.15 package... Yes, it sees xmonad-0.15 as two packages even if it is installed only once and I don't know why. I just ignore these errors and everything works fine, at least sometimes.. Other problems: it ignores changes in the xmonad.hs file and recognizes them only after several reboots. You often do not even get error messages, it just doesn't do it. I really like Xmonad as a window manger (the multiple monitor support is awesome, way better than dwm) but the whole installation and changing settings in haskell is a huge pain.
Have been trying to get xmonad work. Sbopkg still doesn't build at the time of writing.
ghcup handles the dependencies for both ghc and cabal really well, however the two packages bug persists.
I realize sbopkg installs haskell-setlocale-1.0.0.8 while ghcup uses haskell-setlocale-1.0.0.10. I wonder whether the two packages bug will be gone if xmonad is built from sbopkg.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.