[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: broken KDE installation (what'd I do?!)
From:       Dominik Haumann <dhdev () gmx ! de>
Date:       2007-04-09 18:49:02
Message-ID: 200704092049.02732.dhdev () gmx ! de
[Download RAW message or body]

On Monday 09 April 2007, David Faure wrote:
> On Saturday 07 April 2007, Dominik Haumann wrote:
> > On Tuesday 27 February 2007, Matthew Woehlke wrote:
> > > Matthew Woehlke wrote:
> > > > Yike! It looks like I broke something major yesterday when I did a
> > > > fresh 'make clean && make && make install' of kdelibs-3.5-svn. When
> > > > I try to run KWrite, I get the a dialog with the message:
> > > >
> > > > "A KDE text-editor component could not be found; please check your
> > > > KDE installation."
> > > >
> > > > ...and then it crashes with this:
> > > >
> > > > Using host libthread_db library "/lib/tls/libthread_db.so.1".
> > > > [Thread debugging using libthread_db enabled]
> > > > [New Thread -1208105280 (LWP 1864)]
> > > > [KCrash handler]
> > > > #6  0x00ff3214 in KWrite (this=0x8856888, doc=0x0) at
> > > > kwritemain.cpp:90 #7  0x00ff6cf6 in kdemain (argc=2,
> > > > argv=0xbff3ede4) at
> > > > kwritemain.cpp:660 #8  0x080486b2 in main (argc=2, argv=0xbff3ede4)
> > > > at kwrite.la.cpp:2
> >
> > I have the same issue now and did not figure out yet why.
>
> Which issue? katepart not found? Do you have it in
> $KDEDIR/share/kde4/services/katepart.desktop? The /kde4/ in there is new
> (since last Monday, a week ago).

The file exists. I did a clean build (removed kde4 installation and
build-dirs). Running kwrite in strace gives me

access("/home/dh/.kde-devel/kde4/lib/kde4/katepart.so", R_OK) = -1 ENOENT (No such file or directory)
access("/home/dh/kde/run/kde4/lib/kde4/katepart.so", R_OK) = 0
stat64("/home/dh/kde/run/kde4/lib/kde4/katepart.so", {st_mode=S_IFREG|0644, st_size=16788331, ...}) = 0
open("/home/dh/kde/run/kde4/lib/kde4/katepart.so", O_RDONLY) = 13

looks like katepart.so is found.

Running it in gdb shows that
  Editor *KTextEditor::editor(const char *libname)
returns 0, 'ef' is 0 here:
  KLibFactory *fact=KLibLoader::self()->factory("katepart");
  KTextEditor::Factory *ef=qobject_cast<KTextEditor::Factory*>(fact);
This should not be the case (I guess ;): katepart is the fallback component
and should always exist.

In KLibrary* KLibLoader::library( "katepart", ... ) wrap is 0, so
findLibrary("katepart",...) is called. This finally returns
"/home/dh/kde/run/kde4/lib/kde4/katepart.so", which is correct.

Later:
      QLibrary* handle = new QLibrary(libfile); // /home/.../katepart.so
      handle->setLoadHints(hint);
      if ( !handle->load() || !handle->isLoaded() )
      {
        d->errorMessage = handle->errorString();
        return 0;
      }

handle->load() somewhere leads to a 
pHnd = dlopen(QFile::encodeName(attempt), dlFlags); // attemp = "/home/.../katepart.so"
pHnd is still 0 after this.
Then, it tries /home/dh/kde/run/kde4/lib/kde4/libkatepart.so.
libkatepart.so does not exist.

Some lines later it says:
  QLibrary::load_sys: Cannot load /home/dh/kde/run/kde4/lib/kde4/katepart.so
  (/home/dh/kde/run/kde4/lib/kde4/libkatepart.so: Cannot open Shared-Object-file:
  No such file or directory)

The code in kwritemain.cpp cachtes this and then pops up the error message
"A KDE text-editor component could not be found; please check your KDE installation."

I'll rm -rf qt-copy now. I've no idea what's going wrong ;)

Dominik
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic