startkde - Error creating tmp directory on 1st kde4 login.

Allen Winter winter at kde.org
Tue Oct 30 12:26:22 GMT 2007


On Tuesday 30 October 2007 05:44:09 Dmitry Suzdalev wrote:
> On Tuesday 30 October 2007 09:58:35 lexual wrote:
> > Here's the error I get when trying to run kde4 for 1st time :
> >
> > Link points to "/tmp/MYUSERNAME-kde4/kde-MYUSERNAME"
> > Creating link /home/MYUSERNAME/.kde4/cache-MYHOST.MYDOMAIN.
> > Error: cannot create directory
> > "/var/tmp/MYUSERNAME-kde4/kdecache-MYUSERNAME": No such file or directory
> > startkde: Call to lnusertemp failed (temporary directories full?). Check
> > your installation.
> >
> > I need to manually run this command to be able to login.:
> >
> > mkdir /var/tmp/MYUSERNAME-kde4
>
> Oh nice. I sometimes get this error and just can't find why.
> I'd be glad if someone would tell me what it depends on. Can't guess :)
>
> Solution is the same for me: create dir and (re-)startkde.
>

Explanation:

startkde uses lnusertmp to create the subdirs in /tmp and /var/tmp, if 
necessary. lnusertmp uses the mkdir() system call to do this.  But the mkdir()
system call does not know how to create a full path; it can only create a
directory in a path that already exists.  i.e. lnusertmp really needs to use
'mkdir -p <path>' or system("mkdir -p <path>").  I'm not sure that the
-p option for mkdir is fully portable.

In any event, as dfaure points out, you shouldn't need to set $KDEVARTMP 
anyway.








More information about the kde-core-devel mailing list