[Zlib-devel] zlib 1.2.3.6 available for testing
Enrico Weigelt
weigelt at metux.de
Tue Jan 19 18:42:12 EST 2010
glennrp at comcast.net wrote:
> It seems that now instead of building libfoo.so.0, libfoo.so.2, libfoo.so.4
> the linker no longer uses the final suffix. Instead when you build
> libfoo.so, internally each symbol (function, global variable, etc.)
> gets a version symbol appended and they all go into the same library
>
> You compile libfoo and it contains an entry point foo()
> Somehow when you construct the shared library,
>
> libfoo.so.1 contains entry points like
> foo{0}()
> foo{2}()
> foo{4}()
Thats how understood it. (but I'm not an ELF expert).
> if I understand the png-mng implement discussion and gcc documentation
> correctly. We aren't doing it that way with libpng, but some downstream
> distros might be. I don't even know how the step of merging several
> versions into one library is done. In libpng we build separate
> libraries
>
> libfoo00.so.0
> libfoo02.so.0
> libfoo04.so.0
Yep, that seems better to me. It only works on platforms that dont have
the versioning at all (and also w/ static libraries). And you can easily
provide different .pc files in case of different API versions.
In general, incompatible versions of some library should be able to
coexist peacefully. Package managers should actually treat them
as different packages (for clear dependencies).
> 2) As you may know I'm using git with libpng, but really only as another
> output format. It's extra work for me but others seem to like
> it.
Git shows its real strenghts if you fully exploit its supported
workflows. Working with many branches (eg. doing everything in its
own branches, and then merging afterwards, etc), contigious rebasing,
etc, is really easy with git.
For example, in the mc project, we have one branch per ticket
(and separate ones for hacking/experiments etc), and our review
process is based on them (when work is done, ticket goes to review
state, at least two other devs have to approved it, then rebase,
recheck and merge). Thanks to rebase, it doesnt really matter if
certain tickets stay open for quite a while, since it's very easy
to keep it up-to-date.
BTW: please fix the git url for libpng, has to be:
git://libpng.git.sourceforge.net/gitroot/libpng/libpng
(missed the last "/libpng").
> I did notice that the supplied Makefile dies not finding
> main() on FreeBSD and SunOS, but "configure; make" works fine.
Maybe this has to do with the pre-shipped but autogenrated
header files ? See:
http://repo.or.cz/w/oss-qm-packages.git/commit/21dc424ea3752dd326a579a62e4f71c514255b85
cu
--
----------------------------------------------------------------------
Enrico Weigelt, metux IT service -- http://www.metux.de/
cellphone: +49 174 7066481 email: info at metux.de skype: nekrad666
----------------------------------------------------------------------
Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------
More information about the Zlib-devel
mailing list