binary distributions not working --with-system-libffi
Hello, an attempt to configure ghc-7.10.1-rc2 with:
$ ./configure --with-gmp-includes=/usr/include/gmp/ --with-gmp-libraries=/usr/lib/ --with-system-libffi --with-ffi-includes=/usr/lib/libffi-3.0.9/include/ --with-ffi-libraries=/usr/lib/
results in kind of broken distribution, since gmake test_bindist fails with:
bindisttest/"install dir"/bin/runghc bindisttest/HelloWorld > bindisttest/output
diff -U 1 bindisttest/output bindisttest/expected_output
No differences encountered
bindisttest/"install dir"/bin/ghc --make bindisttest/HelloWorld
[1 of 1] Compiling Main ( bindisttest/HelloWorld.lhs, bindisttest/HelloWorld.o )
Linking bindisttest/HelloWorld ...
bindisttest/HelloWorld > bindisttest/output
diff -U 1 bindisttest/output bindisttest/expected_output
No differences encountered
bindisttest/"install dir"/bin/ghc-pkg check --no-user-package-db
There are problems in package rts-1.0:
library-dirs: @FFILibDir@ is a relative path which makes no sense (as there is nothing for it to be relative to). You can make paths relative to the package database itself by using ${pkgroot}.
include-dirs: @FFIIncludeDir@ is a relative path which makes no sense (as there is nothing for it to be relative to). You can make paths relative to the package database itself by using ${pkgroot}.
The following packages are broken, either because they have a problem
listed above, or because they depend on a broken package.
rts-1.0
ghc-7.10.0.20150123
haskeline-0.7.2.0
terminfo-0.4.0.1
xhtml-3000.2.1
transformers-0.4.2.0
hoopl-3.10.0.2
bin-package-db-0.0.0.0
Cabal-1.22.1.0
binary-0.7.3.0
template-haskell-2.10.0.0
pretty-1.1.2.0
hpc-0.6.0.2
process-1.2.2.0
directory-1.2.2.0
unix-2.7.1.0
time-1.5.0.1
containers-0.5.6.2
bytestring-0.10.6.0
deepseq-1.4.0.0
array-0.5.0.1
filepath-1.3.1.0
base-4.8.0.0
integer-gmp-1.0.0.0
ghc-prim-0.3.1.0
gmake[1]: *** [test_bindist] Error 1
gmake: *** [test_bindist] Error 2
Honestly speaking I must add that even gmake binary-dist was not without issue since this expected ffi headers to be located in rts/dist/build directory but they were obviously not there. I've copied them manually and then binary-dist was able to run.
I'm not sure if this is Solaris specific issue or if this also affects other Unix(-like) OSes. I mark that for 7.11 (HEAD) since I'm not sure I'll have a time to address this issue for 7.10.1-rc3/fcs. The workaround is easy, just let ghc use its own copy of ffi library and not the system provided one. In the long term however, having ghc using system provided one is better.
Trac metadata
Trac field | Value |
---|---|
Version | 7.11 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Build System |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Solaris |
Architecture |