realpath Problem
Maik Holtkamp
s-y-l at gmx.net
Mon Jul 9 00:29:02 CEST 2001
Hallo,
ich habe ein Problem beim Aufruf von make dep:
---schnipp---
root at syl:/usr/src/linux > make dep
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I/include -o
scripts/mkdep scripts/mkdep.c
make[1]: Entering directory
`/usr/src/linux-2.4.6.SuSE/arch/i386/boot'
make[1]: Nothing to be done for `dep'.
make[1]: Leaving directory
`/usr/src/linux-2.4.6.SuSE/arch/i386/boot'
scripts/mkdep -- init/*.c > .depend
realpath(/include) failed, No such file or directory
make: *** [dep-files] Error 1
---schnapp---
Ich habe es auch schon mit dem Orginalen kernel versucht, leider
ohne Erfolg :(.
Ein strace auf make dep liefert einige:
---schnipp---
stat64("scripts/RCS", 0xbfffd66c) = -1 ENOENT (No such file or
directory)
stat64("scripts/SCCS", 0xbfffd66c) = -1 ENOENT (No such file or
directory)
---schanpp---
und laut man realpath bedeutet ein ENOENT:
---schnipp---
ENOENT The named file does not exist.
---schnapp---
von /usr/src/linux/scripts/mkdep.c wird realpath hierin aufgerufen:
---schnipp---
void add_path(const char * name)
{
struct path_struct *path;
char resolved_path[PATH_MAX+1];
const char *name2;
if (strcmp(name, ".")) {
name2 = realpath(name, resolved_path);
if (!name2) {
fprintf(stderr, "realpath(%s) failed, %m\n", name);
exit(1);
}
}
else {
name2 = "";
}
path_array = realloc(path_array,
(++paths)*sizeof(*path_array));
if (!path_array) {
fprintf(stderr, "cannot expand path_arry\n");
exit(1);
}
path = path_array+paths-1;
path->len = strlen(name2);
path->buffer = malloc(path->len+1+256+1);
if (!path->buffer) {
fprintf(stderr, "cannot allocate path buffer\n");
exit(1);
}
strcpy(path->buffer, name2);
if (path->len && *(path->buffer+path->len-1) != '/') {
*(path->buffer+path->len) = '/';
*(path->buffer+(++(path->len))) = '\0';
}
}
---schnapp---
Schaut so aus, dass mein Problem schon im ersten if-Zweig liegt,
aber ich kann kein C :(.
Die Quellen liegen unter /usr/src/linux-2.4.6.SuSE bzw.
/usr/src/linux-2.4.6.
Mit ln -s habe ich einen Softlink nach /usr/src/linux erstellt und
bin jetzt mit meinem Latein am Ende :(. Freue mich über jeden
Hinweis.
TIA.
--
- maik
More information about the Linux
mailing list