Skip to Content.
Sympa Menu

baslinux - Re: [BL] /lib/cpp error compiling in BL2 with libc-2.2.5 upgrade

baslinux AT lists.ibiblio.org

Subject: Baslinux mailing list

List archive

Chronological Thread  
  • From: sindi keesan <keesan AT sdf.lonestar.org>
  • To: baslinux AT lists.ibiblio.org
  • Subject: Re: [BL] /lib/cpp error compiling in BL2 with libc-2.2.5 upgrade
  • Date: Fri, 6 Jan 2006 20:34:04 +0000 (UTC)

On Fri, 6 Jan 2006, David Moberg wrote:

sindi keesan wrote:

ldd libc.so.5 - statically compiled, does not need ld-linux, which I
probably did not need to even include in my netpbmt-for-bl2 package.
ls -l libc.so.5 580K

Try removing ld-linux.so.1 from /lib. Does the libc5 netpbm still work?
I predict that it won't.

I will try this some other time, in BL3, because I have already renamed (to .bak) all the other libc5 libraries for netpbm.

None of the libc5 netpbm programs have ld-linux as a dependency and all the libc6 ones do.

I just discovered that libc.so.5 had not been renamed and I could still compile without getting it as a dependency, but I had renamed libnetpbm and libtiff and ld-linux.


...

The tiff programs would not compile against my old libtiff.so because I
did not have the header files. I will get the libtiff developer's
packages from SW81 if I can't compile libtiff, for which I might need a
newer gcc-g++. With luck, nobody will send me any tiffs for a while.

You might want the SW71 libtiff-devel instead of SW81.

I already upgraded to SW81 glibc and am using the newer libtiff package from SW81. Instead of installing it, I extracted the tiff*.h files and libtiff.so.3.5.7 (which I symlinked to libtiff.so.3) by mounting the cd on /cd then looking at the contents with tar -ztvf libtiff*.tgz|less
then cd'ing to / and extracting just those files:
tar -zxvf /cd/slackware/l/libtiff*.tgz usr/lib/libtiff.so.3.5.7
tar -zxvf /cd/slackware/l/libtiff*.tgz usr/include/tiff*.h



Could I just do a make tiffpnm and make pnmtiff or is there some other way
to compile just those two files?

cd netpbm-10.31/converter/other/
make tifftopnm
make pnmtotiff

Thanks, that worked, but at first I got the error message (on exit): cannot find -ltiff.so (which I think means it cannot find libtiff.so.3) I had told Makefile to look for libtiff.so.3, because there was no libtiff.so. I had to create a symlink to libtiff.so and edit Makefile.

ldd says it needs libtiff.so.3 and libjpeg.so.62 but in Makefile I needed libtiff.so and libjpeg.so - why?


This might fail if you have not already built libnetpbm.so or .a with
'make' or 'make -k'.

I have that already, make clean did not remove it.

There might be other programs which failed to build. You should
compare what you have with what is in the netpbm-libc5 package.

I ran it 'make' without -k and it got stuck on tiff before, but with these five files from libtiff package it seems to have all compiled and make package has not found anything missing like it did when I did make -k without tiff.

ls |wc lists 315 files for libc6 and 298 for libc5. Only 17 more, and this is a later version of netpbm too, with a large cameratopam (converts camera raw image file to pam, and can also modify it). pbmtonokia is also new. There are 48 pam* in libc6 and only 38 in libc5, and since pam is the newer format they may be recently added programs (or else they were written more recently and designed to need libc6). 5 pam* vs 4. So all but 6 of the files you did not compile are for pam.

Why did it make a lot of /lib/*.h files? This time I told it not to build static libnetbpm.*.a and it did not, so do I need the header files?

It comes with an rgb.txt.

When doing make package, I got an error message that I have no echo.
busybox 1.01 has echo. I put busybox 1.01 on the path on this computer
ahead of the previous busybox (which I had updated to BL3 busybox).

You can also install echo from slackware. It's probably in shutils.tgz.
The package may be larger, but the echo binary itself is smaller than
busybox.

I also found it there, but I already have busybox-1.01 on my path instead of BL3 busybox, which did not work with your busybox 1.sh script because two programs were not fully functional. So I ran the script and now have echo. It seems to have made the package without it, anyway.


glibc-2.2.25 bloat:

While tracking down libc.so.5-dependent libraries, I noticed that I have
in /usr/lib about 70MB of libraries which I think are used only for static
compiling.

Can I safely delete at least anything in _p.a, such as a 25MB libc_p.a
files? The newer libraries no longer come in these pairs, just plain .a
(p = panel?)

_p.a is for profiling. Profiling is for C programmers who want to figure
out what part of their programs need to be optimized. The rest of us
can safely delete the libraries ending in _p.a.
Thanks.>

There is also a 25MB libc.a. If I used this to compile something
statically so it could be used on a non-upgraded SW71-based BL2, how much
would it add to the result?

A lot. Possibly an average of half a megabyte for each netpbm
program.

Should I bother trying to do this, or can other list members upgrade to glibc
2.2.5 or 2.3.1 instead?

It does not make much sense to do this unless you use the 'merge' build
option for netpbm.

That would give a very big single program with a lot of things I have no use for.


If you want BL2 users to not have to upgrade, then build with the SW71
libraries.

I can't use the SW81 compiler and binutils with SW71 libraries and I don't know how to compile with them if I have glibc 2.1.3 and 2.2.5 on the same computer. I will probably just compile dynamically instead of adding half a megabyte of libc, and require 2.2.5. I can include any dependencies other than libc, ld-linux, and libm in my packages, but they will all need these first three.

Then there is a gconv directory with 8MB of things like MACINTOSH.so
GEORGIAN_ACADEMY.so qand libJIS.so and EBCDIC_PT.so. Do I need anything
in here other than gconv-modules, ISO8859-*.so, and IBM*.so, EBCDIC_US.so?
BL3 does not even have this directory - what does it convert? A web search
suggests it does something with locale (the contents of which I deleted
since I read English).

It is some kind of character set conversion. You usually do not need it if you
read English.

Do I need any of these to display other character sets with loadfont?

Maybe. Does loadfont work without it?

Yes. I renamed it to .bak and loadfont/showfont works. If everything else keeps working for a while I will delete it. I am deleting older libpng and libtiff (and eventually all the libc5 stuff when I install netpbm). Can you figure out what gconv is for? No man page for it or iconv here. Maybe only used by non-English-readers?

Should I add any programs to what I selected for libc5?

No.

I look forward to trying this new netpbm package out.

David


Would you like a .tgz of all the bin files (1.2MB) and libnetpbm and
libtiff, libpng, and zlib? (libjpeg has not changed since 1998 - you can get it from Slackware 7.1).

You will need libc6 basic files, and to make symlinks to all the libraries. You explained how to make doinstall.sh with the symlinks but I need to find that email before doing the package.

Should tifftopnm still work if I can manage to replace libtiff.so.3.5.7 with libtiff.so.3.8.0 later?

Two successes in 24 hours (lpr and netpbm). Next fb.modes.




Archive powered by MHonArc 2.6.24.

Top of Page