[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: rpmlint question

On Tue, 13 Feb 2007, Bill Nottingham wrote:

Tom Diehl (tdiehl rogueind com) said:
I am trying to learn how to make rpms. When I run rpmlint against the
I am trying to make I get the following output:

(bullwinkle pts31) $ rpmlint dspam-3.6.8-1.fc5.mtd.1.i386.rpm
W: dspam devel-file-in-non-devel-package /usr/lib/libdspam.so

Generally, lib<foo>.so is used for development purposes. It's what
the linker looks at when you link against that library with
-l<foo>. So it's classified as a development file.

The only other use of lib<foo>.so would be if it's a dynamically
loaded module or plugin, loaded with dlopen() or similar code.
(However, in that case, it's probably better to specify a particular
ABI version, so programs don't get a version that's different from
the API/ABI they compiled against.)

If libdspam.so isn't a plugin used by other programs, just remove
libdspam.so from your file list.

It turns out that libdspam.so is not needed but there are subpackages
that contain drivers for mysql and postgresql. If I pull the .so symlinks,
I get the following error:

[bullwinkle pts33]# dspam --daemon --debug
1312: [02/14/2007 15:46:54] dlopen() failed: /usr/lib/libmysql_drv.so: /usr/lib/libmysql_drv.so: cannot open shared object file: No such file or directory
1312: [02/14/2007 15:46:54] Unable to initialize storage driver
[bullwinkle pts33]#

Having said the above, there is a config file in dspam, that calls
/usr/lib/libmysql_drv.so. If I change the config to /usr/lib/libmysql_drv.so.7
or /usr/lib/libmysql_drv.so.7.0.0 then the program runs and the driver loads.

What is the correct way to handle this type of thing?

In addition, if the right answer is to drop the *.so libs, am I really supposed
to drop them or do they belong in the -devel package?

Is there a doc for this somewhere? So far, I have not been able to find one.


Tom Diehl		tdiehl rogueind com		Spamtrap address mtd123 rogueind com

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]