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

Already on GitHub? Sign in to your account

Spec should define the interpretation of the library and includes and search dirs #672

Open
bos opened this Issue May 24, 2012 · 1 comment

Comments

Projects
None yet
2 participants
Contributor

bos commented May 24, 2012

(Imported from Trac #680, reported by @dcoutts on 2010-05-05)

See http://hackage.haskell.org/trac/ghc/ticket/3930

The Cabal spec should say how to interpret the extra-libraries and library-dirs fields in the installed package info. Specifically how this information is interpreted in relation to package dependencies which may also specify libraries and search paths.

The interpretation should be that all the extra-libraries required by a installed package should be found in library-dirs given in that installed package info, or in the "standard" system linker path (as used by the standard system linker). That is, the library-dirs of dependent packages should not be used.

For example:

-- installed package gtk:
extra-libraries: gtk-x11-2.0
library-dirs:
depends: glib
-- installed package glib:
extra-libraries: glib-2.0
library-dirs: /opt/local/lib
We presume here that /opt/local/lib is not on the standard linker path. Then we should only look for the gtk-x11-2.0 library on the paths specified in the gtk package, which in this case is empty, so that means only on the system linker path. If gtk-x11-2.0 is in fact only in /opt/local/lib then this will and should fail. We should not use the library dirs of the glib package to find the libraries of the gtk package.

The correct information for the above example would be to list library-dirs: /opt/local/lib for the gtk package also.

Contributor

bos commented May 24, 2012

(Imported comment by @dcoutts on 2010-05-05)

See also http://hackage.haskell.org/trac/ghc/ticket/4048 about ghc-pkg enforcing this new interpretation.

@ttuegel ttuegel added this to the _|_ milestone Apr 23, 2015

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