ports/163699: [PATCH] x11/kde4-runtime doesn't compile with clang

Heath Nielson heathn at gmail.com
Thu Dec 29 19:10:12 UTC 2011


>Number:         163699
>Category:       ports
>Synopsis:       [PATCH] x11/kde4-runtime doesn't compile with clang
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Dec 29 19:10:12 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Heath Nielson
>Release:        FreeBSD 9.0-RC3
>Organization:
>Environment:
FreeBSD hershey.bar.net 9.0-PRERELEASE FreeBSD 9.0-PRERELEASE #11: Sat Dec 24 14:11:38 MST 2011     heath at hershey.bar.net:/usr/obj/usr/src/sys/HERSHEY  amd64
>Description:
Building the kde4-runtime project with clang results in 3 different compile time errors:

1)
In file included from /usr/ports/x11/kde4-runtime/work/kde-runtime-4.7.3/nepomuk/services/storage/lib/createresourcejob.cpp:22:
/usr/ports/x11/kde4-runtime/work/kde-runtime-4.7.3/nepomuk/services/storage/lib/createresourcejob.h:78:49: error: 
      no function named 'createResource' with type 'Nepomuk::CreateResourceJob
      *(const QList<QUrl> &, const QString &, const QString &, const
      KComponentData &)' was found in the specified scope
    friend Nepomuk::CreateResourceJob* Nepomuk::createResource(const ...
                                                ^

2)
[ 24%] Building CXX object nepomuk/services/storage/lib/CMakeFiles/nepomukdatamanagement.dir/describeresourcesjob.o
In file included from /usr/ports/x11/kde4-runtime/work/kde-runtime-4.7.3/nepomuk/services/storage/lib/describeresourcesjob.cpp:22:
/usr/ports/x11/kde4-runtime/work/kde-runtime-4.7.3/nepomuk/services/storage/lib/describeresourcesjob.h:77:52: error: 
      no function named 'describeResources' with type
      'Nepomuk::DescribeResourcesJob *(const QList<QUrl> &, bool)' was found in
      the specified scope
    friend Nepomuk::DescribeResourcesJob* Nepomuk::describeResources(...
                                                   ^

3)
/usr/ports/x11/kde4-runtime/work/kde-runtime-4.7.3/nepomuk/services/storage/resourcemerger.cpp:499:27: warning: 
      parentheses were disambiguated as a function declarator
  ...dateTime( Soprano::LiteralValue( QDateTime::currentDateTime() ) );
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/x11/kde4-runtime/work/kde-runtime-4.7.3/nepomuk/services/storage/resourcemerger.cpp:499:63: error: 
      parameter declarator cannot be qualified
  ...dateTime( Soprano::LiteralValue( QDateTime::currentDateTime() ) );
                                      ~~~~~~~~~~~^
/usr/ports/x11/kde4-runtime/work/kde-runtime-4.7.3/nepomuk/services/storage/resourcemerger.cpp:500:14: error: 
      no matching member function for call to 'addStatement'
    m_model->addStatement( newUri, NAO::created(), dateTime, m_graph );
    ~~~~~~~~~^~~~~~~~~~~~
/usr/local/include/Soprano/../soprano/filtermodel.h:81:26: note: candidate
      function not viable: no known conversion from 'Soprano::Node
      (Soprano::LiteralValue ((*)()))' to 'const Soprano::Node' for 3rd
      argument;
        Error::ErrorCode addStatement( const Node& subject, const Node& ...
                         ^
/usr/local/include/Soprano/../soprano/filtermodel.h:76:34: note: candidate
      function not viable: requires 1 argument, but 4 were provided
        virtual Error::ErrorCode addStatement( const Statement &statement );
                                 ^
/usr/ports/x11/kde4-runtime/work/kde-runtime-4.7.3/nepomuk/services/storage/resourcemerger.cpp:501:14: error: 
      no matching member function for call to 'addStatement'
    m_model->addStatement( newUri, NAO::lastModified(), dateTime, m_graph );
    ~~~~~~~~~^~~~~~~~~~~~
/usr/local/include/Soprano/../soprano/filtermodel.h:81:26: note: candidate
      function not viable: no known conversion from 'Soprano::Node
      (Soprano::LiteralValue ((*)()))' to 'const Soprano::Node' for 3rd
      argument;
        Error::ErrorCode addStatement( const Node& subject, const Node& ...
                         ^
/usr/local/include/Soprano/../soprano/filtermodel.h:76:34: note: candidate
      function not viable: requires 1 argument, but 4 were provided
        virtual Error::ErrorCode addStatement( const Statement &statement );
>How-To-Repeat:
cd /usr/ports/x11/kde4-runtime
make install

>Fix:
The first two errors were similar.  The third had me scratching my head for a while until I saw: 
http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.21

Patch is attached.

Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	patch-nepomuk-services-storage-lib-createresourcejob.h
#	patch-nepomuk-services-storage-lib-describeresourcesjob.h
#	patch-nepomuk-services-storage-resourcemerger.cpp
#
echo x - patch-nepomuk-services-storage-lib-createresourcejob.h
sed 's/^X//' >patch-nepomuk-services-storage-lib-createresourcejob.h << 'a390402d1aaab940e9ab3db0737c4c98'
X--- nepomuk/services/storage/lib/createresourcejob.h.orig	2011-12-29 00:43:13.000000000 -0700
X+++ nepomuk/services/storage/lib/createresourcejob.h	2011-12-29 00:43:16.000000000 -0700
X@@ -28,6 +28,7 @@
X #include <QtCore/QUrl>
X 
X #include "nepomukdatamanagement_export.h"
X+#include "datamanagement.h"
X 
X class KComponentData;
X class QDBusPendingCallWatcher;
a390402d1aaab940e9ab3db0737c4c98
echo x - patch-nepomuk-services-storage-lib-describeresourcesjob.h
sed 's/^X//' >patch-nepomuk-services-storage-lib-describeresourcesjob.h << '4b069fe6644a91adc191b35c1f3b761e'
X--- nepomuk/services/storage/lib/describeresourcesjob.h.orig	2011-12-29 00:45:00.000000000 -0700
X+++ nepomuk/services/storage/lib/describeresourcesjob.h	2011-12-29 00:45:14.000000000 -0700
X@@ -28,6 +28,7 @@
X #include <QtCore/QUrl>
X 
X #include "nepomukdatamanagement_export.h"
X+#include "datamanagement.h"
X 
X class QDBusPendingCallWatcher;
X 
4b069fe6644a91adc191b35c1f3b761e
echo x - patch-nepomuk-services-storage-resourcemerger.cpp
sed 's/^X//' >patch-nepomuk-services-storage-resourcemerger.cpp << '298f6df303e651f81a0378a80333ec7c'
X--- nepomuk/services/storage/resourcemerger.cpp.orig	2011-12-29 11:33:53.000000000 -0700
X+++ nepomuk/services/storage/resourcemerger.cpp	2011-12-29 11:34:21.000000000 -0700
X@@ -496,7 +496,7 @@
X     QUrl newUri = createResourceUri();
X     m_mappings.insert( QUrl(node.toN3()), newUri );
X 
X-    Soprano::Node dateTime( Soprano::LiteralValue( QDateTime::currentDateTime() ) );
X+    Soprano::Node dateTime( (Soprano::LiteralValue( QDateTime::currentDateTime() )) );
X     m_model->addStatement( newUri, NAO::created(), dateTime, m_graph );
X     m_model->addStatement( newUri, NAO::lastModified(), dateTime, m_graph );
X 
298f6df303e651f81a0378a80333ec7c
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list