J'ai une affaire dans linux où gcc et ld construisent des choses proprement, mais à l'exécution j'obtiens un symbole indéfini (pour quelque chose dans libxerces-c.so.28), rapporté par une de mes propres bibliothèques partagées, lors de l'exécution mon programme.Pourquoi un symbole indéfini d'exécution serait-il corrigé en ajoutant/usr/lib à ld.so.conf?
La première hypothèse était que le cache était cassé, les xerces récemment installés, ou quelque chose de similaire, alors j'ai lancé ldconfig. Je ne l'ai pas réparé. Mais ajouter/usr/lib à ld.so.conf et lancer ldconfig l'a corrigé.
Ma compréhension est/lib,/usr/lib, et peut-être un ou deux autres points sont toujours recherchés par le lieur dynamique d'exécution.
??
(La seule chose qui sort de l'ordinaire est qu'il s'agit d'un programme java utilisant jni pour accéder à des bibliothèques partagées d'application.Par ailleurs, si c'était quelque chose de rationnel, j'aurais dû voir cette erreur à n'importe quel moment. application.)