Je dois utiliser linux pour un projet et j'en peux vraiment plus, je perds des heures et des heures pour des trucs simples
Est-ce que quelqu'un peut me débloquer là dessus ?
Je lance un exécutable et ça me met
[20141120 22:49:16.805] Loading configuration file etc/oro-server/oro.conf...[20141120 22:49:16.806] No config file. Check "etc/oro-server/oro.conf" exists.
On dirait que c'est un chemin relatif. Le fichier se trouve dans /opt/openrobots/etc/oro-server
Comment savoir où le programme cherche ? Comment lui dire où c'est ?
J'ai essayé export PATH=$PATH:/opt/openrobots/etc/oro-server
et ça ne marche pas.
J'ai eu le même problème avant et j'ai utilisé PATH=$PATH:* l'endroit où est le fichier* et ça marchait...
Le truc que j'utilise:
https://www.openrobots.org/wiki/oro-server#Via_robotpkg
Merci
"J'ai eu le même problème avant et j'ai utilisé PATH=$PATH:* l'endroit où est le fichier* et ça marchait... "
C'était pas la même chose pardon, ça c'était parce que je tapais une commande dans le terminal et il la reconnaissait pas
Tu utilises quelle distribution ?
« [20141120 22:49:16.806] No config file. Check "etc/oro-server/oro.conf" exists. »
Il faut mettre un fichier oro.conf dans /etc/oro-server/ comme indiqué par le message d'erreur.
J'utilise Ubuntu
J'ai déjà mis un fichier oro.conf dans /etc/oro-server/
(preuve:
monnom@monnom-GP60-2PE-SSD:/etc/oro-server$ ls
oro.conf
)
Mais dans " Check "etc/oro-server/oro.conf" exists." le chemin est relatif non ?
Mon fichier oro.conf original était dans /opt/openrobots/etc/oro-server
Merci
Le chemin n'est pas relatif, c'est bien le chemin indiqué: /etc/oro-server/
Par contre je ne sais pas d'où peut venir ton problème, bonne chance avec les prochaines réponses.
Y'a pas le / avant etc donc c'est relatif non?
J'ai fait un strace pour voir où il allait le chercher et j'arrive pas vraiment à interprêter le résutlat
T'as raison que de la façon que c'est écrit ça semble être un chemin relatif, et c'est assez casse-couilles d'être aussi vague.
« J'ai fait un strace pour voir où il allait le chercher et j'arrive pas vraiment à interprêter le résutlat »
Moi non plus ?
ça donne ça (attention les yeux)
strace oro-server
execve("/opt/openrobots/bin/oro-server", ["oro-server"], [/* 70 vars */]) = 0
brk(0) = 0x7f7c14ad6000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7c12af1000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=88062, ...}) = 0
mmap(NULL, 88062, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f7c12adb000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\32
0\37\2\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1845024, ...}) = 0
mmap(NULL, 3953344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7c1250b000
mprotect(0x7f7c126c6000, 2097152, PROT_NONE) = 0
mmap(0x7f7c128c6000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bb000) = 0x7f7c128c6000
mmap(0x7f7c128cc000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7c128cc000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7c12ada000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7c12ad8000
arch_prctl(ARCH_SET_FS, 0x7f7c12ad8740) = 0
mprotect(0x7f7c128c6000, 16384, PROT_READ) = 0
mprotect(0x7f7c12d11000, 8192, PROT_READ) = 0
mprotect(0x7f7c12af3000, 4096, PROT_READ) = 0
munmap(0x7f7c12adb000, 88062) = 0
getpid() = 5541
rt_sigaction(SIGCHLD, {0x7f7c12b08460, ~[RTMIN RT_1], SA_RESTORER, 0x7f7c12541c30}, NULL, 8) = 0
geteuid() = 1000
brk(0) = 0x7f7c14ad6000
brk(0x7f7c14af7000) = 0x7f7c14af7000
getppid() = 5538
stat("/home/damien", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/opt/openrobots/bin/oro-server", O_RDONLY) = 3
fcntl(3, F_DUPFD, 10) = 10
close(3) = 0
fcntl(10, F_SETFD, FD_CLOEXEC) = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0x7f7c12b08460, ~[RTMIN RT_1], SA_RESTORER, 0x7f7c12541c30}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f7c12541c30}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f7c12541c30}, NULL, 8) = 0
read(10, "#!/bin/sh\n/usr/lib/jvm/java-1.7."..., 8192) = 156
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGC
HLD,
child_tidptr=0x7f7c12ad8a10) = 5542
wait4(-1, [20141122 23:08:18.220] Loading configuration file etc/oro-server/oro.conf...[20141122 23:08:18.222] No config file. Check "etc/oro-server/oro.conf" exists.
[{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 5542
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=5542, si_status=1, si_utime=11, si_stime=1} ---
rt_sigreturn() = 5542
read(10, "", 8192) = 0
exit_group(1) = ?
+++ exited with 1 +++
Donc bon
(Merci)
Up (Même si je suis pas en bas de page...)
Essaye de mettre un lien symbolique "etc" vers le répertoire /opt/openrobots/etc/ dans /opt/openrobots/bin/ de sorte à avoir /opt/openrobots/bin/etc/oro-server/oro.conf
C'est ce que m'inspire https://github.com/severin-lemaignan/oro-server/blob/master/Makefile
En fait le chemin est défini en dur ici : https://github.com/severin-lemaignan/oro-server/blob/master/src/laas/openrobots/ontology/OroServer.java
Si c'est ça, une solution serait d'ajouter le chemin au CLASSPATH
Autre solution, trouver l'emplacement du oro.conf de base et lancer le script en passant le chemin absolu en argument :
$ oro-server /opt/openrobots/etc/oro-server/oro.conf
T'es un dieu Merci