By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 854

Summary: tdesdk: undefined symbol errors
Product: TDE Reporter: Darrell <darrella>
Component: tdesdkAssignee: Timothy Pearson <kb9vqf>
Status: RESOLVED FIXED    
Severity: major CC: bugwatch, darrella
Priority: P1    
Version: R14.0.0 [Trinity]   
Hardware: Other   
OS: Other   
Compiler Version: TDE Version String:
Application Version: Application Name:
Attachments: Patch to allow building kstartperf

Description Darrell 2012-02-11 23:02:02 CST
I'm building tdesdk from GIT.

When I run Kompare I receive the following dialog:

"Could not load our KompareViewPart."

X session output:

The Trinity ltdl loader was unable to dlopen() the shared library '/opt/trinity/lib/trinity/libkomparepart.so' : '/opt/trinity/lib/trinity/libkomparepart.so: undefined symbol: _ZTI15QSplitterHandle'
The Trinity ltdl loader was unable to dlopen() the shared library '/opt/trinity/lib/trinity/libkomparepart.so' : '/opt/trinity/lib/trinity/libkomparepart.so: undefined symbol: _ZTI15QSplitterHandle'

Kompare ran with no such errors in 3.5.13.

While troubleshooting that problem I ran across this in the tdesdk configure output:

checking if kstartperf should be compiled... no

Curious, I discovered that building kstartperf is disabled in the tdesdk root configure.in.in through the DO_NOT_COMPILE variable.

A little more searching revealed that this has been the default since 3.5.10.

Curious, I disabled the DO_NOT_COMPILE command and kstartperf built.

But doesn't run, seemingly to suffer from similar symbol errors. For example:

kstartperf kedit

kedit: symbol lookup error: /opt/trinity/lib/libkstartperf.so.1.0.0: undefined symbol: lt_dlopen

I tried setting --enable-gcc-hidden-visibility=no and yes. Also --disable-rpath.
Comment 1 Darrell 2012-02-11 23:09:28 CST
Created attachment 350 [details]
Patch to allow building kstartperf

I have no idea what kappgen is. The configure.in.in file is the only place the term appears.

With the patch I built kstartperf without errors, but as reported, can't run because of symbol errors.
Comment 2 Darrell 2012-02-19 18:14:46 CST
Recently the tdesdk cmake port was completed. As of Saturday Feb. 18, 2012, tdesdk builds without error against Qt3. The undefined symbol errors remain.

I can start kompare from the Alt-F2 Run dialog and kompare seems to run without incident, but when run from within konsole I see the undefined symbol errors.

Because of the port to cmake the kstartperf patch is not needed. As with automake and the patch, the command builds. Running the kstartperf command in konsole sometimes results in an undefined symbol errors.

Because the kstartperf command sometimes works without errors, I suspect the problem is a build issue elsewhere rather than directly with kstartperf.
Comment 3 Darrell 2012-03-12 19:27:44 CDT
I still see the same undefined symbol errors with kstartperf. I had hoped that the many changes and cleanup efforts in the source code would stop those errors.
Comment 4 Darrell 2012-03-13 13:35:05 CDT
The cmake conversion will build kstartperf, but the cmake conversion remains incomplete. Patching the automake files is necessary to build kstartperf.

Patch to build kstartperf with automake merged in GIT hash ade2dcaab426ff3aff7643cc4e719e698a18201b.

This patch does not resolve the undefined symbol errors when using kstartperf.
Comment 5 Darrell 2012-04-13 12:20:35 CDT
The kstartperf undefined symbol errors still exist in GIT:

kedit: symbol lookup error: /opt/trinity/lib/libkstartperf.so.1.0.0: undefined symbol: lt_dlopen

I suspect kstartperf is broken.
Comment 6 Darrell 2012-04-16 16:04:04 CDT
Bumping down to Major.
Comment 7 Timothy Pearson 2012-05-14 18:24:35 CDT
I don't see issues with kompare on Ubuntu with the latest GIT sources.  I have not yet had a chance to test kstartperf.
Comment 8 Darrell 2012-05-14 19:26:58 CDT
I haven't paid attention to this in a while. I just tested again.

I did see any undefined symbol error messages when running kompare from konsole. However, Comment 2 implies the problem occurs when building against Qt3 and not TQt3. I am unable to build tdebase against Qt3 (http://trinity-devel.pearsoncomputing.net/?0::7768), therefore I can't build tdesdk against Qt3 to verify whether the undefined symbol errors still exist.

When I run any app through kstartperf like this:

kstartperf kedit

I receive an error message like this:

kedit: symbol lookup error: /opt/trinity/lib/libkstartperf.so.1.0.0: undefined symbol: lt_dlope

This is with GIT short version 6050 built against TQt3.

I use automake rather than cmake to build tdesdk because of bug report 872. I don't know whether building cmake will resolve all of the above.
Comment 9 Darrell 2012-05-14 19:28:02 CDT
> I did see any undefined symbol error messages when running kompare from

Should be: I did not see....
Comment 10 Timothy Pearson 2012-05-14 19:39:40 CDT
This should be fixed in GIT hash 1de68cb.
Comment 11 Timothy Pearson 2012-05-14 19:49:52 CDT
(In reply to comment #10)
> This should be fixed in GIT hash 1de68cb.

CMake updated in GIT hash 411edb3.
Comment 12 Darrell 2012-05-14 22:10:32 CDT
Sure, push patches after I run a complete build set.... :-)

Okay, rebuilt tdesdk. Tested.

Looks resolved to me. Thanks!