On Tue, 13 Apr 2010, Matthias Klumpp wrote:

On Tue, 13 Apr 2010 22:00:58 +0200, Micha Nelissen <mi...@neli.hopto.org>
wrote:
Matthias Klumpp wrote:
If you build the package using lazbuild, lintian (the Debian policy
checker
tool) throws an error described here:
 http://lintian.debian.org/tags/embedded-zlib.html

paszlib is a pascal implementation of compression. How is that check
performed? Maybe it triggers on some specific function name?
I'll ask someone.

I'm not sure if some version of zlib was translated to pascal; therefore
having the same security issues, or if it was written from scratch, so
that it won't have those security issues?
Not sure...
I should say that WinFF and easyMp3Gain do not use any ZLib function, so
ZLib should not be in the binary.

When I use ldd to get the library dependencies, I get the following list of 
libraries:

home: >ldd bin/easymp3gain
        linux-vdso.so.1 =>  (0x00007fff17fff000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f6de8258000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 
(0x00007f6de803c000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007f6de7a31000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007f6de7785000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f6de753e000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f6de7277000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f6de7072000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f6de6e6e000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f6de6c25000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f6de6a09000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f6de67e9000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f6de6566000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f6de6362000)
        libc.so.6 => /lib/libc.so.6 (0x00007f6de5ff3000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f6de5dd7000)
        libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f6de5b2d000)
        libm.so.6 => /lib/libm.so.6 (0x00007f6de58a9000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 
(0x00007f6de569d000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f6de549a000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f6de5298000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f6de5092000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 
(0x00007f6de4e69000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f6de4be4000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f6de49b2000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f6de47a0000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f6de4596000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f6de4394000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f6de4189000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f6de3f80000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f6de3d76000)
        libpcre.so.3 => /lib/libpcre.so.3 (0x00007f6de3b48000)
        librt.so.1 => /lib/librt.so.1 (0x00007f6de3940000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6de858e000)
        libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f6de36fb000)
        libdirectfb-1.2.so.0 => /usr/lib/libdirectfb-1.2.so.0 
(0x00007f6de3470000)
        libfusion-1.2.so.0 => /usr/lib/libfusion-1.2.so.0 (0x00007f6de3266000)
        libdirect-1.2.so.0 => /usr/lib/libdirect-1.2.so.0 (0x00007f6de304b000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00007f6de2e25000)
        libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 
(0x00007f6de2c21000)
        libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f6de2a18000)
        libz.so.1 => /lib/libz.so.1 (0x00007f6de2801000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f6de25fe000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f6de23f9000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x00007f6de21e0000)
        libselinux.so.1 => /lib/libselinux.so.1 (0x00007f6de1fc2000)
        libexpat.so.1 => /lib/libexpat.so.1 (0x00007f6de1d99000)

As you can see, it uses libz (or zlib) but dynamically, probably through some 
library dependency.

So I have no idea why they think it is linked statically. I searched the 
sources, but found
no direct dependency on paszlib or zlib, but there is an indirect dependency, 
because the paszlib
units are used. I think the jpeg and png support are the cause of this.

If you add the -s option to the compiler command line, in the link.res file 
that is then
generated when compiling, you can see that the paszlib unit is used.

Maybe they look for a function name (as suggested by Micha). In that case you 
should make
clear that zlib is not linked statically, but that paszlib simply contains a function with the same name.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to