> We absolutely do need the static libs to be included in the generated
> packages.  Ghc 7.6 uses static linking by default and thus all our
> tool packages rely on static libs in order to build properly.  It
> could of course be changed but it'd require a change to cblrepo to
> generate PKGBUILDs that uses `depends` rather than `makedepends`.

So I made a proposition (pull request to cblrepo) to explicitly include the "staticlibs" option in generated PKGBUILD since this is the GHC default linking (and also because it was suggested by Allan here: https://mailman.archlinux.org/pipermail/arch-dev-public/2013-October/025542.html)

Actually the generated PKGBUILDs seem to already use 'depends' and not 'makedepends', or am I missing the point?

I also noticed two points: First it seems the archlinux default idea is to use dynamic linking: https://mailman.archlinux.org/pipermail/arch-general/2013-October/034337.html. Secondly GHC offers the possibility to build and use dynamic libraries: http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/using-shared-libs.html. Based on these two facts, it appears possible to build the haskell ecosystem on a dynamic library principle. It will of course require a large refactoring, but does it worth it? It is just curiosity ;)



2013/10/28 Magnus Therning <magnus@therning.org>
On Mon, Oct 28, 2013 at 12:39:31PM +0100, Fabien Dubosson wrote:
> Hello again,
>
> With a little help of "git bisect" on the devtools repository (
> https://projects.archlinux.org/devtools.git/), I have found the reason of
> the following kind of messages:
>
>     Diff-0.3.0: cannot find libHSDiff-0.3.0.a on library path (use --force
> to override)
>
> The commit 0d16a9135055d0c998cac236608cb630c93f0ac7 (
> https://projects.archlinux.org/devtools.git/commit/?id=0d16a9135055d0c998cac236608cb630c93f0ac7)
> make "!staticlibs" default in makepkg.conf. So every chroot environment
> containing this version will throw away static libraries when building
> packages. The commit was pushed to arch repository 8 days ago, so only
> newest chroot environments have this problem.

Interesting.  I suspect this is related to the discussions on the
Arch mailing list about static libs.

> I see two solutions:
>
>   1. Change the "makepkg.conf" when creating the chroot environment
>      to remove "!staticlibs", or, better
>   2. Change cblrepo to add «options=('strip' 'staticlibs')» when
>      generating the PKGBUILDs.
>
> Because I don't know if all packages have/need these static
> libraries, I ask you, experienced arch-haskeller, to point me the
> right direction?

We absolutely do need the static libs to be included in the generated
packages.  Ghc 7.6 uses static linking by default and thus all our
tool packages rely on static libs in order to build properly.  It
could of course be changed but it'd require a change to cblrepo to
generate PKGBUILDs that uses `depends` rather than `makedepends`.

/M

--
Magnus Therning                      OpenPGP: 0xAB4DFBA4
email: magnus@therning.org   jabber: magnus@therning.org
twitter: magthe               http://therning.org/magnus

Hard work may not kill me, but why take the chance.

_______________________________________________
arch-haskell mailing list
arch-haskell@haskell.org
http://www.haskell.org/mailman/listinfo/arch-haskell