Uma solução é definir LD_PRELOAD como libfreetype.so original. Outra é recompilar a infinalidade com o último libfreetype (2.8.1).
Então, após um ano de uso, minha impressora decidiu não imprimir mais. Depois de solucionar um pouco, notei que o log de erros do cups mostra algo como
gs: symbol lookup error: <path>/libgs.so.9: undefined symbol: FT_Property_Set
Eu achei isso muito estranho. Como o FT_Property_Set é obviamente parte da biblioteca freetype, verifiquei:
ldd <path>/libgs.so.9
..
libfreetype.so.6 => <path>/freetype-infinality/libfreetype.so.6
..
e depois um grep de readelf -Ws <path>/freetype-infinality/libfreetype.so.6
Na verdade, mostrou que não definiu FT_Property_Set. Eu também tenho o
Implementação freetype "normal" instalada e grepping readelf -Ws <path>/libfreetype.so.6.14.0
mostrou que definiu FT_Property_Set.
Então, depois de remover a versão infinality, libgs usou o libfreetype normal.so
e eu poderia continuar imprimindo. Minha pergunta é se eu poderia ter dito que as libgs de alguma forma apenas usem a biblioteca freetype normal sem excluir a infinalidade (para que outros programas ainda usem isso)?
Uma solução é definir LD_PRELOAD como libfreetype.so original. Outra é recompilar a infinalidade com o último libfreetype (2.8.1).