Groups | Search | Server Info | Login | Register


Groups > pt.comp.programacao > #330

Re: GNU screen, FreeBSD 14

From Daniel Cerqueira <dan.list@lispclub.com>
Newsgroups pt.comp.programacao
Subject Re: GNU screen, FreeBSD 14
Date 2024-11-06 04:52 +0000
Organization A noiseless patient Spider
Message-ID <87jzdhvu9r.fsf@lispclub.com> (permalink)
References (2 earlier) <87bjytsblt.fsf@example.com> <87ldxx4e3f.fsf@lispclub.com> <874j4lpdh3.fsf@example.com> <87h68l4a29.fsf@lispclub.com> <878qtxnwup.fsf@example.com>

Show all headers | View raw


Patricia Ferreira <pferreira@example.com> writes:

> Daniel Cerqueira <dan.list@lispclub.com> writes:
>
>> Patricia Ferreira <pferreira@example.com> writes:
>>
>>> Daniel Cerqueira <dan.list@lispclub.com> writes:
>>>
>>>> Patricia Ferreira <pferreira@example.com> writes:
>>>>
>>>>> Daniel Cerqueira <dan.list@lispclub.com> writes:
>>>>>
>>>>>> Patricia Ferreira <pferreira@example.com> writes:
>>>>>>
>>>>>>> Nunca tinha visto isso antes.
>>>>>>>
>>>>>>> # screen
>>>>>>> ld-elf.so.1: /lib/libc.so.7: version FBSD_1.8 required by
>>>>>>> /usr/local/bin/screen not found
>>>>>>>
>>>>>>> # ldd $(which screen)
>>>>>>> /usr/local/bin/screen:
>>>>>>>         libncursesw.so.9 => /lib/libncursesw.so.9 (0x2491b92b1000)
>>>>>>>         libtinfow.so.9 => /lib/libtinfow.so.9 (0x2491b7dff000)
>>>>>>>         libutil.so.9 => /lib/libutil.so.9 (0x2491b84c2000)
>>>>>>>         libulog.so.0 => /lib/libulog.so.0 (0x2491b9f04000)
>>>>>>>         libcrypt.so.5 => /lib/libcrypt.so.5 (0x2491ba31d000)
>>>>>>>         libc.so.7 => /lib/libc.so.7 (0x2491ba6aa000)
>>>>>>>         libmd.so.6 => /lib/libmd.so.6 (0x2491bb457000)
>>>>>>>         [vdso] (0x2491b7ce3000)
>>>>>>>
>>>>>>> Qual será o problema aí?
>>>>>>
>>>>>> Corre o `ldconfig` e vê se resulta.
>>>>>
>>>>> Obrigado!  O problema não é ausência de bibliotecas---note o que diz o
>>>>> ldd.  O problema é que a libc.so.7 contra a qual o GNU screen foi
>>>>> compilado é diferente da libc.so.7 que o sistema possui.  É uma pequena
>>>>> falha de sincronia entre os binários do FreeBSD e o sistema base.
>>>>>
>>>>> Podemos resolver a questão recompilando o screen diretamente do
>>>>> código-fonte, o que é fácil com o ports collection do FreeBSD.  Assim a
>>>>> libc.so.7 do sistema mesmo seria usada.  Mas nem consegui usar o ports
>>>>> porque o ports também reclamava do fato de que meu sistema era o
>>>>> FreeBSD-RELEASE 14.0 e o ports já assume que você tem o FreeBSD-RELEASE
>>>>> 14.1.  Fiquei espantando com a pressa dos programadores. :) Mas como
>>>>> estou em início de vida com o FreeBSD, fiz o upgrade e observei que a
>>>>> string FBSD_1.8 já aparece no FreeBSD-RELEASE 14.1:
>>>>>
>>>>> %strings /lib/libc.so.7 | grep FBSD
>>>>> FBSD_1.0
>>>>> FBSD_1.1
>>>>> FBSD_1.2
>>>>> FBSD_1.3
>>>>> FBSD_1.4
>>>>> FBSD_1.5
>>>>> FBSD_1.6
>>>>> FBSD_1.7
>>>>> FBSD_1.8
>>>>> FBSDprivate_1.0
>>>>>
>>>>> Com isso o mesmo GNU screen que não rodava antes, agora roda.  E também
>>>>> a partir daí já consigo usar o ports---compilei também o GNU screen sem
>>>>> problema por lá, mas já o desinstalei e fiquei com a versão do
>>>>> repositório binário mesmo.
>>>>>
>>>>> Obrigado pela atenção.
>>>>
>>>> Na minha distribuição, as bibliotecas ficam em cache, por isso às vezes
>>>> é preciso correr o ldconfig para as novas bibliotecas seram detetadas.
>>>>
>>>> Descobri isto recentemente.
>>>>
>>>> O ldconfig faz parte da glibc.
>>>
>>> Faz parte do FreeBSD também.  No FreeBSD pelo menos, o ldconfig nada
>>> mais é que um gerenciador de uma lista de diretórios onde o dynamic
>>> linker procura por shared libraries.  Não compreendo muito o que seria
>>> ``ficar em cache''.
>>
>> Escolhe uma biblioteca para instalares manulmente. Depois corre
>> `ldconfig -p | grep o nome-dessa-biblioteca` (deves encontrar nenhuma ou
>> apenas em /usr/lib/). Depois instala a biblioteca. Corre `ldconfig -p |
>> grep o nome-dessa-biblioteca` e vais ver que ainda não é detetada pelo
>> sistema. Tens de correr o `ldconfig` para detetar a nova biblioteca.
>>
>> Agora corres `ldconfig -p | grep o nome-dessa-biblioteca` e já detetas a
>> nova biblioteca em /usr/local/lib/ .
>
> Okay, mas note que o problema com o GNU screen não tinha conexão com uma
> biblioteca ausente.  A propósito:

Mas pode ter conexâo com uma biblioteca desatualizada em cache.

> # ldconfig -p
> ldconfig: illegal option -- p
> usage: ldconfig [-32] [-BRimr] [-f hints_file][directory | file ...]

Nâo sei como funciona o teu ldconfig aí. Aqui tem a opção "-p" ou
"--print-cache", que faz "Imprimir a cache".

Back to pt.comp.programacao | Previous | NextPrevious in thread | Find similar


Thread

GNU screen, FreeBSD 14 Patricia Ferreira <pferreira@example.com> - 2024-11-01 20:21 -0300
  Re: GNU screen, FreeBSD 14 Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-02 13:38 +0000
    Re: GNU screen, FreeBSD 14 Patricia Ferreira <pferreira@example.com> - 2024-11-05 16:51 -0300
      Re: GNU screen, FreeBSD 14 Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-05 20:31 +0000
        Re: GNU screen, FreeBSD 14 Patricia Ferreira <pferreira@example.com> - 2024-11-05 18:39 -0300
          Re: GNU screen, FreeBSD 14 Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-05 21:58 +0000
            Re: GNU screen, FreeBSD 14 Patricia Ferreira <pferreira@example.com> - 2024-11-05 19:23 -0300
              Re: GNU screen, FreeBSD 14 Daniel Cerqueira <dan.list@lispclub.com> - 2024-11-06 04:52 +0000

csiph-web