Red Hat Training

A Red Hat training course is available for RHEL 8

16.5. Mudanças de compatibilidade em compiladores e ferramentas de desenvolvimento

librtkaio removido

Com esta atualização, a biblioteca librtkaio foi removida. Esta biblioteca forneceu acesso de E/S assíncrona em tempo real de alto desempenho para alguns arquivos, que foi baseada no suporte de E/S assíncrona do kernel Linux (KAIO).

Como resultado da remoção:

  • As aplicações usando o método LD_PRELOAD para carregar librtkaio exibem um aviso sobre uma biblioteca ausente, carregam a biblioteca librt em seu lugar e funcionam corretamente.
  • Aplicações que utilizam o método LD_LIBRARY_PATH para carregar librtkaio carregam a biblioteca librt e funcionam corretamente, sem qualquer aviso.
  • Aplicações usando a chamada do sistema dlopen() para acessar librtkaio diretamente carregar a biblioteca librt.

Os usuários do site librtkaio têm as seguintes opções:

  • Usar o mecanismo de emergência descrito acima, sem nenhuma alteração em suas aplicações.
  • Alterem o código de suas aplicações para usar a biblioteca librt, que oferece uma API compatível com o POSIX.
  • Alterem o código de suas aplicações para usar a biblioteca libaio, que oferece uma API compatível.

Tanto librt quanto libaio podem fornecer características e desempenho comparáveis sob condições específicas.

Note que o pacote libaio tem o nível 2 de compatibilidade da Red Hat, enquanto librtk e o removido librtkaio nível 1.

Para mais detalhes, veja https://fedoraproject.org/wiki/Changes/GLIBC223_librtkaio_removal

Interfaces Sun RPC e NIS removidas de glibc

A biblioteca glibc não fornece mais interfaces Sun RPC e NIS para novas aplicações. Estas interfaces agora estão disponíveis apenas para a execução de aplicações legadas. Os desenvolvedores devem mudar suas aplicações para usar a biblioteca libtirpc em vez da Sun RPC e libnsl2 em vez da NIS. As aplicações podem se beneficiar do suporte a IPv6 nas bibliotecas de substituição.

As bibliotecas nosegneg de 32 bits Xen foram removidas

Anteriormente, os pacotes glibc i686 continham um build alternativo glibc, que evitava o uso do registro do segmento de descritores de linha com offsets negativos (nosegneg). Esta construção alternativa só foi utilizada na versão 32-bit do hypervisor do Projeto Xen sem suporte de virtualização de hardware, como uma otimização para reduzir o custo de paravirtualização total. Estas construções alternativas não são mais utilizadas e foram removidas.

make novo operador != causa uma interpretação diferente de certas sintaxes de makefile existentes

O operador de atribuição de shell != foi adicionado ao GNU make como uma alternativa à função $(shell …​) para aumentar a compatibilidade com os makefiles BSD. Como conseqüência, variáveis com nome terminando em ponto de exclamação e imediatamente seguidas por atribuição como variable!=value são agora interpretadas como a atribuição de shell. Para restaurar o comportamento anterior, adicionar um espaço após o ponto de exclamação, tal como variable! =value.

Para mais detalhes e diferenças entre o operador e a função, consulte o manual do GNU make.

Biblioteca Valgrind para suporte de depuração MPI removida

A biblioteca de invólucros libmpiwrap.so para Valgrind fornecida pelo pacote valgrind-openmpi foi removida. Esta biblioteca habilitou Valgrind para depurar programas usando a Interface de Passagem de Mensagens (MPI). Esta biblioteca era específica para a versão de implementação Open MPI nas versões anteriores do Red Hat Enterprise Linux.

Os usuários de libmpiwrap.so são encorajados a construir sua própria versão a partir de fontes a montante específicas para sua implementação e versão de MPI. Forneça estas bibliotecas personalizadas para Valgrind usando a técnica LD_PRELOAD.

Cabeçalhos de desenvolvimento e bibliotecas estáticas removidas de valgrind-devel

Anteriormente, o sub-pacote valgrind-devel era usado para incluir arquivos de desenvolvimento para o desenvolvimento de ferramentas de valgrind personalizadas. Esta atualização remove estes arquivos porque eles não têm uma API garantida, têm que ser ligados estaticamente e não têm suporte. O pacote valgrind-devel ainda contém os arquivos de desenvolvimento para programas e arquivos de cabeçalho com reconhecimento de valor, como valgrind.h, callgrind.h, drd.h, helgrind.h, e memcheck.h, que são estáveis e bem suportados.