[GHC] #10032: --with-system-libffi not working on Solaris
GHC
ghc-devs at haskell.org
Tue Jan 27 12:45:44 UTC 2015
#10032: --with-system-libffi not working on Solaris
-------------------------------------+-------------------------------------
Reporter: kgardas | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Build | Version: 7.11
System | Operating System: Solaris
Keywords: | Type of failure: None/Unknown
Architecture: | Blocked By:
Unknown/Multiple | Related Tickets:
Test Case: |
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
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.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10032>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list