você pode executar seu programa através de strace para ver quais arquivos ele tenta abrir, isso deve mostrar onde está tentando encontrar o arquivo.
-f significa manter o rastreamento em partes bifurcadas do programa
-e open significa apenas mostrar o 'open' syscalls, seria muito detalhado em contrário.
strace -f -e open /path/to/your/program