ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Dmitry V. Levin" <ldv@altlinux.org>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: Re: [devel] Re: I: Sisyphus base build system freeze plans
Date: Wed, 28 Apr 2004 15:35:07 +0400
Message-ID: <20040428113507.GH25131@basalt.office.altlinux.org> (raw)
In-Reply-To: <20040428055537.GA2462@sirius.home>

[-- Attachment #1: Type: text/plain, Size: 2351 bytes --]

On Wed, Apr 28, 2004 at 09:55:38AM +0400, Sergey Vlasov wrote:
> On Tue, Apr 27, 2004 at 02:54:21PM +0400, Dmitry V. Levin wrote:
> > On Tue, Apr 27, 2004 at 02:34:29PM +0400, Sergey Vlasov wrote:
[...]
> > > $ ls -la /usr/X11R6/lib/libGL.so.1
> > > lrwxrwxrwx  1 root root 12 Апр 27 14:30 /usr/X11R6/lib/libGL.so.1 -> libMesaGL.so
> > > 
> > > Старый ldconfig делает ссылку на libGLwrapper.so.0.1.8.  Вообще по какому
> > > принципу ldconfig выбирает, на что поставить ссылку при наличии нескольких
> > > библиотек с совпадающими SONAME?
> > 
> > Этот алгоритм несколько раз менялся, и какой действует сейчас, я не помню.
> 
> На самом деле эта проблема возникает из-за следующего изменения:
> 
> @@ -770,10 +790,27 @@ search_dir (const struct dir_entry *entr
>           continue;
>         }
>  
> +
> +      /* A link may just point to itself.  */
> +      if (is_link)
> +       {
> +         /* If the path the link points to isn't its soname and it is not
> +            .so symlink for ld(1) only, we treat it as a normal file.  */
> +         const char *real_base_name = basename (real_file_name);
> +
> +         if (strcmp (real_base_name, soname) != 0)
> +           {
> +             len = strlen (real_base_name);
> +             if (len < strlen (".so")
> +                 || strcmp (real_base_name + len - strlen (".so"), ".so") != 0
> +                 || strncmp (real_base_name, soname, len) != 0)
> +               is_link = 0;
> +           }
> +        }
> +
>        if (real_name != real_file_name)
>         free (real_name);
>  
> -      /* Links will just point to itself.  */
>        if (is_link)
>         {
>           free (soname);
> 
> libMesaGL.so - это тоже ссылка (на libGL.so.1.4.501).  Судя по
> комментарию, такая ссылка должна была бы игнорироваться, но на самом
> деле этого не происходит из-за третьей части написанного здесь условия
> (strncmp (real_base_name, soname, len) != 0).

По идее автора этого изменения, ссылка libMesaGL.so должна игнорироваться
только в случае, если она ссылается на libMesaGL.so.*

> > Лучше не закладываться на тот или иной вариант и сделать нормальный
> > wrapper.
> 
> Каким образом?  Вынести все реальные libGL.so.* в другой каталог,
> оставив в /usr/X11R6/lib только libGLwrapper.so.*?

Например.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2004-04-28 11:35 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-26 13:36 [devel] " Dmitry V. Levin
2004-04-26 15:41 ` [devel] " Michael Shigorin
2004-04-26 21:33 ` [devel] " Dmitry V. Levin
2004-04-27  4:33   ` Alexey I. Froloff
2004-04-27  6:24     ` [devel] [JT] " Michael Shigorin
2004-04-27  8:28   ` [devel] " Sergey V Turchin
2004-04-28  9:38   ` Sergey Bolshakov
2004-04-28 11:23     ` Dmitry V. Levin
2004-04-28 11:28       ` Sergey Bolshakov
2004-04-27  8:49 ` Leonid Khachaturov
2004-04-27  9:09   ` Yuri N. Sedunov
2004-04-27  9:15     ` [devel] Re: gnome and glibc-2.3.3 (was: Sisyphus base build system freeze plans) Vitaly Ostanin
2004-04-27 11:32     ` [devel] [JT] I: Sisyphus base build system freeze plans Alexey Morozov
2004-04-27  9:26   ` [devel] " Michael Shigorin
2004-04-27 10:34     ` Sergey Vlasov
2004-04-27 10:54       ` Dmitry V. Levin
2004-04-28  5:55         ` Sergey Vlasov
2004-04-28  6:08           ` Anton Farygin
2004-04-28 11:35           ` Dmitry V. Levin [this message]
2004-04-28 12:33             ` Sergey Vlasov
2004-04-28 14:24               ` Dmitry V. Levin
2004-04-28 14:00                 ` Anton Farygin
2004-04-28 14:32                   ` Dmitry V. Levin
2004-04-28 14:38                 ` Sergey Vlasov
2004-04-28 14:45                   ` Dmitry V. Levin
2004-04-27 10:56   ` [devel] " Dmitry V. Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040428113507.GH25131@basalt.office.altlinux.org \
    --to=ldv@altlinux.org \
    --cc=devel@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git