Eu percebi isso. Aparentemente, os pacotes que usam o pkg-config criam um arquivo .pc no diretório de nível mais alto que é criado depois de descomprimir o código-fonte da biblioteca Y.
Em seguida, se a biblioteca Z reclamar que não pode encontrar a biblioteca Y, e usar o pkg-config, defina a variável PKG_CONFIG_PATH para apontar para o arquivo .pc.
No meu caso, a libxml ++ depende da libxml2, portanto, ao configurar o libxml ++, eu tenho que apontar o caminho para o arquivo .pc criado pela libxml2:
export PKG_CONFIG_PATH=/Users/ryan/SVN/packages/libxml2-2.7.3/libxml2.pc
Em seguida, configure corretamente.