[GHC] #15837: Hadrian should build dynamically linked ghc binary
GHC
ghc-devs at haskell.org
Thu Dec 6 12:43:57 UTC 2018
#15837: Hadrian should build dynamically linked ghc binary
-------------------------------------+-------------------------------------
Reporter: davide | Owner: davide
Type: bug | Status: new
Priority: normal | Milestone:
Component: Build System | Version: 8.6.1
(Hadrian) |
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D5385
Wiki Page: | Phab:D5327
-------------------------------------+-------------------------------------
Comment (by davide):
When looking at the output of make I get:
{{{
$ find . -name "*ffi*.so*" -or -name "*ffi*.a*"
./libffi/build/x86_64-unknown-linux-gnu/.libs/libffi_convenience.a
./libffi/build/x86_64-unknown-linux-gnu/.libs/libffi.so.7.1.0
./libffi/build/x86_64-unknown-linux-gnu/.libs/libffi.so.7
./libffi/build/x86_64-unknown-linux-gnu/.libs/libffi.so
./libffi/build/x86_64-unknown-linux-gnu/.libs/libffi.a
./libffi/build/inst/lib/libffi.so.7.1.0
./libffi/build/inst/lib/libffi.so.7
./libffi/build/inst/lib/libffi.so
./libffi/build/inst/lib/libffi.a
./rts/dist/build/libCffi_p.a
./rts/dist/build/libffi.so
./rts/dist/build/libffi.so.7
./rts/dist/build/libffi.so.7.1.0
./rts/dist/build/libCffi_l.a
./rts/dist/build/libCffi_debug.a
./rts/dist/build/libCffi_thr.a
./rts/dist/build/libCffi_thr_debug.a
./rts/dist/build/libCffi_thr_l.a
./rts/dist/build/libCffi_thr_p.a
./rts/dist/build/libCffi_thr_debug_p.a
./rts/dist/build/libCffi_debug_p.a
./rts/dist/build/libCffi.a
}}}
Note that all the `libCffi*.a` files are identical, and all `libCffi*.so`
files are identical.
== Dynamic
This matches closely with my previous comments, but with the addition of
some extra versioned .so files. Note the symlinks:
{{{
$ ls -l _build/stage1/libffi/build/inst/lib/libffi.so*
lrwxrwxrwx 1 david david 15 Dec 6 10:28
_build/stage1/libffi/build/inst/lib/libffi.so -> libffi.so.7.1.0
lrwxrwxrwx 1 david david 15 Dec 6 10:28
_build/stage1/libffi/build/inst/lib/libffi.so.7 -> libffi.so.7.1.0
-rwxr-xr-x 1 david david 70232 Dec 6 10:28
_build/stage1/libffi/build/inst/lib/libffi.so.7.1.0
}}}
== Static
This matches hadrians behavior w.r.t static libffi. On that grounds I'm
going to leave the static libs behavior as is, but add a note about
possible simplification here: only copy a single .a file as we will do
with the dynamic version.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15837#comment:19>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list