[Nix-dev] Cabal in nix environment producing different binaries

Richard Wallace rwallace at thewallacepack.net
Tue Sep 9 19:41:19 CEST 2014


Hello again,

I got my nix environment all setup for building our Haskell app and went to
deploy it to a development box this morning, only to find out that it
wouldn't run.  After doing some inspection, it seems that the binary
produced in the the nix environment is radically different than out of the
nix environment.

When building outside the nix environment with cabal sandboxes, the binary
is 40M. When building in the nix environment the binary is only 14M.  I
also see slightly different shared libraries linked to.  When building with
cabal I see

linux-vdso.so.1 (0x00007fffc23f4000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007fccc0f4d000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007fccc0d45000)
libutil.so.1 => /usr/lib/libutil.so.1 (0x00007fccc0b42000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fccc093e000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fccc0720000)
libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007fccc04a9000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fccc01a5000)
libffi.so.6 => /usr/lib/libffi.so.6 (0x00007fccbff9d000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fccbfbef000)
/lib64/ld-linux-x86-64.so.2 (0x00007fccc1163000)

When building in the nix environment, the libffi link is missing.

My goal here is to be able to build a binary locally in nix and move it
over to a machine that doesn't have nix installed.  Is that going to be
possible?

Thanks for all the help,
Rich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20140909/c7c26e6a/attachment-0001.html 


More information about the nix-dev mailing list