gitian: what to export for bitcoinconsensus? #5343

issue laanwj opened this issue on November 21, 2014
  1. laanwj commented at 5:00 PM on November 21, 2014: member

    @theuni When running gitian on master, I noticed we export the following files:

    13fb68cdb26c104c29617864bee264bd426ec19f29c1ed9de9c30322d9cd5edd  32/include/bitcoinconsensus.h
    6e3697e010639696225b84965f8c8fe17a62663a8a0afdbdb3250cf02c605c48  32/lib/libbitcoinconsensus.a
    4ab6383eb015a6b7d51ca4ec589f7e9c96d605456be26e0893ba5a231b620903  32/lib/libbitcoinconsensus.so
    4ab6383eb015a6b7d51ca4ec589f7e9c96d605456be26e0893ba5a231b620903  32/lib/libbitcoinconsensus.so.0
    4ab6383eb015a6b7d51ca4ec589f7e9c96d605456be26e0893ba5a231b620903  32/lib/libbitcoinconsensus.so.0.0.0
    
    • The .so and .h make sense - they are necessary to use the library.
    • However - we're exporting the library three times! I suppose we should remove the .0 and .0.0.0, even as symbolic links it doesn't make much sense to package them?
    -rwxr-xr-x 1 orion orion 1193440 Nov 21 17:53 libbitcoinconsensus.so
    -rwxr-xr-x 1 orion orion 1193440 Nov 21 17:53 libbitcoinconsensus.so.0
    -rwxr-xr-x 1 orion orion 1193440 Nov 21 17:53 libbitcoinconsensus.so.0.0.0
    
    • I don't think exporting the static .a library is a good idea as it is not self-contained, unlike the shared library (as well as exposing a lot of internal symbols, and having unclear dependencies that need to be linked too).
  2. laanwj added the label Build system on Nov 21, 2014
  3. laanwj added this to the milestone 0.10.0 on Nov 21, 2014
  4. theuni commented at 6:23 PM on November 21, 2014: member

    Agreed on the static libs. There's also the question of the .pc, which will come in with #5334. That would be nice to have, but unfortunately it wouldn't be portable because prefixes will vary. I think I'd rather leave that out.

    For the shared libs, it's important to remember that the SONAME is libbitcoinconsensus.so.0, which affects linkage. So either we need to maintain the symlinks (1 level, at least), or handle versioning ourselves. Personally, I'd prefer the former.

  5. theuni commented at 7:52 PM on November 25, 2014: member

    Working on this right now. As discussed last night on IRC:

    • organize the output structure in gitian and tar it up. That will preserve the symlinks and minimize repackaging
    • delete .a, .la, and .pc files
    • package linux32/linux64 and win32/win64 separately.
  6. laanwj commented at 11:33 AM on November 26, 2014: member

    Solved by #5371, thanks.

  7. laanwj closed this on Nov 26, 2014

  8. DrahtBot locked this on Sep 8, 2021
Contributors

Milestone
0.10.0


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me