Bug 67668 - Impossible to load plugin
Summary: Impossible to load plugin
Status: RESOLVED NOT A BUG
Alias: None
Product: kopete
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
: 84748 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-11-09 16:47 UTC by Heinrich Wendel
Modified: 2004-07-09 12:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Heinrich Wendel 2003-11-09 16:47:22 UTC
Version:            (using KDE KDE 3.1.93)
Installed from:    Gentoo Packages
Compiler:          gcc-3.3 
OS:          Linux

Koepte searches for the plugins in /usr/lib/kde3 although they were installed along with kdenetwork in /usr/kde/3.2/lib/kde3.
Comment 1 Heinrich Wendel 2003-11-09 17:09:51 UTC
I found that i have defined KDEDIR=/usr/kde/3.2 and KDEDIRS=/usr. All kde applications, but kopete work with this. Is kopete using the correct behaviour or is this a bug?
Comment 2 Stefan Gehn 2003-11-09 17:15:27 UTC
KDEDIR is an outdated env var from KDE 2.x, KDEDIRS is the one you should set.
Kopete itself does not use these vars directly, it's kdelibs which does.
Gong to close this bug as invalid because it's a configuration-problem.

Maybe kdelibs folks should check if we still honor KDEDIR, it might be better to remove support for that.
Comment 3 Martijn Klingens 2003-11-09 17:25:08 UTC
$KDEDIR is still (unfortunately) supported in KDE 3.x, hopefully it will be gone in KDE 4.

Anyway, this is indeed a setup problem, and I *highly* doubt other apps work correctly as the submitter claims. The reason is that it is absolutely impossible to find resources like icons, XMLGUI or plugins with incorrect KDEDIRS settings.

Depending on the app it is of course possible that old-version icons or .rc files are being picked from the old dir, but that's still asking for trouble and means any new functionality is also lost.

Please fix your setup.

Martijn
Comment 4 Heinrich Wendel 2003-11-09 17:30:37 UTC
I'll fix it, but everything is working fine, kmail, knode, konqueror ... kopete can also find it's icons etc.
Comment 5 Martijn Klingens 2003-11-09 17:44:34 UTC
Subject: Re: [Kopete-devel]  Impossible to load plugin

On Sunday 09 November 2003 17:30, Heinrich Wendel wrote:
> I'll fix it, but everything is working fine, kmail, knode,
> konqueror ... kopete can also find it's icons etc.

Did you change something in $KDEDIRS after logging in to KDE or did you start 
Kopete _really_ fast after make install finished?

In that case run 'kbuildsycoca' manually and restart Kopete.

(The plugins are loaded from KDE's system configuration cache, it may have 
become outdated during your install. Logging in again should fix it as well. 
Other apps that use ksycoca should exhibit the same problem, basically any 
application that starts other apps based on the mime type and any app that 
implements plugins through KTrader.)

Comment 6 Heinrich Wendel 2003-11-09 17:59:56 UTC
I just compiled kde from the gentoo packages, everything but kopete worked fine, I even restarted the computer, no change.
Comment 7 Matt Rogers 2003-11-09 18:02:10 UTC
how did you compile it? did you unmask the beta packages from portage or did you use the cvs ebuilds?
Comment 8 Heinrich Wendel 2003-11-09 18:02:55 UTC
i unmasked the beta packages
Comment 9 Matt Rogers 2003-11-09 18:15:16 UTC
ok, i'll do the same and try it and report back.
Comment 10 Jason Clinton 2003-11-23 01:48:49 UTC
Matt, any word on this yet? I'm having the exact same problem also using the Gentoo -beta1 packages. I'm rather frightened by how quickly the developers dismissed this.

Comment 11 Jason Clinton 2003-11-23 02:00:46 UTC
Someone on the mailing list reported the same problem, too. http://lists.kde.org/?l=kopete-devel&m=106639742209508&w=2
Comment 12 Matt Rogers 2003-11-23 06:43:04 UTC
yeah, i couldn't reproduce it. However, I installed to a clean directory. you might want to do "find /usr | grep kopete", see what it comes up with and paste the result here. There's more than likely stale files laying around that shouldn't be there. (That's usually what it is). 

btw, sorry for taking awhile with this, life became very busy.
Comment 13 Will Stephenson 2003-11-23 10:21:36 UTC
I think you aren't supposed to define both KDEDIRS and KDEDIR.  Do things work better if you unset KDEDIR and set KDEDIRS to /usr/kde/3.2?
Comment 14 Martijn Klingens 2003-11-23 12:53:39 UTC
Subject: Re: [Kopete-devel]  Impossible to load plugin

On Sunday 23 November 2003 10:21, Will Stephenson wrote:
> I think you aren't supposed to define both KDEDIRS
> and KDEDIR.  Do things work better if you unset KDEDIR and set KDEDIRS to
> /usr/kde/3.2?

Won't matter actually.

Quoting from the API documentation of KStandardDirs:

   "KStandardDirs supports the following environment variables:

    * KDEDIRS: This may set an additional number of directory prefixes to
      search for resources. The directories should be separated by ':'.
      The directories are searched in the order they are specified.
    * KDEDIR: Used for backwards compatibility. As KDEDIRS but only a
      single directory may be specified. If KDEDIRS is set KDEDIR is
      ignored."

This says it all: the value of KDEDIR won't be used at all. If you want to 
search in both locations you should instead set KDEDIRS to both:

    export KDEDIRS=/usr:/usr/kde/3.2

Order is important here.

However, I doubt this would fix it. I'm more interested in the output of the 
find command that Matt mentioned.

Comment 15 Andreas Koop 2003-12-12 17:54:13 UTC
I had the same problem and it now works for me if I set KDEDIRS to '/usr/kde/3.2'.
Comment 16 Casey Allen Shobe 2004-07-09 06:27:40 UTC
*** Bug 84748 has been marked as a duplicate of this bug. ***
Comment 17 Gregorio Guidi 2004-07-09 12:34:37 UTC
From kstandarddirs.cpp:

    QString kdedirs = readEnvPath("KDEDIRS");
    if (!kdedirs.isEmpty())
    {
        tokenize(kdedirList, kdedirs, ":");
    }
    else
    {
        QString kdedir = readEnvPath("KDEDIR");
        if (!kdedir.isEmpty())
        {
           kdedir = KShell::tildeExpand(kdedir);
           kdedirList.append(kdedir);
        }
    }
    kdedirList.append(KDEDIR);

the "kdedirList.append(KDEDIR)" (KDEDIR is defined in kdelibs/config.h as what was passed to configure in --prefix) is what makes gentoo systems work.