Capítulo 18. 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 embalagens 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.