Nicolas François <[EMAIL PROTECTED]> wrote:

>> couldn't open /etc/ld.so.conf: No such file or directory at 
>> /usr/bin/dpkg-shlibdeps line 155.
>
> libc6 is supposed to install /etc/ld.so.conf.
>
> Do you remember when you installed this Etch?
> Do you know the version of the libc6 package at that time?

My (successful) installation report is in #410710. I used the
businesscard.iso from 2007-02-10

In /var/log/aptitude I find 

Aptitude 0.4.4: log report
Mi, Feb 14 2007 13:47:36 +0100

IMPORTANT: this log only lists intended actions; actions which fail due to
dpkg problems may not be completed.

Will install 34 packages, and remove 0 packages.
217kB of disk space will be used
===============================================================================
[...]
[UPGRADE] libc6 2.3.6.ds1-10 -> 2.3.6.ds1-11

And I don't think I ever used apt-get upgrade.

> This bug could be caused by the libc6 bug #409516, fixed in libc6
> 2.3.6.ds1-11 (Feb 3, and migrated to testing only 5 days before your bug
> report).
>
> It could be nice to see if upgrading libc6 fixes this bug.

No, it didn't create it upon upgrade.  The current postinst has:

    # Add support for /etc/ld.so.conf.d
    if [ -z "$preversion" ] || dpkg --compare-versions $preversion lt 2.3.6-16; 
then
        if [ -e /etc/ld.so.conf ]; then
            [ -z "$(tail -n 1 /etc/ld.so.conf)" ] || echo >> /etc/ld.so.conf
        else
            touch /etc/ld.so.conf
        fi
        if ! grep -q '^include /etc/ld.so.conf.d/.*\.conf$' /etc/ld.so.conf ; 
then
            echo 'include /etc/ld.so.conf.d/*.conf' >> /etc/ld.so.conf
        fi
    fi

That looks too strict, since in my case $preversion is set, but it is
higher than 2.3.6-16.

I am inclined to reassign this to libc6, and it seems the fix would be

    # Add support for /etc/ld.so.conf.d
-   if [ -z "$preversion" ] || dpkg --compare-versions $preversion lt 2.3.6-16; 
then
+   if [ -z "$preversion" ] || dpkg --compare-versions $preversion lt 
2.3.6.ds1-11; then
        if [ -e /etc/ld.so.conf ]; then
+           if dpkg --compare-versions $preversion lt 2.3.6-16; then
                [ -z "$(tail -n 1 /etc/ld.so.conf)" ] || echo >> /etc/ld.so.conf
+           else
+              # created by a non-buggy version after 2.3.6; keep it
+              :
+           fi
        else
            touch /etc/ld.so.conf
        fi
        if ! grep -q '^include /etc/ld.so.conf.d/.*\.conf$' /etc/ld.so.conf ; 
then
            echo 'include /etc/ld.so.conf.d/*.conf' >> /etc/ld.so.conf
        fi
    fi

However, the "echo >> /etc/ld.so.conf" seems weird to me.  What if a
local admin added something there?  It looks like a policy violation.

Regards, Frank

-- 
Dr. Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)

Reply via email to