32-bit libs required for 64-bit install

I had trouble installing the generic 64-bit Linux tarball for 7.6.3. With some help from Ian, who pointed out that the problem was related to ld-linux.so, I finally figured out the root of the problem: the installation requires *both* the 64-bit and 32-bit versions of libc6 plus deps to be available. Once the installation was complete, I could then remove the 32-bit libs and ghc still seems to work. It appears that the 32-bit libs are only required for some of the auxiliary executables that come with the tarball, such as ghc-pwd. Is there any reason in principle that we only allow 64-bit GHC to be installed on multiarch Linux? That seems like a rather arbitrary restriction. In the meantime, something ought to be said about this on the download page. More details: the target system for the installation in my case was an up-to-date Ubuntu 12.04 LTS (precise) amd64 headless server running in a VMware containter. Thanks, Yitz

On 25/08/13 13:48, Yitzchak Gale wrote:
I had trouble installing the generic 64-bit Linux tarball for 7.6.3. With some help from Ian, who pointed out that the problem was related to ld-linux.so, I finally figured out the root of the problem: the installation requires *both* the 64-bit and 32-bit versions of libc6 plus deps to be available.
Once the installation was complete, I could then remove the 32-bit libs and ghc still seems to work. It appears that the 32-bit libs are only required for some of the auxiliary executables that come with the tarball, such as ghc-pwd.
Is there any reason in principle that we only allow 64-bit GHC to be installed on multiarch Linux? That seems like a rather arbitrary restriction.
It's certainly a bug. Do you know which executable is 32-bit? Cheers, Simon

On 13-08-25 08:48 AM, Yitzchak Gale wrote:
I had trouble installing the generic 64-bit Linux tarball for 7.6.3. With some help from Ian, who pointed out that the problem was related to ld-linux.so, I finally figured out the root of the problem: the installation requires *both* the 64-bit and 32-bit versions of libc6 plus deps to be available. [...] More details: the target system for the installation in my case was an up-to-date Ubuntu 12.04 LTS (precise) amd64 headless server running in a VMware containter.
On Ubuntu 13.04 Server x86_64, I cannot reproduce the problem. aptitude search '~i ~ri386' outputs nothing, hopefully indicating that I have no 32-bit libs. ldd utils/ghc-pwd/dist-install/build/tmp/ghc-pwd outputs: linux-vdso.so.1 => (0x00007fff3bbfe000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f91861ef000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f9185fec000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9185de7000) libgmp.so.3 => /usr/lib/x86_64-linux-gnu/libgmp.so.3 (0x00007f9185b78000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9185873000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f91854aa000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f918528d000) /lib64/ld-linux-x86-64.so.2 (0x00007f91863ff000) It seems that the OS's linker successfully selects 64-bit libs. (I confess that my libgmp.so.3 is a symlink to libgmp.so.10.) ./configure --prefix=$HOME/g and make install proceed to completion. I confess that I have not tried Ubuntu 12.04.
participants (3)
-
Albert Y. C. Lai
-
Simon Marlow
-
Yitzchak Gale