[gobolinux-users] Compile KDE-Base fails (again) in Rootless: "apps/dcopidlng/kalyptus": No such file or directory

Lucas C. Villa Real lucasvr at gobolinux.org
Tue Mar 6 04:23:41 UTC 2007


On 3/6/07, mpb <mpb.mail at gmail.com> wrote:
> On 3/6/07, Lucas C. Villa Real <lucasvr at gobolinux.org> wrote:
> > I'm thinking here. It could be possible that your readlink
> > implementation simply returns 'Shared' as the result of `readlink -f`
> > inside /Programs/Foo/Version (instead of the full path), which can be
> > the problem you're facing. Can you test if adding "$current/Shared"
> > works for you? I think you've found the bug.
>
> readlink returns the empty string.  I don't know why.  If there is no
> symlink in the path, readlink returns the empty string.

readlink (without -f) also returns the empty string for me.

> "$current/Shared" does fix the problem.

Ok, I'll commit that change. Thanks for the fix.

> Why do our readlink implementations differ?
>
> On my system readlink -f only works on absolute paths.  Is this a bug
> in readlink?

Seems to be. This is a little part of the trace of 'strace readlink -f
foo', where foo is a dir:

lucasvr at Ummagumma ~]strace readlink -f foo 2>&1 | grep foo
execve("/System/Links/Executables/readlink", ["readlink", "-f",
"foo"], [/* 52 vars */]) = 0
lstat64("/Users/lucasvr/foo", {st_mode=S_IFDIR|0775, st_size=48, ...}) = 0
write(1, "/Users/lucasvr/foo\n", 19/Users/lucasvr/foo

And this is without -f:

lucasvr at Ummagumma ~]strace readlink foo 2>&1 | grep foo
execve("/System/Links/Executables/readlink", ["readlink", "foo"], [/*
52 vars */]) = 0
readlink("foo", 0x804d068, 1025)        = -1 EINVAL (Invalid argument)

Does your call to 'readlink -f' use the lstat64 syscall?

-- 
Lucas
powered by /dev/dsp


More information about the gobolinux-users mailing list