Encontrei a resposta:
gcc -fpic obj1.c gcc -fpic obj2.o gcc -shared -o libABC.so-lXYZ obj1.o obj2.o
Eu tenho uma pergunta sobre o uso de bibliotecas no Linux. Vamos dizer que eu tenho um programa chamado MYPROG e duas bibliotecas LIBABC.SO e LIBXYZ.SO. MYPROG carrega o módulo LIBABC.SO com "dlopen RTLD_NOW". "dlopen" falha porque eu estou usando funções de LIBXYZ.SO e MYPROG não foi vinculado com LIBXYZ.SO. Posso vincular uma biblioteca compartilhada a outra biblioteca compartilhada?
Encontrei a resposta:
gcc -fpic obj1.c gcc -fpic obj2.o gcc -shared -o libABC.so-lXYZ obj1.o obj2.o
Eu acredito que sim.
A principal importância é que todas as funções que você usa em suas aplicações são definidas. Se as definições dessas funções (as funções que estão na, digamos, biblioteca A e não em seu aplicativo) se referirem à biblioteca B, então é responsabilidade da biblioteca A vincular-se à biblioteca B.