CRG-Barcelona / libbeato

Library combining some HTS stuff, core wiggle stuff, Jim Kent's libary.
GNU General Public License v3.0
3 stars 7 forks source link

Static libraries not installed with make install --prefix #1

Closed gilesc closed 10 years ago

gilesc commented 10 years ago

If I run:

./configure --prefix=/usr CFLAGS="-g -O3 -I/usr/include" LDFLAGS=-L/usr/lib
make
make DESTDIR=mydest install

Then the header files are correctly installed into my provided DESTDIR, but the static libraries (.a) aren't. Then, naturally, attempting to build downstream applications like bwtool complains that the libraries can't be found.

This issue arises because I am attempting to package libbeato and bwtool for Arch Linux, which requires you to be able to make install into a dummy directory for packaging, so I can't just install directly to /usr. For now I am working around by manually copying the .a files but this should be handled by the makefile.

gilesc commented 10 years ago

Actually, my mistake! Apparently Arch by default REMOVES static libs from packages.

andypohl commented 10 years ago

I should probably get around to updating the build stuff to make shared libs. Static libraries are an antiquated strategy, and I'm not surprised if a modern package manager rejects their use. I had tried before to have a shared library system, but I never got it to link. I'll try again.

gilesc commented 10 years ago

Yes, that would be excellent. There are so many projects that just include bits of the Kent source code (and take on the resulting licensing emcumbrances) because there is no shared library version. I tried once to convert the Kent tree to dynamic linking, but given the massively complex tree of nested Makefiles, I just gave up after a few hours. It's also ridiculous that if you build all the Kent binaries the result is over 1GB because they are all statically linked.

But if there were such a version, even partial, projects could link it and use whatever license they want (I think, IANAL).

andypohl commented 10 years ago

The library for bwtool uses only the freeware part of the Kent source. This means I can copy it, change it, sell it, not cite it, as much as I want. And for this part there's only one makefile with a few hundred source files. I am thinking to maybe move from autotools to cmake in order to facilitate shared libraries. I only used the autotools because it's old-school open-source. But I don't like it. I think it's frustrating to use even if once it's set up, it works well. Anyway, that might take a few days to figure out and I'm not sure I will get to it until after my school ends early next month.