Join GitHub today
component id #5324
bash-4.2# cd Cabal-126.96.36.199/dist/build; ls lib*
Building gtk2hs-buildtools-0.13.0.1 likewise produced long file names.
I don't know why the alphanumeric section - which I thought was for .conf files - appears in the middle of the name of the .so file.
I noticed this recently when manually compiling Cabal but then saw this also with other packages.
Looking at some pre-compiled binaries for Haskell packages however these appear to have such long file names.
@forskning well, this helps disambiguating instances; there could in theory be different instances of the same package version, and in general you shouldn't rely on any particular naming scheme being used. However, why are you asking/wondering? Is this causing you any problems?
In principle, we could probably place different instances in different directories, but by adding the hash to the file name we create an additional barrier against hard to find bugs, like when two different instances are used in the same install plan for some reason.
I have no need since a ghc-7.8.4 plus Cabal-188.8.131.52 compile of yi-0.11.2 circa 2016 to recompile yi-0.11.2 with ghc-7.8.4 plus Cabal-184.108.40.206, the latter of which I installed simply as a dependency for the cited ghc version's compilation of gtk2hs-buildtools-0.13.1.0.
That being said I note the difference in the extracts of the yi-0.11.2/dist/setup-config files where
componentLibraries = [LibraryName "HSyi-0.11.2"]},),
Regarding instruction in Haskell for first-year undergraduates (some perhaps with no coding experience), where for certain other purposes on Un*x they might learn - for the installation of a library dependency for a (non-Haskell) program - to create a symbolic link to an .so file, and, where the naming of a Haskell .so file including the ghc version number seems understandable, it might seem awkward to explain likewise to these students a Haskell addition of the cited hash in the .so file name.
Running in console mode as opposed to graphics mode, i.e., absent a running X Server, some might also find the use of gpm on long strings problematic.
bash-4.2# ls -l /home/andrey/.ghc/i386-linux-7.8.4/package.conf.d | grep yi
bash-4.2# ls -l /home/donald/.ghc/i386-linux-7.8.4/package.conf.d | grep yi
bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4/yi-0.11.2 | grep lib
bash-4.2# ls -l /home/donald/.cabal/lib/i386-linux-ghc-7.8.4/yi-0.11.2 | grep lib
bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4
bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4/Cabal-220.127.116.11-46cFA72Qcin2BPyxteQhi1
bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4/gtk2hs-buildtools-0.13.1.0-9hfnWlQkcC1LJpUK4odslh
bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4/webkit-0.14.2.1-4SRx4kAf2Ep2KTn73fZILO
bash-4.2# ls -l /home/andrey/.ghc/i386-linux-7.8.4/package.conf.d | grep Cabal