From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <408F4A66.9010705@altlinux.com> Date: Wed, 28 Apr 2004 10:08:38 +0400 From: Anton Farygin Organization: ALT Linux User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.6) Gecko/20040310 X-Accept-Language: ru-ru, ru MIME-Version: 1.0 To: ALT Devel discussion list Subject: Re: [devel] Re: I: Sisyphus base build system freeze plans References: <20040426133654.GA30080@basalt.office.altlinux.org> <408E1EA7.7060302@altlinux.ru> <20040427092601.GB26609@osdn.org.ua> <20040427103429.GA15569@master.mivlgu.local> <20040427105421.GC21443@basalt.office.altlinux.org> <20040428055537.GA2462@sirius.home> In-Reply-To: <20040428055537.GA2462@sirius.home> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.4 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Apr 2004 06:36:20 -0000 Archived-At: List-Archive: List-Post: Sergey Vlasov пишет: > 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: >> >>>On Tue, Apr 27, 2004 at 12:26:01PM +0300, Michael Shigorin wrote: >>> >>>>On Tue, Apr 27, 2004 at 12:49:43PM +0400, Leonid Khachaturov wrote: >>>> >>>>>Означает ли это, что установка glibc-2.3.3 из Sisyphus сейчас, >>>>>приведет к неработоспособности системы (или по-крайней мере её >>>>>части)? >>>> >>>>Еще GL сломался (скринсейвер теперь CPU hog :). >>> >>>$ 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). Эта ссылка устарела, после ее удаления - все встает на свои места. Судя по всему - ее можно убирать, чем я сейчас и займусь. Но ошибка в ldconfig, похоже, все-таки есть. > > >>Лучше не закладываться на тот или иной вариант и сделать нормальный >>wrapper. > > > Каким образом? Вынести все реальные libGL.so.* в другой каталог, > оставив в /usr/X11R6/lib только libGLwrapper.so.*? Нет, не надо.. слишком много геммороя. Rgds, Rider