trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: May 2011

Re: [trinity-devel] Qt3 - No Longer Builds (multiple boxes) libkdecore.so.4: undefined symbol: _ZN7KGlobal20deleteStaticDeletersEv

From: /dev/ammo42 <mickeytintincolle@...>
Date: Tue, 10 May 2011 20:18:09 +0200
Le Tue, 10 May 2011 13:35:22 -0430,
PICCORO McKAY Lenz <mckaygerhard@...> a écrit :

> interesting the slack issues..
> 
> wel in any way, ARCH wiki about trinity said that build kde3 or qt3
> trinity must be in clean env..
> 
> but maybe the conflicts of tools and references in objects cause to
> change specific paths to /opt resulting in no errors references..
> 
> the error:
> 
> ../../../include/qimage.h: In member function ‘bool
> QImageTextKeyLang::operator<(const QImageTextKeyLang&) const’:
> ../../../include/qimage.h:61:61: warning: suggest parentheses around
> ‘&&’ within ‘||’ [-Wparentheses]
> 
> seen related to patch "qt3-warnings.diff" in
> https://build.opensuse.org/package/view_file?file=qt3-warnings.diff&package=qt3&project=KDE%3AKDE3&srcmd5=debe4368fe51c3bcd86162716a0d3f8b
> that i currently analising, seen comparision are ambiguos..  please
> some one can clarify this patch realted to this error?
This isn't an error but "undefined behaviour" (so the C++ standard
doesn't forbid gcc from doing rm -rf / :D).
In fact, in C and C++, the && and || operator have the same precedence,
so the (a || b && c) statement is ambiguous.
With some (very) basic knowledge in CS, one easily sees that in this
particular case the right thing to do is
key < other.key || (key==other.key && lang < other.lang)
because it is a lexicographical sort of the pair (key,lang). The
(key < other.key || key==other.key) && lang < other.lang
interpretation doesn't make sense.
The patch just adds the parentheses that were missing from the original
code.
> 
> On 5/10/11, /dev/ammo42 <mickeytintincolle@...> wrote:
> > Le Tue, 10 May 2011 12:01:17 -0500,
> > "David C. Rankin" <drankinatty@...> a écrit :
> >
> >> Guys,
> >>
> >>    This is bizarre. I went to build Qt3 this morning, applied a new
> >> patch, and Qt3 wouldn't compile. So I removed the patch just to
> >> make sure nothing on the system had changed to prevent building
> >> and -- I STILL GET THE ERROR??
> >>
> >>    So I went to a box where Qt3 built a day or so ago which still
> >> had the Qt3 build directory in place from the last time it built
> >> and went to build it again
> >> - I get the same symbol lookup error.
> >>
> >>    The only thing that changes was qt 4.7.3-1 was pulled in as a
> >> dependency of poppler-qt when I attempted to build kdegraphics with
> >> -DWITH_PDF=ON.  I thought Qt3 would build fine with Qt4 installed?
> >> Is this something new with the new version?
> >>
> >>    The symbol error has me scratching my head. I can't for the life
> >> of me figure out what this error is telling me:
> >>
> >> g++ -c -pipe -fPIC -Wall -W -march=i686 -mtune=generic -O2 -pipe
> >> -D_REENTRANT -DDESIGNER -DQT_INTERNAL_XML -DQT_INTERNAL_WORKSPACE
> >> -DQT_INTERNAL_ICONVIEW -DQT_INTERNAL_TABLE -DQT_NO_DEBUG
> >> -DQT_THREAD_SUPPORT -DQT_SHARED
> >> -I/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/mkspecs/linux-g++
> >> -I. -I/usr/include/freetype2 -I../shared -I../uilib
> >> -I../../../include -I/usr/X11R6/include -I.moc/release-shared-mt/
> >> -o ./editfunctions.o
> >> editfunctions.cpp
> >> /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/bin/uic
> >> -L /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/plugins
> >> newform.ui -i newform.h -o newform.cpp g++ -c -pipe -fPIC -Wall -W
> >> -march=i686 -mtune=generic -O2 -pipe -D_REENTRANT -DDESIGNER
> >> -DQT_INTERNAL_XML -DQT_INTERNAL_WORKSPACE -DQT_INTERNAL_ICONVIEW
> >> -DQT_INTERNAL_TABLE -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED
> >> -I/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/mkspecs/linux-g++
> >> -I. -I/usr/include/freetype2 -I../shared -I../uilib
> >> -I../../../include -I/usr/X11R6/include -I.moc/release-shared-mt/
> >> -o ./newform.o newform.cpp In file included
> >> from ../../../include/qdragobject.h:50:0,
> >> from ../../../include/qiconview.h:51, from
> >> newform.cpp:13: ../../../include/qimage.h: In member function ‘bool
> >> QImageTextKeyLang::operator<(const QImageTextKeyLang&)
> >> const’: ../../../include/qimage.h:61:61: warning: suggest
> >> parentheses around ‘&&’ within
> >> ‘||’ [-Wparentheses]
> >> /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/bin/uic
> >> -L /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/plugins
> >> listvieweditor.ui -i listvieweditor.h -o
> >> listvieweditor.cpp
> >> /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/bin/uic:
> >> symbol lookup error: /opt/trinity/lib/libkdecore.so.4: undefined
> >> symbol: _ZN7KGlobal20deleteStaticDeletersEv make[4]: ***
> >> [listvieweditor.cpp] Error 127 make[4]: Leaving directory
> >> `/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/tools/designer/designer'
> >> make[3]: *** [sub-designer] Error 2
> >> make[3]: Leaving directory
> >> `/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/tools/designer'
> >> make[2]: *** [sub-designer] Error 2
> >> make[2]: Leaving directory
> >> `/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/tools'
> >> make[1]: *** [sub-tools] Error 2
> >> make[1]: Leaving directory
> >> `/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b' make: ***
> >> [init] Error 2 ==> ERROR: A failure occurred in build().
> >>      Aborting...
> >>
> >>    I get that it is a uic symbol lookup error:
> >>
> >> /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/bin/uic:
> >> symbol lookup error: /opt/trinity/lib/libkdecore.so.4: undefined
> >> symbol: _ZN7KGlobal20deleteStaticDeletersEv
> >>
> >>    How does one fix a symbol lookup error like this?
> >>
> >>    Also why does the Qt3 build even look
> >> to /opt/trinity/lib/libkdecore.so.4? How can I prevent this from
> >> happening? This built fine before the Qt4 package installed. Short
> >> of removing Qt4, what is the best way to try and fix this?
> > It works for me™.
> > I am using a slightly modified version of the Slackware-originated
> > SlackBuild that can be found at
> > ftp://ftp.gwdg.de/pub/linux/slackware/unsupported/kde-3.5.10-for-slack13.0/source/qt3/
> > This is a unusual SlackBuild, because it builds qt3 in /opt/kde3
> > (Patrick Volderking says in the scripts that building it in /tmp
> > frequently led to wrong packages).
> > Also, I posted my own version recently on the list, it is
> > essentially the same with additional patches.
> > I am building Trinity under Slackware 13.37 with full KDE4 alongside
> > (KDE4 is my main desktop now, no kidding), and:
> > -dependencies such as qt3, qca and poppler-qt3 compile with the
> > unsupported scripts from the Slackware mirrors, with /opt/kde3
> > prefix -arts, dbus-tqt, dbus-1-tqt, tqtinterface compile without
> > errors, with /opt/kde3 prefix
> > -kdebase and kdelibs also compile without errors, still
> > in /opt/kde3, but when I launch any KDE3 program, it doesn't manage
> > to load any library in /opt/kde3/lib/kde3.
> > However, when I built qt3, Trinity was not installed, but only KDE4.
> > I will put the build scripts and the patches online when I have more
> > time (==soon), right now I have my exams. The patches basically fix
> > kconfig_compiler detection (with the SVN version it uses the KDE4
> > one) and enforce the use of dbus-tqt.pc for the build of kdebase.
> >>
> >>    The build script is here:
> >>
> >> http://svn.trinitydesktop.org/svn/trinity-packaging/arch/master/trinity-qt3/PKGBUILD
> >>
> >>    The Qt3 package built fine when I uploaded it a day ago:
> >>
> >> http://svn.trinitydesktop.org/svn/trinity-packaging/arch/master/src/trinity-qt3.tar.gz
> >>
> >>    Any help appreciated :)
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > trinity-devel-unsubscribe@... For additional
> > commands, e-mail: trinity-devel-help@...
> > Read list messsages on the Web archive:
> > http://trinity-devel.pearsoncomputing.net/
> > Please remember not to top-post:
> > http://trinity.pearsoncomputing.net/mailing_lists/#top-posting
> >
> >
> 
>