J'exécute une commande de construction qui fait référence aux fichiers de bibliothèque trois répertoires en utilisant l' -I
option. Le chemin du répertoire à partir duquel j'appelle GCC est celui dans lequel se /home/user/a/b/c/d/a1/a2/test
trouvent les bibliothèques /home/user/a/b/c/d
.
Cependant, la chose étrange est que je ne peux pas accéder aux fichiers, ni même les voir, à moins que je ne soit cd
dans leur dossier. Si je cours à ls ../../../
partir du test
dossier, ces fichiers n'apparaissent pas du tout. Ce sont des fichiers réels et non des liens symboliques. J'ai même couru chmod o+x
sur eux pour en être sûr.
Quelqu'un sait ce qui se passe?
terminal
directory-listing
ubuntu-17.04
Danny Chia
la source
la source
namei -l /home/user/a/b/c/d/a1/a2/test
etnamei -l /home/user/a/b/c/d/somelibraryname.h
.Réponses:
J'ai enfin trouvé la cause du problème. Il s'avère que l'un des répertoires était en fait un lien symbolique vers un autre répertoire. Donc
ls
agissait sur le répertoire cible et non sur le répertoire contenant le lien symbolique. L'utilisation du chemin absolu a résolu le problème.la source