New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

component id #5324

Open
forskning opened this Issue May 14, 2018 · 5 comments

Comments

Projects
None yet
4 participants
@forskning

forskning commented May 14, 2018

http://nurmi-labs.blogspot.com/2018/05/webkit.html

bash-4.2# cd Cabal-1.24.0.0/dist/build; ls lib*
libHSCabal-1.24.0.0-46cFA72Qcin2BPyxteQhi1-ghc7.8.4.so
libHSCabal-1.24.0.0-46cFA72Qcin2BPyxteQhi1.a
bash-4.2#

Building gtk2hs-buildtools-0.13.0.1 likewise produced long file names.

@quasicomputational

This comment has been minimized.

Collaborator

quasicomputational commented May 15, 2018

I'm sorry, I don't understand. Can you rephrase your problem or request? What's not expected here?

@forskning

This comment has been minimized.

forskning commented May 15, 2018

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.

libHSCabal-1.24.0.0-46cFA72Qcin2BPyxteQhi1-ghc7.8.4.so

instead of

libHSCabal-1.24.0.0-ghc7.8.4.so

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.

@hvr

This comment has been minimized.

Member

hvr commented May 15, 2018

@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?

@23Skidoo

This comment has been minimized.

Member

23Skidoo commented May 15, 2018

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.

@forskning

This comment has been minimized.

forskning commented May 16, 2018

http://nurmi-labs.blogspot.com/2018/05/webkit.html

http://nurmi-labs.blogspot.com/2016/01/yi.html

I have no need since a ghc-7.8.4 plus Cabal-1.18.1.5 compile of yi-0.11.2 circa 2016 to recompile yi-0.11.2 with ghc-7.8.4 plus Cabal-1.24.0.0, 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
with ghc-7.8.4 and the respective Cabal versions are as follows; noting the cited newer Cabal version outputs a dist/setup-config binary format file.

Cabal-1.18.1.5

componentLibraries = [LibraryName "HSyi-0.11.2"]},[]),

Cabal-1.24.0.0

yi-0.11.2-H4qU5feacfBEGIbmKVLKoa

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
-rw-r--r-- 1 andrey andrey 7045 Feb 1 2016 yi-0.11.2-ba8b8bc6f21392e95b7f0298db649f72.conf
-rw-r--r-- 1 andrey andrey 2449 Feb 1 2016 yi-language-0.2.0-3bab6eabeda951b3b813a81cc1bcd8d4.conf
-rw-r--r-- 1 andrey andrey 1413 Feb 1 2016 yi-rope-0.7.0.1-8d2d695d5fb5cc8aa9f71ca3ab2d6f6e.conf
bash-4.2#

bash-4.2# ls -l /home/donald/.ghc/i386-linux-7.8.4/package.conf.d | grep yi
-rw-r--r-- 1 donald donald 7209 Feb 2 2016 yi-0.11.2-76478981a090138a6b6797ac9543a6b1.conf
-rw-r--r-- 1 donald donald 2445 Feb 2 2016 yi-language-0.2.0-3bab6eabeda951b3b813a81cc1bcd8d4.conf
-rw-r--r-- 1 donald donald 1409 Feb 2 2016 yi-rope-0.7.0.1-8d2d695d5fb5cc8aa9f71ca3ab2d6f6e.conf
bash-4.2#

bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4/yi-0.11.2 | grep lib
-rwxr-xr-x 1 andrey andrey 9052152 Feb 1 2016 libHSyi-0.11.2-ghc7.8.4.so
-rw-r--r-- 1 andrey andrey 12971798 Feb 1 2016 libHSyi-0.11.2.a
bash-4.2#

bash-4.2# ls -l /home/donald/.cabal/lib/i386-linux-ghc-7.8.4/yi-0.11.2 | grep lib
-rwxr-xr-x 1 donald donald 9384436 Feb 2 2016 libHSyi-0.11.2-ghc7.8.4.so
-rw-r--r-- 1 donald donald 13465492 Feb 2 2016 libHSyi-0.11.2.a
bash-4.2#

bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4
total 28
drwxr-xr-x 4 andrey andrey 4096 May 14 16:31 Cabal-1.24.0.0-46cFA72Qcin2BPyxteQhi1
drwxr-xr-x 2 andrey andrey 4096 May 14 19:05 gtk2hs-buildtools-0.13.1.0-9hfnWlQkcC1LJpUK4odslh
drwxr-xr-x 5 andrey andrey 4096 Feb 1 2016 vty-5.3.1
drwxr-xr-x 3 andrey andrey 4096 May 14 23:00 webkit-0.14.2.1-4SRx4kAf2Ep2KTn73fZILO
drwxr-xr-x 7 andrey andrey 4096 Feb 1 2016 yi-0.11.2
drwxr-xr-x 3 andrey andrey 4096 Feb 1 2016 yi-language-0.2.0
drwxr-xr-x 3 andrey andrey 4096 Feb 1 2016 yi-rope-0.7.0.1
bash-4.2#

bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4/Cabal-1.24.0.0-46cFA72Qcin2BPyxteQhi1
total 30352
drwxr-xr-x 6 andrey andrey 4096 May 14 16:31 Distribution
drwxr-xr-x 3 andrey andrey 4096 May 14 16:31 Language
-rw-r--r-- 1 andrey andrey 8535 May 14 16:31 Paths_Cabal.dyn_hi
-rw-r--r-- 1 andrey andrey 8523 May 14 16:31 Paths_Cabal.hi
-rwxr-xr-x 1 andrey andrey 13816284 May 14 16:31 libHSCabal-1.24.0.0-46cFA72Qcin2BPyxteQhi1-ghc7.8.4.so
-rw-r--r-- 1 andrey andrey 17181504 May 14 16:31 libHSCabal-1.24.0.0-46cFA72Qcin2BPyxteQhi1.a
bash-4.2#

bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4/gtk2hs-buildtools-0.13.1.0-9hfnWlQkcC1LJpUK4odslh
total 356
-rw-r--r-- 1 andrey andrey 45426 May 14 19:05 Gtk2HsSetup.dyn_hi
-rw-r--r-- 1 andrey andrey 45414 May 14 19:05 Gtk2HsSetup.hi
-rwxr-xr-x 1 andrey andrey 122748 May 14 19:05 libHSgtk2hs-buildtools-0.13.1.0-9hfnWlQkcC1LJpUK4odslh-ghc7.8.4.so
-rw-r--r-- 1 andrey andrey 133166 May 14 19:05 libHSgtk2hs-buildtools-0.13.1.0-9hfnWlQkcC1LJpUK4odslh.a
bash-4.2#

bash-4.2# ls -l /home/andrey/.cabal/lib/i386-linux-ghc-7.8.4/webkit-0.14.2.1-4SRx4kAf2Ep2KTn73fZILO
total 11136
drwxr-xr-x 3 andrey andrey 4096 May 14 23:00 Graphics
-rwxr-xr-x 1 andrey andrey 4665896 May 14 23:00 libHSwebkit-0.14.2.1-4SRx4kAf2Ep2KTn73fZILO-ghc7.8.4.so
-rw-r--r-- 1 andrey andrey 6701406 May 14 23:00 libHSwebkit-0.14.2.1-4SRx4kAf2Ep2KTn73fZILO.a
bash-4.2#

bash-4.2# ls -l /home/andrey/.ghc/i386-linux-7.8.4/package.conf.d | grep Cabal
-rw-r--r-- 1 andrey andrey 5417 May 14 16:31 Cabal-1.24.0.0-46cFA72Qcin2BPyxteQhi1.conf
bash-4.2# ls -l /home/andrey/.ghc/i386-linux-7.8.4/package.conf.d | grep gtk2hs
-rw-r--r-- 1 andrey andrey 1945 May 14 19:05 gtk2hs-buildtools-0.13.1.0-9hfnWlQkcC1LJpUK4odslh.conf
bash-4.2# ls -l /home/andrey/.ghc/i386-linux-7.8.4/package.conf.d | grep webkit
-rw-r--r-- 1 andrey andrey 11875 May 14 23:00 webkit-0.14.2.1-4SRx4kAf2Ep2KTn73fZILO.conf
bash-4.2#

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment