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

List:       kde-buildsystem
Subject:    kdelibs build broken on OS X and Linux
From:       ralf.habacker () freenet ! de (Ralf Habacker)
Date:       2006-04-08 22:48:24
Message-ID: 44383DB8.6000503 () freenet ! de
[Download RAW message or body]

Ralf Habacker schrieb:
> Alexander Neundorf schrieb:
> 
> > Hi Ralf,
> > 
> > this commit
> > http://websvn.kde.org/trunk/KDE/kdelibs/kjsembed/kjsembed/static_binding.cpp?rev=527588&r1=521795&r2=527588
> >  breaks the build on UNIX
> > 
> > This is what I get on Linux:
> > 
> > cd /home/alex/src/kde4-svn/kdelibs-build/kjsembed/kjsembed && /usr/bin/c++  
> > -fPIC  -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align 
> > -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings 
> > -Wformat-security -fno-exceptions -fno-check-new -fno-common -O2 -g 
> > -Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc -shared 
> > -Wl,-soname,libkjsembed.so.1 -o ../../lib/libkjsembed.so.1.0.0 
> > "CMakeFiles/kjsembed.dir/global.o" 
> > "CMakeFiles/kjsembed.dir/binding_support.o" 
> > "CMakeFiles/kjsembed.dir/static_binding.o" 
> > "CMakeFiles/kjsembed.dir/value_binding.o" 
> > "CMakeFiles/kjsembed.dir/object_binding.o" 
> > "CMakeFiles/kjsembed.dir/builtins.o" "CMakeFiles/kjsembed.dir/fileio.o" 
> > "CMakeFiles/kjsembed.dir/jseventmapper.o" 
> > "CMakeFiles/kjsembed.dir/eventproxy.o" "CMakeFiles/kjsembed.dir/slotproxy.o" 
> > "CMakeFiles/kjsembed.dir/jseventutils.o" 
> > "CMakeFiles/kjsembed.dir/qobject_binding.o" 
> > "CMakeFiles/kjsembed.dir/kjsembed.o" 
> > "CMakeFiles/kjsembed.dir/scalar_binding.o" 
> > "CMakeFiles/kjsembed.dir/iosupport.o" 
> > "CMakeFiles/kjsembed.dir/qwidget_binding.o" 
> > "CMakeFiles/kjsembed.dir/widgetfactory.o" 
> > "CMakeFiles/kjsembed.dir/qformbuilder_binding.o" 
> > "CMakeFiles/kjsembed.dir/qpainter_binding.o" 
> > "CMakeFiles/kjsembed.dir/settings.o" "CMakeFiles/kjsembed.dir/svg_binding.o" 
> > "CMakeFiles/kjsembed.dir/filedialog_binding.o" 
> > "CMakeFiles/kjsembed.dir/brush.o" "CMakeFiles/kjsembed.dir/color.o" 
> > "CMakeFiles/kjsembed.dir/dom.o" "CMakeFiles/kjsembed.dir/font.o" 
> > "CMakeFiles/kjsembed.dir/image.o" "CMakeFiles/kjsembed.dir/pen.o" 
> > "CMakeFiles/kjsembed.dir/pixmap.o" "CMakeFiles/kjsembed.dir/point.o" 
> > "CMakeFiles/kjsembed.dir/rect.o" "CMakeFiles/kjsembed.dir/size.o" 
> > "CMakeFiles/kjsembed.dir/url.o"  -L/usr/local/lib 
> > -L/home/alex/src/kde4-svn/kdelibs-build/lib/. 
> > -L/home/alex/src/kde4-svn/kdelibs-build/lib -L/usr/lib/qt4/lib 
> > -L/usr/X11R6/lib -lQtCore -lpthread -lkdecore -lQtSvg -lQtXml -lQtDesigner 
> > -lkjs -lkdecore -lQt3Support -lQtGui -lSM -lICE -lSM -lICE -lX11 -lXext -lXau 
> > -lXdmcp -lXpm -lX11 -lXext -lXau -lXdmcp -lXpm -lutil -lDCOP -lQtCore 
> > -lpthread -lz -lbz2 -lresolv -ldl -lXtst -lm -lpcre -lpcreposix
> > CMakeFiles/kjsembed.dir/kjsembed.o(.text+0x0): In function 
> > `KJS::UString::UString[not-in-charge](QString const&)':
> > /home/alex/src/kde4-svn/kdelibs/kjsembed/kjsembed/kjsembed.cpp:69: multiple 
> > definition of `KJS::UString::UString[not-in-charge](QString const&)'
> > CMakeFiles/kjsembed.dir/static_binding.o(.text+0xd20):/home/alex/src/kde4-svn/kdelibs/kjsembed/kjsembed/static_binding.cpp:140: \
> >  first defined here
> > /usr/lib/gcc-lib/i486-slackware-linux/3.3.6/../../../../i486-slackware-linux/bin/ld: \
> >                 
> > Warning: size of symbol `KJS::UString::UString[not-in-charge](QString 
> > const&)' changed from 190 in CMakeFiles/kjsembed.dir/static_binding.o to 212 
> > in CMakeFiles/kjsembed.dir/kjsembed.o
> > CMakeFiles/kjsembed.dir/kjsembed.o(.text+0xe0): In function `KJS::JSObject* 
> > KJSEmbed::createQObject<QObject>(KJS::ExecState*, QObject*, 
> > KJSEmbed::ObjectBinding::Ownership)':
> > /home/alex/src/kde4-svn/kdelibs/kjsembed/kjsembed/kjsembed.cpp:69: multiple 
> > definition of `KJS::UString::UString[in-charge](QString const&)'
> > CMakeFiles/kjsembed.dir/static_binding.o(.text+0xde0):/home/alex/src/kde4-svn/kdelibs/kjsembed/kjsembed/static_binding.cpp:140: \
> >  first defined here
> > /usr/lib/gcc-lib/i486-slackware-linux/3.3.6/../../../../i486-slackware-linux/bin/ld: \
> >                 
> > Warning: size of symbol `KJS::UString::UString[in-charge](QString const&)' 
> > changed from 190 in CMakeFiles/kjsembed.dir/static_binding.o to 212 in 
> > CMakeFiles/kjsembed.dir/kjsembed.o
> > CMakeFiles/kjsembed.dir/kjsembed.o(.text+0x1c0): In function `KJS::JSObject* 
> > KJSEmbed::createQObject<QObject>(KJS::ExecState*, QObject*, 
> > KJSEmbed::ObjectBinding::Ownership)':
> > /home/alex/src/kde4-svn/kdelibs/kjsembed/kjsembed/kjsembed.cpp:77: multiple 
> > definition of `KJS::UString::qstring() const'
> > CMakeFiles/kjsembed.dir/static_binding.o(.text+0xea0):/home/alex/src/kde4-svn/kdelibs/kjsembed/kjsembed/static_binding.cpp:148: \
> >  first defined here
> > CMakeFiles/kjsembed.dir/kjsembed.o(.text+0x220): In function `KJS::JSObject* 
> > KJSEmbed::createQObject<QObject>(KJS::ExecState*, QObject*, 
> > KJSEmbed::ObjectBinding::Ownership)':
> > /home/alex/src/kde4-svn/kdelibs/kjsembed/kjsembed/kjsembed.cpp:82: multiple 
> > definition of `KJS::Identifier::qstring() const'
> > CMakeFiles/kjsembed.dir/static_binding.o(.text+0xf00):/home/alex/src/kde4-svn/kdelibs/kjsembed/kjsembed/static_binding.cpp:153: \
> >  first defined here
> > collect2: ld returned 1 exit status
> > make[2]: *** [lib/libkjsembed.so.1.0.0] Error 1
> > 
> > I.e. the linker finds two definitions of KJS::UString::UString[not-in-charge]
> > (QString const&).
> > 
> > It seems the same happens on OS X:
> > 
> > ld: multiple definitions of symbol __ZNK3KJS10Identifier7qstringEv
> > CMakeFiles/kjsembed.dir/static_binding.o definition of 
> > __ZNK3KJS10Identifier7qstringEv in section (__TEXT,__text)
> > CMakeFiles/kjsembed.dir/kjsembed.o definition of 
> > __ZNK3KJS10Identifier7qstringEv in section (__TEXT,__text)
> > ld: multiple definitions of symbol __ZNK3KJS7UString7qstringEv
> > CMakeFiles/kjsembed.dir/static_binding.o definition of 
> > __ZNK3KJS7UString7qstringEv in section (__TEXT,__text)
> > CMakeFiles/kjsembed.dir/kjsembed.o definition of __ZNK3KJS7UString7qstringEv 
> > in section (__TEXT,__text)
> > /usr/bin/libtool: internal link edit command failed
> > 
> > So, it seems you commit wasn't exactly perfect ;-)
> > 
> > 
> Thanks for this pointer. It is fixed in cvs. :-)
> 
s/cvs/svn/g

BTW: I have tried to build kdelibs after a longer period from scratch, 
seems to work good on mingw. Nice work. :-)

> > Bye
> > Alex
> > 
> > 
> 
> _______________________________________________
> Kde-buildsystem mailing list
> Kde-buildsystem at kde.org
> https://mail.kde.org/mailman/listinfo/kde-buildsystem
> 


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

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