(Not-)Linking with zlib

Heinz Mauelshagen mauelshagen at redhat.com
Tue Nov 7 21:10:02 UTC 2006


On Sun, Nov 05, 2006 at 05:59:06PM +0100, Loïc Minier wrote:
>         Hi,
> 
>  dmraid-1.0.0.rc13 started linking with zlib for crc32(), this is used
>  to support "SNIA DDF1 v1.0 metadata".  Debian has libdevmapper in /lib
>  and zlib in /usr/lib, so this makes the dynamic dmraid binary we're
>  currently shipping unusable until your /usr is mounted.
> 
>  I see the RPM packages are shipping a dmraid.static alternative, but
>  they seem to require /usr by default as well.
> 
>  It would be nice to avoid this dependency; solutions we have discussed
>  for Debian in <http://bugs.debian.org/396762> were:
>  1) copy crc32 from zlib
>  2) implement crc32
>  3) link statically with zlib (and only zlib)
> 
>  crc32() seems trivial to implement in C, here's a sample implementation
>  with some optimizations (you might want to chop off the optims since
>  metadata is probably not crc-ed a lot of times):
>     <http://www.w3.org/TR/PNG/#D-CRCAppendix>

Optimized and added to my devel code.
Will be part of next release.

Heinz

> 
>  I attach the patch to force linking statically with zlib, by Steve
>  Langasek, but beware not to add any lib after zlib in the Makefile or
>  these would *always* be linked dynamically obviously.
> 
>  You might want to drop the zlib dep because of the +12KB it causes
>  (crc32() is IMO smaller).
> 
>    Bye,
> -- 
> Loïc Minier <lool at dooz.org>

> diff -u dmraid-1.0.0.rc13/debian/changelog dmraid-1.0.0.rc13/debian/changelog
> --- dmraid-1.0.0.rc13/debian/changelog
> +++ dmraid-1.0.0.rc13/debian/changelog
> @@ -1,3 +1,12 @@
> +dmraid (1.0.0.rc13-1.1) unstable; urgency=low
> +
> +  * Non-maintainer upload.
> +  * Statically link against libz, since we only need crc32 from it and
> +    we can't have binaries in /sbin depending on libs in /usr/lib.
> +    Closes: #396762.
> +
> + -- Steve Langasek <vorlon at debian.org>  Fri,  3 Nov 2006 14:38:54 -0800
> +
>  dmraid (1.0.0.rc13-1) unstable; urgency=low
>  
>    * New upstream release; closes: #391499.
> only in patch2:
> unchanged:
> --- dmraid-1.0.0.rc13.orig/1.0.0.rc13/tools/Makefile.in
> +++ dmraid-1.0.0.rc13/1.0.0.rc13/tools/Makefile.in
> @@ -20,7 +20,7 @@
>  TARGETS=\
>  	dmraid
>  
> -DMRAIDLIBS=-ldmraid -lz
> +DMRAIDLIBS=-ldmraid -Wl,-Bstatic -lz -Wl,-Bdynamic
>  
>  include $(top_srcdir)/make.tmpl
>  

> _______________________________________________
> Ataraid-list mailing list
> Ataraid-list at redhat.com
> https://www.redhat.com/mailman/listinfo/ataraid-list

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Heinz Mauelshagen                                 Red Hat GmbH
Consulting Development Engineer                   Am Sonnenhang 11
Storage Development                               56242 Marienrachdorf
                                                  Germany
Mauelshagen at RedHat.com                            PHONE +49  171 7803392
                                                  FAX   +49 2626 924446
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-




More information about the Ataraid-list mailing list