This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Can't build playground devtools

Tags: None
(comma "," separated)
The User
KDE Developer
Posts
647
Karma
0
OS

Can't build playground devtools

Fri Apr 24, 2009 9:39 pm
Hi!
I cannot build the devtools-playground with kdevelop4-extra-addons.
Also with a few adjustments of CMAKE_MODULE_PATH I get these messages:
Code: Select all
CMake Warning at kdevelop4-extra-plugins/csharp/parser/CMakeLists.txt:18 (find_package):
  Could not find module FindKDevelop-PG-Qt.cmake or a configuration file for
  package KDevelop-PG-Qt.

  Adjust CMAKE_MODULE_PATH to find FindKDevelop-PG-Qt.cmake or set
  KDevelop-PG-Qt_DIR to the directory containing a CMake configuration file
  for KDevelop-PG-Qt.  The file will have one of the following names:

    KDevelop-PG-QtConfig.cmake
    kdevelop-pg-qt-config.cmake



CMake Error at kdevelop4-extra-plugins/csharp/parser/CMakeLists.txt:23 (kdevpgqt_generate):
  Unknown CMake command "kdevpgqt_generate".


-- Configuring incomplete, errors occurred!


It's the same with PHP... Where can I get the missing files, I have not found them?

Thank you!
The User
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

RE: Can't build playground devtools

Sat Apr 25, 2009 4:17 am
Try renaming occurances of "KDevelop-PG-Qt" to "KDevelop" in the appropriate CMakeLists.txt files.

Last edited by bcooksley on Sat Apr 25, 2009 4:17 am, edited 1 time in total.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
The User
KDE Developer
Posts
647
Karma
0
OS

RE: Can't build playground devtools

Sat Apr 25, 2009 4:41 pm
Hi!
With two modifications cmake works, I hope the compilation won't fail.
In "kdevelop4-extra-plugins/java/CMakeLists.txt" and "kdevelop4-extra-plugins/csharp/CMakeLists.txt" I have removed:
Code: Select all
include(KDevPlatformMacros)

In "kdevelop4-extra-plugins/java/parser/CMakeLists.txt" and "kdevelop4-extra-plugins/csharp/parser/CMakeLists.txt" I have replaced:
Code: Select all
find_package(KDevelop-PG-Qt)

with:
Code: Select all
macro(KDEVPGQT_GENERATE _srcVar _language )
set(_outputList
"${CMAKE_CURRENT_BINARY_DIR}/${_language}ast.h"
"${CMAKE_CURRENT_BINARY_DIR}/${_language}parser.h"
"${CMAKE_CURRENT_BINARY_DIR}/${_language}parser.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/${_language}visitor.h"
"${CMAKE_CURRENT_BINARY_DIR}/${_language}visitor.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/${_language}defaultvisitor.h"
"${CMAKE_CURRENT_BINARY_DIR}/${_language}defaultvisitor.cpp"
)
set(_depList ${ARGN})
list(GET _depList 0 _ns)
set(_namespace ${ARGV1})
if( ${_ns} STREQUAL "NAMESPACE" )
  list(GET _depList 1 _namespace)
  list(REMOVE_AT _depList 0 1)
  endif( ${_ns} STREQUAL "NAMESPACE" )
  list(GET _depList 0 _dbg)
  set(_dbgVisit)
  if( ${_dbg} STREQUAL "DEBUG_VISITOR" )
    list(REMOVE_AT _depList 0)
    set(_dbgVisit "--debug-visitor")
    set(_outputList ${_outputList}
    "${CMAKE_CURRENT_BINARY_DIR}/${_language}debugvisitor.h"
    )
    endif(${_dbg} STREQUAL "DEBUG_VISITOR" )
    set(_dumpInfo)
    list(GET _depList 0 _dump)
    if( ${_dump} STREQUAL "DUMP_INFO" )
      list(REMOVE_AT _depList 0)
      set(_dumpInfo --terminals --symbols --rules)
      set(_outputList ${_outputList}
      "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-terminals"
      "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-symbols"
      "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-rules"
      )
      endif( ${_dump} STREQUAL "DUMP_INFO" )
     
      list(GET _depList 0 _grammarFile)
      list(REMOVE_AT _depList 0)
      if(NOT _grammarFile)
        message(ERROR "No grammar file given to KDEVPGQT_GENERATE macro")
        endif(NOT _grammarFile)
        add_custom_command(
        OUTPUT  ${_outputList}
        MAIN_DEPENDENCY "${_grammarFile}"
        DEPENDS ${_depList}
        COMMAND ${KDEVPGQT_EXECUTABLE}
        ARGS    --output=${_language} --namespace=${_namespace}
        ${_dbgVisit} ${_dumpInfo} "${_grammarFile}"
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
        )
       
        set( ${_srcVar}
        "${CMAKE_CURRENT_BINARY_DIR}/${_language}parser.cpp"
        "${CMAKE_CURRENT_BINARY_DIR}/${_language}visitor.cpp"
        "${CMAKE_CURRENT_BINARY_DIR}/${_language}defaultvisitor.cpp" )
        endmacro(KDEVPGQT_GENERATE)
       
find_package(KDevelop)

That is a macro from kdevelop-pg-qt/cmake/modules.
Not a clean solution, but it works. It seems not to include the kdevelop-pg-qt properly.

Thanks!

The User

PS:
Then I will switch from KDevelop3 to KDevelop4 with nice code-completion, PHP-support, Qt4-designer, bzr... :)

Last edited by The User on Sat Apr 25, 2009 4:44 pm, edited 1 time in total.
The User
KDE Developer
Posts
647
Karma
0
OS

RE: Can't build playground devtools

Sun Apr 26, 2009 12:22 pm
I have tried another option:
-Change CMAKE_MODULE_PATH for java and csharp.
-Install kdevelop-pg, kdevelop-pg-qt and the other targets seperately
cmake works, but:
[ 12%] Generating csharplexer.cpp
[ 13%] Building CXX object kdevelop4-extra-plugins/csharp/parser/CMakeFiles/kdev4csharpparser.dir/csharpio.o
In file included from devtools/build/kdevelop4-extra-plugins/csharp/parser/csharpparser.h:7,
from devtools/kdevelop4-extra-plugins/csharp/parser/csharpio.cpp:26:
devtools/build/kdevelop4-extra-plugins/csharp/parser/csharpast.h:859: error: ‘KDevPG’ has not been declared

Then there are of course a lot of other error because of missing namespaces, functions and types.
It's the same with csharpparser, csharpppast, csharpppparser and csharplexer.
But the kdevelop-pg and kdevelop-pg-qt header-files were found. They are installed correctly.

What could I do?

The User
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

RE: Can't build playground devtools

Mon Apr 27, 2009 7:11 am
Try reverting the previous changes you made, and rerun CMake, ensuring that CMAKE_PREFIX_PATH is set to where you installed Qt, KDE, KDevelop, KDevelop-Pg and KDevelop-Pg-Qt.

I install KDE, KDevelop, KDevelop-Pg and KDevelop-Pg into /opt/trunk-kde/kde/ and Qt into /opt/trunk-kde/qt so I set it as follows:
Code: Select all
/opt/trunk-kde/kde:/opt/trunk-kde/qt


I was able to build it without problems.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
The User
KDE Developer
Posts
647
Karma
0
OS

RE: Can't build playground devtools

Mon Apr 27, 2009 6:59 pm
Thank you. It works, but:
[quote]kdevelop4-extra-plugins/php/duchain/integraltypeextended.cpp: In copy constructor ‘Php::IntegralTypeExtended::IntegralTypeExtended(const Php::IntegralTypeExtended&)’:
kdevelop4-extra-plugins/php/duchain/integraltypeextended.cpp:33: error: no matching function for call to ‘Php::IntegralTypeExtended::copyData(const KDevelop::IntegralTypeData&)’[/code]
...
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

RE: Can't build playground devtools

Tue Apr 28, 2009 6:14 am
I don't know why it is failing unfortunately, it could be fixed in svn though.
The Php plugin compiled fine for me when I tried.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
The User
KDE Developer
Posts
647
Karma
0
OS

RE: Can't build playground devtools

Wed Apr 29, 2009 9:06 pm
I could compile it. (but I had to disable java and ruby, I'll have to retry it)
Now I compile KDevelop for version-conformance.

It's often a problem:
Modules are searched in /usr/share/kde4/services. But when I compile a module manually (KDevelop--module, Plasmoid...) and forget to say -DCMAKE_PREFIX=/usr, it is installed in /usr/local/share/kde4/services.
How can I change the path permanently to /usr?

Last edited by The User on Wed Apr 29, 2009 11:37 pm, edited 1 time in total.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

RE: Can't build playground devtools

Thu Apr 30, 2009 6:34 am
Unfortunately declaring it as an environment variable didn't work. You could try making "cmake" a bash alias though.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
The User
KDE Developer
Posts
647
Karma
0
OS

RE: Can't build playground devtools

Sun May 17, 2009 9:45 am
Also Buildservice has the same problems to build it. Could the CMakeLists.txts be broken?
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

RE: Can't build playground devtools

Wed May 20, 2009 9:56 am
The bindings could currently be broken, however I would think that the CMakeLists.txt file not working would be far more likely. Probably using hard coded paths, or making assumptions based on the versions of them their developer has, which may be incompatible with what is currently used by openSUSE.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]


Bookmarks



Who is online

Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell