On Fri, 14 May 2004, Kelson Vibber wrote:
On Friday 14 May 2004 06:00 am, Jorge Arellano Cid wrote:
On Fri, 14 May 2004, Maarten Sander wrote:
I've just compiled and used Dillo on my Fedore Core 1 (Athlon-)machine. It's updated with all the latest and greatest (*cough*) packages from Dag, ATrpms, etc. GCC is 3.3.2, glibc 2.3.2, GTK 1.2.10. During ./configure it gave a big warning that it could not find libpng-config, but it detected png.h after that and compiled without problems.
libpng is not easy to detect, maybe the Fedora team decided to go back to the simple header/library pair to avoid problems. Don't worry.
I think I can shed some light on this: For some reason, Red Hat has never included libpng-config in their libpng packages. I assume it's related to their practice of maintaining binary compatibility when possible by using backported patches instead of moving to newer upstream versions.
The stock libpng even in FC2 Test3 is still 1.2.2, and I suspect (though I don't remember for certain) that libpng-config was added later in the 1.2 series.
This practice does make it easier to deal with third-party software. Last night, just to try it, I built Dillo on Fedora Core 2. I was able to run it on Red Hat 8 - three versions behind! By contrast, if you build Dillo on Mandrake 8.2, it will not run on Mandrake 8.1! As a result, I only have to post 3 RPMs to cover 4 years of Red Hat/Fedora releases.
Thanks for the explanation. BTW, what's configure's warning message?
You have a quite current GNU/Linux. Can you tell whether Dillo was linked against NPTL?
I'm curious - what should show up in the output from ldd? The binary I built on a very similar system to the one Maarten described (Athlon, FC1, with third-party packages from Dag, FreshRPMs, ATrpms and so on) is linked like this: libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00324000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00ee9000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00f24000) libm.so.6 => /lib/tls/libm.so.6 (0x0020a000) libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x00a22000) libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x00b84000) libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x00111000) libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x00cac000) libdl.so.2 => /lib/libdl.so.2 (0x004fe000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x001ac000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x00114000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x0022c000) libz.so.1 => /usr/lib/libz.so.1 (0x007e6000) libc.so.6 => /lib/tls/libc.so.6 (0x00334000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00753000)
I'm not an expert on RedHat/Fedora, but if you look at the libpthread line in the listing above, it appears under tls/, and TLS (GNU's SSL) is required for NPTL. That is a sign towards thinking it may be linked with NPTL, but NPTL also requires an NPTL enabled kernel (this you have to look for in the distro's spec), and finally there was an environment variable planned for RedHat 9, that could be set to keep using the old libpthread. I don't know if it survived but should be investigated too. Cheers Jorge.-