Opened 15 years ago

Closed 15 years ago

#20116 closed defect (invalid)

kdelibs4 won't link

Reported by: mike4004@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: Cc: astricker@…
Port: kdelibs4

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Hello I tried to install amarok and get an error at linking kdelibs4....hope some one could help me.

--->  Building kdelibs4
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_kde_kdelibs4/work/build" && make all " returned error 2
Command output: ld warning: QString::~QString()has different visibility (default) in /usr/lib/libQtUiTools.a(textbuilder.o) and (hidden) in CMakeFiles/kjsembed.dir/jseventmapper.o
ld warning: QString::~QString()has different visibility (default) in /usr/lib/libQtUiTools.a(formbuilderextra.o) and (hidden) in CMakeFiles/kjsembed.dir/jseventmapper.o
ld warning: QList<QString>::free(QListData::Data*)       has different visibility (default) in /usr/lib/libQtUiTools.a(formbuilderextra.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QList<QString>::~QList() has different visibility (default) in /usr/lib/libQtUiTools.a(formbuilderextra.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QString::~QString()has different visibility (default) in /usr/lib/libQtUiTools.a(resourcebuilder.o) and (hidden) in CMakeFiles/kjsembed.dir/jseventmapper.o
ld warning: QString::~QString()has different visibility (default) in /usr/lib/libQtUiTools.a(ui4.o) and (hidden) in CMakeFiles/kjsembed.dir/jseventmapper.o
ld warning: QList<QString>::free(QListData::Data*)       has different visibility (default) in /usr/lib/libQtUiTools.a(ui4.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QList<QString>::detach_helper()       has different visibility (default) in /usr/lib/libQtUiTools.a(ui4.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QList<QString>::append(QString const&)has different visibility (default) in /usr/lib/libQtUiTools.a(ui4.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QList<QString>::~QList() has different visibility (default) in /usr/lib/libQtUiTools.a(ui4.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QString::~QString()has different visibility (default) in /usr/lib/libQtUiTools.a(properties.o) and (hidden) in CMakeFiles/kjsembed.dir/jseventmapper.o
ld warning: QList<QString>::free(QListData::Data*)       has different visibility (default) in /usr/lib/libQtUiTools.a(properties.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QList<QString>::detach_helper()       has different visibility (default) in /usr/lib/libQtUiTools.a(properties.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QList<QString>::~QList() has different visibility (default) in /usr/lib/libQtUiTools.a(properties.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QColor qvariant_cast<QColor>(QVariant const&)has different visibility (default) in /usr/lib/libQtUiTools.a(properties.o) and (hidden) in CMakeFiles/kjsembed.dir/qobject_binding.o
ld warning: QBrush qvariant_cast<QBrush>(QVariant const&)has different visibility (default) in /usr/lib/libQtUiTools.a(properties.o) and (hidden) in CMakeFiles/kjsembed.dir/pen.o
ld warning: QStringList qvariant_cast<QStringList>(QVariant const&)has different visibility (default) in /usr/lib/libQtUiTools.a(properties.o) and (hidden) in CMakeFiles/kjsembed.dir/variant_binding.o
ld warning: QFont qvariant_cast<QFont>(QVariant const&)has different visibility (default) in /usr/lib/libQtUiTools.a(properties.o) and (hidden) in CMakeFiles/kjsembed.dir/font.o
Undefined symbols:
  "QBoxLayout::stretch(int) const", referenced from:
      __ZNK10QBoxLayout7stretchEi$non_lazy_ptr in libQtUiTools.a(formbuilderextra.o)
  "QBoxLayout::setStretch(int, int)", referenced from:
      __ZN10QBoxLayout10setStretchEii$non_lazy_ptr in libQtUiTools.a(formbuilderextra.o)
  "QString::compare_helper(QChar const*, int, QChar const*, int, Qt::CaseSensitivity)", referenced from:
      QStringRef::compare(QString const&, Qt::CaseSensitivity) constin libQtUiTools.a(abstractformbuilder.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [lib/libkjsembed.4.2.0.dylib] Error 1
make[1]: *** [kjsembed/kjsembed/CMakeFiles/kjsembed.dir/all] Error 2
make: *** [all] Error 2

Error: The following dependencies failed to build: kdebase4-runtime kdelibs4 kdepimlibs4 akonadi boost boost-jam gmake gpgme gnupg libgpg-error pth libical openldap db44 qimageblitz libmp4v2 mysql5-devel taglib-devel
Error: Status 1 encountered during processing.

Attachments (2)

output.txt (66.2 KB) - added by mike4004@… 15 years ago.
sudo port -v build kdelibs4 #output
output2.txt (58.1 KB) - added by mike4004@… 15 years ago.

Download all attachments as: .zip

Change History (16)

comment:1 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Port: kdelibs4 added

comment:2 Changed 15 years ago by astricker@…

Hmm looks somehow familiar like a moc file is missing, but I can't reproduce. Can you please rerun the build with verbosity turned on?

sudo port -v build kdelibs4

Then paste the g++ command triggering this error (two or three huge lines before the error is triggered).

comment:3 Changed 15 years ago by astricker@…

Cc: astricker@… added

Cc Me!

Changed 15 years ago by mike4004@…

Attachment: output.txt added

sudo port -v build kdelibs4 #output

comment:4 Changed 15 years ago by mike4004@…

Hello

I attached the new output but can't find an error in init.

Hope you have a Idea how I could solve this problem.

best regards, mike

comment:5 Changed 15 years ago by astricker@…

Well in the last linking command (the one that failed), it tries to link against /usr/lib/libQtUiTools.a. MacPorts Qt is usually located at /opt/local/libexec/qt-mac/, so this seems to be a conflict with another installed Qt version.

On my mac there is also this library located at /usr/lib/libQtUiTools.a, this should not be the root cause. The real cause is that the build process choose this library at this path.

Do you have a recent ports environment? Did you recently sync and rebuilt all ports kdelibs4 depends of? You may try:

sudo port -v upgrade cmake automoc gmake qt4-mac

comment:6 Changed 15 years ago by mike4004@…

Hello

you are totaly right I installed the sdk of qt4 so that might be my fault.

I tried to remove the sdk and restart but it still returns this error....

and the port gmake and qt4-mac is not installed should i? (i will try)

best regards, mike

comment:7 Changed 15 years ago by astricker@…

It should be totally ok to have another version of Qt installed (see my previous post). The kdelibs4 macport should choose the right one (qt4-mac).

If I look at your output.txt again it seems like you have installed qt4-kde, not qt4-mac, as the Qt frameworks are specified with the -F/opt/local/libexec/qt4-kde/lib path. This looks like an outdated port repository. Did you run a successful sync?:

sudo port -v sync

With a recent Portfile kdelibs4 build depends on qt4-mac.

comment:8 Changed 15 years ago by mike4004@…

I'm compiling qt4-mac now but this takes time....

oh and after this how could I trigger a new configuration of kdelibs4?

best regards, mike

comment:9 Changed 15 years ago by mike4004@…

now qt4-mac is compiled and installed. But there are still errors I added a new output.txt

Oh I think this errors appear after the deinstallation of the qtsdk.

oh and I made a sudo port -v sync

best regards, mike

Changed 15 years ago by mike4004@…

Attachment: output2.txt added

comment:10 Changed 15 years ago by astricker@…

Alright, it still want to link against /usr/lib/libQtUiTools.a, but this time it's gone. Maybe a clean build fixes this?:

sudo port -v clean
sudo port -v install kdelibs4

comment:11 Changed 15 years ago by mike4004@…

Hi

sorry but cleaning don't work....

{{ sudo port -v clean Can't map the URL 'file://.' to a port description file ("Could not find Portfile in /Users/manhunt"). Please verify that the directory and portfile syntax are correct. To use the current port, you must be in a port's directory. (you might also see this message if a pseudo-port such as outdated or installed expands to no ports). }}

comment:12 Changed 15 years ago by astricker@…

Oops I forgot the portname to clean:

sudo port -v clean kdelibs4
sudo port -v install kdelibs4

comment:13 Changed 15 years ago by mike4004@…

Thank you the Problem is solved. The cleaning helped...

Best regards, mike

comment:14 Changed 15 years ago by mf2k (Frank Schima)

Resolution: invalid
Status: newclosed

Glad you got it working.

Note: See TracTickets for help on using tickets.