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_PRELOADpara 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_PATHpara 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.