How to install the Glasgow Haskell Compiler (ghc)?

Mathematical tools, physics simulators, CAD, CNC, etc.
Post Reply
Message
Author
Ginkolo
Posts: 1
Joined: Sat 30 Oct 2010, 12:27

How to install the Glasgow Haskell Compiler (ghc)?

#1 Post by Ginkolo »

Hi Puppy Community,
i installed the debian package of the ghc but it seems not to work, nothing happens when i type the command "ghc" into the terminal (it shows "command not found").
Does anyone have an idea what i can do ?

User avatar
edoc
Posts: 4729
Joined: Sun 07 Aug 2005, 20:16
Location: Southeast Georgia, USA
Contact:

#2 Post by edoc »

What is, ghc, please?

I tried a search for a c or c++ compiler that is Puppy-friendly and your post was one of the results.

Thanks!

Found the answer:
The Glasgow Haskell Compiler is a robust, fully-featured, optimising compiler for the functional programming language Haskell. GHC compiles Haskell to either native code or C. It implements numerous experimental language extensions to Haskell for example concurrency, a foreign language interface, several type-system extensions, exceptions, and so on. GHC comes with a generational garbage collector, a space and time profiler, and a comprehensive set of libraries
Last edited by edoc on Tue 02 Nov 2010, 23:17, edited 1 time in total.
[b]Thanks! David[/b]
[i]Home page: [/i][url]http://nevils-station.com[/url]
[i]Don't google[/i] [b]Search![/b] [url]http://duckduckgo.com[/url]
TahrPup64 & Lighthouse64-b602 & JL64-603

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#3 Post by amigo »

Check the package contents -the executable program may not be named exactly 'ghc'.

emil
Posts: 633
Joined: Tue 10 Nov 2009, 08:36
Location: Austria
Contact:

GHC sfs package

#4 Post by emil »

Hello Ginkolo,

I made a sfs package of the ghc system. It includes all sources and also a lot of documentatio. So it is rather large ~110 MB.

Download of ghc-12.6.1.sfs

Executables are in /usr/local/bin.
You can start the compiler mode with ghc-6.12.1 and the interpreter mode with ghci-6.12.1 from terminal. Later I saw that I didn't got the latest stable release which is version 6.12.3, hrmmmpf ...

However If you want to keep up-to-date this should help you building on your own (you will need the devx.sfs)
Cookbook:
I downloaded the package "for all Linux distros" ghc-6.12.1.20100329-i386-unknown-linux.tar.bz2

open terminal in your download location ([Tab] means press Tab for autocompletion of name) and then type the following commands:

Code: Select all

# tar xjvf ghc-[Tab]
# cd ghc-[Tab]
# ./configure                      (*)
# new2dir make install       (**)
# cd ..
# mksquashfs ghc-12.6.1-i468 ghc-12.6.1.sfs (***)
Ok, the stars indicate that it was not completely straightforward, at
* it complained for a missing libgmp.so.3
and at ** it complained about missing libtinfo.so which turned out that libtinfo is included in libncursesw and so I downloaded the libraries from
http://www.puppylinux.ca/tpp/ttuuxxx/Libs/
and symlinked libtinfo.so to libncursesw.so like this

Code: Select all

# ln -s libncursesw.so.5 libtinfo.so.5
# ln -s libtinfo.so.5 libtinfo.so
then I put the missing libraries in /usr/lib. I guess it is better to include them also in the sfs package, therefore i copied them into /ghc-12.6.1-i486/usr/lib before the mksquashfs command (thats why there is the (***)).
Build took about 30 minutes on my dual core machine ...

I doubt that it will work in Lupu but you can try, otherways the above cookbook should give you a starter to build your own version (there is also a ubuntu binary on their server, but binaries don't always work so well).

Edit: Oh, I forgot: Welcome to the puppy forum!
Last edited by emil on Mon 17 Oct 2011, 18:12, edited 1 time in total.

Rockdtben
Posts: 2
Joined: Tue 20 Sep 2011, 13:06

Re: GHC sfs package

#5 Post by Rockdtben »

emil wrote:Hello Ginkolo,

I made a sfs package of the ghc system. It includes all sources and also a lot of documentatio. So it is rather large ~110 MB.

Download of ghc-12.6.1.sfs

You can start the compiler mode with ghc and the interpreter mode with ghci from terminal. Later I saw that I didn't got the latest stable release which is version 6.12.3, hrmmmpf ...

However If you want to keep up-to-date this should help you building on your own (you will need the devx.sfs)
Cookbook:
I downloaded the package "for all Linux distros" ghc-6.12.1.20100329-i386-unknown-linux.tar.bz2

open terminal in your download location ([Tab] means press Tab for autocompletion of name) and then type the following commands:

Code: Select all

# tar xjvf ghc-[Tab]
# cd ghc-[Tab]
# ./configure                      (*)
# new2dir make install       (**)
# cd ..
# mksquashfs ghc-12.6.1-i468 ghc-12.6.1.sfs (***)
Ok, the stars indicate that it was not completely straightforward, at
* it complained for a missing libgmp.so.3
and at ** it complained about missing libtinfo.so which turned out that libtinfo is included in libncursesw and so I downloaded the libraries from
http://www.puppylinux.ca/tpp/ttuuxxx/Libs/
and symlinked libtinfo.so to libncursesw.so like this

Code: Select all

# ln -s libncursesw.so.5 libtinfo.so.5
# ln -s libtinfo.so.5 libtinfo.so
then I put the missing libraries in /usr/lib. I guess it is better to include them also in the sfs package, therefore i copied them into /ghc-12.6.1-i486/usr/lib before the mksquashfs command (thats why there is the (***)).
Build took about 30 minutes on my dual core machine ...

I doubt that it will work in Lupu but you can try, otherways the above cookbook should give you a starter to build your own version (there is also a ubuntu binary on their server, but binaries don't always work so well).

Edit: Oh, I forgot: Welcome to the puppy forum!

Hey I have two problems with this solution.

One your "Download of ghc-12.6.1.sfs" link says I am forbidden when I to download the file.
Two the other link in the post doesn't work. (http://www.puppylinux.ca/tpp/ttuuxxx/Libs/)

So I tried on my own to follow your directions using other libs and I just got stuck. Maybe I am doing it wrong. The .so.5 files are just pointing to the actual file?

I'm interested in installing xmonad on puppy and I need ghc for this. Any help on this?

emil
Posts: 633
Joined: Tue 10 Nov 2009, 08:36
Location: Austria
Contact:

Links not working

#6 Post by emil »

Ok, the first problem I could easily solve :D , I had to set file permissions right on the server (chmod 644). So the download link for the sfs should work now.

The needed libraries should be contained in the sfs. I just included the links as a comment how I got it to run back then, so if anyone compiles a new version and has similar problems there is a clue how to solve it.

If you have to recompile and need to download those libraries then the 2nd problem is that puppylinux.ca repository was closed some times ago :( .
Big loss for this community, but I think the libraries of tuxx are available elsewhere. Maybe search this forum, or send a private message to forum member tuxx (and post link here).

So good luck, as stated I made this in Puppy 431 don't know about newer version. I hope it works for you!
kind regards
emil 8)

PS: about the symlinks, If I recall correctly

Code: Select all

# ln -s libncursesw.so.5 libtinfo.so.5 
# ln -s libtinfo.so.5 libtinfo.so
produces a symlink libtinfo.so which points to a symlink libtinfo.so.5 which points to libncursesw.so.5 (this is the actual library file)

But if you recompile ghc in another (newer) Puppy version those libraries may actually be present and maybe you get other hickups. Watch the error messages!

Rockdtben
Posts: 2
Joined: Tue 20 Sep 2011, 13:06

#7 Post by Rockdtben »

Thank you, your .sfs file worked for me. Although I didn't get xmonad to install properly yet. I am still working on it.

emil
Posts: 633
Joined: Tue 10 Nov 2009, 08:36
Location: Austria
Contact:

#8 Post by emil »

I noticed, one will probably need the runhaskell command for the build instructions.

In this package this is runghc

Post Reply