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

Re: ldconfig-symlink-missing-for-shlib error



Steve Langasek wrote:

On Thu, Jul 14, 2005 at 01:25:24AM -0400, kamaraju kusumanchi wrote:
I am trying to package fortranposix library. I produced some debian packages but I am not satisfied with their quality. For example, when I do

$lintian -i libfortranposix0_0.1-1_i386.deb
E: libfortranposix0: ldconfig-symlink-missing-for-shlib usr/lib/libfortranposix.so.0 usr/lib/libfortranposix.so.0.0.0 libfortranposix.so.0
N:
N:   The package should not only include the shared library itself, but
N:   also the symbolic link which ldconfig would produce. (This is
N:   necessary, so that the link gets removed by dpkg automatically when
N:   the package gets removed.) If the symlink is in the package, check
N:   that the SONAME of the library matches the info in the shlibs file.
N:
N:   Refer to Policy Manual, section 8.1 for details.
N:

I thought ldconfig automatically creates the necessary symbolic links provided the postinst, postrm scripts invoke ldconfig properly.

Please see Policy section 8.1.
The error message already told me to do that. I ofcourse read this incomprehensible 8.1 section of the debian-policy before posting my question here. The wording in this section is so cryptic that it really does not help attracting new maintainers. I mean, the maint-guide is so good, but this debian-policy is not upto that.

Just yesterday, I posted for a clarification of the wording in 8.1.1 .

http://groups-beta.google.com/group/linux.debian.devel.mentors/browse_thread/thread/de6df3a594904f43/064f698ea912845c?hl=en#064f698ea912845c


May be I am not yet ready for packaging debian stuff... But I would like to try anyway.

Can you tell me where in this section 8.1, does it say that the maintainer has to create a symbolink for a runtime library package? The thing that comes close is the following paragraph.

The run-time library package should include the symbolic link that |ldconfig| would create for the shared libraries. For example, the |libgdbm3| package should include a symbolic link from |/usr/lib/libgdbm.so.3| to |libgdbm.so.3.0.0|. This is needed so that the dynamic linker (for example |ld.so| or |ld-linux.so.*|) can find the library between the time that |dpkg| installs it and the time that |ldconfig| is run in the |postinst| script.

According to this paragraph ldconfig should take care of creating the links. Other replies to this thread suggest that ldconfig is not used for this purpose while packaging .debs. If that is correct, then section 8.1 of policy has to be rewritten (since it conveys wrong information).

thanks
raju

--
Kamaraju S Kusumanchi
Graduate Student, MAE
Cornell University
http://www.people.cornell.edu/pages/kk288/



Reply to: