Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#30642 closed defect (fixed)

kdelibs4 build error on lion

Reported by: hofione@… Owned by: nerdling (Jeremy Lavergne)
Priority: Normal Milestone:
Component: ports Version: 2.0.1
Keywords: lion Cc: sharky@…, michaelld (Michael Dickens), hofione@…, mkae (Marko Käning)
Port: kdelibs4

Description

:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.7.0/kjs/nodes.cpp:25:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.7.0/kjs/nodes.h:29:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.7.0/kjs/Parser.h:30:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.7.0/kjs/wtf/RefPtr.h:58:55: error: call to function 'adoptRef' that is neither visible in the template definition nor found by argument-dependent lookup
:info:build         PassRefPtr<T> release() { PassRefPtr<T> tmp = adoptRef(m_ptr); m_ptr = 0; return tmp; }
:info:build                                                       ^
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.7.0/kjs/nodes.h:340:57: note: in instantiation of member function 'WTF::RefPtr<KJS::ElementNode>::release' requested here
:info:build     PassRefPtr<ElementNode> releaseNext() { return next.release(); }
:info:build                                                         ^

Attachments (3)

main.log (539.5 KB) - added by hofione@… 13 years ago.
main.2.log (9.8 MB) - added by marksman@… 13 years ago.
port logfile kdelibs4
CMakeCache.txt (108.9 KB) - added by marksman@… 13 years ago.
port work kdelibs4/build/CMakeCache.txt

Change History (19)

comment:1 Changed 13 years ago by hofione@…

Cc: hofione@… added

Cc Me!

comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: sharky@… michaelld@… added; hofione@… removed
Owner: changed from macports-tickets@… to snc@…

As reporter you do not need to Cc yourself but you should Cc the port's maintainer(s).

comment:3 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

You should probably also attach the complete main.log.

Changed 13 years ago by hofione@…

Attachment: main.log added

comment:4 Changed 13 years ago by hofione@…

Cc: hofione@… added

Cc Me!

comment:5 Changed 13 years ago by nerdling (Jeremy Lavergne)

I see clang in the log, so that is likely the root cause. Just in case, please attach the full log (it doesn't have the configure phase) and the CMakeCache file:

sudo port clean kdelibs4
sudo port build kdelibs4 build.jobs=1

These are the files to attach:

port logfile
echo `port work kdelibs4`/build/CMakeCache.txt

comment:6 Changed 13 years ago by nerdling (Jeremy Lavergne)

that is, port logfile kdelibs4

comment:7 Changed 13 years ago by hofione@…

sorry could not build now because of break in kerberos5 build. Is it possible to build without dependencies?

comment:8 Changed 13 years ago by nerdling (Jeremy Lavergne)

It's possible to build without dependencies but then parts of KDE will get automatically disabled, or we've forced some functions to build and they'll break. When you can build again please update the ticket.

Changed 13 years ago by marksman@…

Attachment: main.2.log added

port logfile kdelibs4

Changed 13 years ago by marksman@…

Attachment: CMakeCache.txt added

port work kdelibs4/build/CMakeCache.txt

comment:9 Changed 13 years ago by marksman@…

I'm having the same problems, and attached the requested log files

comment:10 Changed 13 years ago by nerdling (Jeremy Lavergne)

marksman: can you clean your build dir and try again with the compiler changed to llvm-gcc4.2? You can do so like this:

sudo port clean kdelibs4
sudo port build kdelibs configure.compiler=llvm-gcc-4.2

One possibility is that clang isn't happy with the class code that KDE ships. Even gcc has choked on their code at times, requiring extra parenthesis so it could figure out templates.

comment:11 Changed 13 years ago by nerdling (Jeremy Lavergne)

I left out the 4 in the second command, should be kdelibs4.

comment:12 Changed 13 years ago by nerdling (Jeremy Lavergne)

I see nothing wrong in the CMakeCache, but it did show that clang is being used.

I'm assuming it's a compiler issue since I can build it just fine using llvm-gcc.

If you can verify that switching compilers does fix the issue, then I can tell the portfile to always switch the compiler.

comment:13 Changed 13 years ago by mkae (Marko Käning)

Cc: mk@… added

Cc Me!

comment:14 Changed 13 years ago by marksman@…

Yep, using

sudo port build kdelibs configure.compiler=llvm-gcc-4.2

fixed the problem for me. Thanks!

comment:15 Changed 13 years ago by nerdling (Jeremy Lavergne)

Resolution: fixed
Status: newclosed

Fixed in r85940.

comment:16 Changed 13 years ago by nerdling (Jeremy Lavergne)

Clang works in all of KDE @4.8.2

Note: See TracTickets for help on using tickets.