zaufi / kate-cpp-helper-plugin

Plugin to simplify writing C++ code using Kate editor and clang
http://zaufi.github.io/kate-cpp-helper-plugin.html
GNU General Public License v3.0
22 stars 3 forks source link

Plugin does not compile #24

Open karstengit opened 9 years ago

karstengit commented 9 years ago

I modified CMakeCache.txt

cmake_policy(SET CMP0048 NEW)
# cmake_policy(SET CMP0054 NEW)

installed additional needed packages and could generate the make files.

But make fails directly with

Generating `moc_cpp_helper_plugin.cpp`
/srv/test/kate-cpp-helper-plugin-master/src/cpp_helper_plugin.h:63: Error: Undefined interface
automoc4: process for /srv/test/kate-cpp-helper-plugin-master/build/src/moc_cpp_helper_plugin.cpp failed: Unknown error
pid to wait for: 0
returning failed..
src/CMakeFiles/katecpphelperplugin_automoc.dir/build.make:49: recipe for target 'src/CMakeFiles/katecpphelperplugin_automoc' failed
make[2]: *** [src/CMakeFiles/katecpphelperplugin_automoc] Error 1
CMakeFiles/Makefile2:297: recipe for target 'src/CMakeFiles/katecpphelperplugin_automoc.dir/all' failed
make[1]: *** [src/CMakeFiles/katecpphelperplugin_automoc.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2

I am using Debian GNU/Linux 8.2 (jessie).

zaufi commented 9 years ago

First for all: what CMake, GCC and clang versions do you have? are all of them was installed via apt-get or smth you have installed manually?

I wonder why you comment policy 54... is yout CMake older than 3.1?

karstengit commented 9 years ago

First of all i installed this packages to eliminate the errors (as i remember): kdelibs5-dev libclang-3.5-dev libclang-common-3.5-dev libclang1-3.5 xapian libxapian22 libxapian-dev libboost-all-dev

Uncommenting the policy runs into this error:

$ cmake -DNO_DOXY_DOCS=ON -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=$(kde4-config --localprefix) .. CMake Error at CMakeLists.txt:10 (cmake_policy): Policy "CMP0054" is not known to this version of CMake.

-- Configuration type chosen: Release -- Found Qt-Version 4.8.6 (using /usr/bin/qmake) -- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so -- Found KDE 4.12 include dir: /usr/include -- Found KDE 4.12 library dir: /usr/lib -- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler -- Found automoc4: /usr/bin/automoc4 -- Found LLVM configuration tool: /usr/bin/llvm-config-3.5 -- Found Clang C API: /usr/lib/llvm-3.5/lib/libclang.so (version ) -- Unit tests disabled -- Boost version: 1.55.0 -- Found the following Boost libraries: -- filesystem -- serialization -- system -- Unit tests disabled -- Found Xapian library: /usr/lib/libxapian.so -- Use bundled kate interface files for KDE/kate >=4.10 -- Setting options for Release build type -- WARNING: Message Sequence Chart renderer not found. Please get a copy from http://www.mcternan.me.uk/mscgen/ -- WARNING: Dia not found. Please get a copy from https://wiki.gnome.org/Apps/Dia. -- Found /usr/bin/xdg-open -- WARNING: You need to install GNU Autogen to be able to produce new C++ sources from skeletons -- Configuring incomplete, errors occurred! See also "/srv/test/kate-cpp-helper-plugin-master/build/CMakeFiles/CMakeOutput.log". See also "/srv/test/kate-cpp-helper-plugin-master/build/CMakeFiles/CMakeError.log".

karstengit commented 9 years ago

Installed is cmake 3.0.2-1 gcc version 4.9.2 (Debian 4.9.2-10) libclang-3.5-dev 1:3.5-10 amd64 clang library - Development package libclang-common-3.5-dev 1:3.5-10 amd64 clang library - Common development p

karstengit commented 9 years ago

In FindLibClang.cmake i have to add set(_llvm_config_programs llvm-config-3.5

This should be all now.

zaufi commented 9 years ago

kdelibs5-dev

this plugin is KDE4 only nowadays! There is a feature request #23 to port it to KF5, but I'm waiting for kdepy5 before starting to do that...

Policy 0054 is for CMake >= 3.1 which is expected to be implied by statement cmake_minimum_required(VERSION 3.1.0) above policies set...

zaufi commented 9 years ago

In FindLibClang.cmake i have to add

Thanks! I've updated the module in the repo...

karstengit commented 9 years ago

O.K. Can you please translate for me what must be done now? I am only a C beginner - but i love comfortable tools. ;-)

There are really only this packages in Debian: kdelibs5-data - Gemeinsam genutzte Daten für alle KDE-Anwendungen kdelibs5-dbg - Debugsymbole für die Bibliotheken der KDE Development Platform kdelibs5-dev - Entwicklungsdateien für die Bibliotheken der KDE Development Platform kdelibs5-plugins - Kern-Erweiterungen für KDE-Anwendungen kdelibs-bin - Grundlegende ausführbare Dateien für KDE-Anwendungen

zaufi commented 9 years ago

Huh, it seems kdelibs5 is actually a KDE4 package! Dunno why Debian devs add 5 to the name %)

So, the only problem is that your CMake is lower version than needed... Is there any way to have CMake >= 3.1 in your distro?

If not (or there is not an option for some reason), please try to build after the following chages in CMakeLists.txt:

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,12 +2,12 @@
# Copyright 2012-2015 by Alex Turbov <i.zaufi@gmail.com>
#

-cmake_minimum_required(VERSION 3.1.0)
+cmake_minimum_required(VERSION 3.0.0)

cmake_policy(SET CMP0022 NEW)
cmake_policy(SET CMP0028 NEW)
cmake_policy(SET CMP0048 NEW)
-cmake_policy(SET CMP0054 NEW)
+#cmake_policy(SET CMP0054 NEW)

#---------------------------------------------------------
karstengit commented 9 years ago

I can try to install cmake from stretch (testing) https://packages.debian.org/search?keywords=cmake&searchon=names&suite=all&section=all

zaufi commented 9 years ago

3.3 would be cool!

karstengit commented 9 years ago

You will get this only from "experimental (rc-buggy) (devel)"! I suppose the dependencies will be unsatisfying. Just look here: https://packages.debian.org/experimental/cmake

karstengit commented 9 years ago
# gdebi cmake_3.2.2-2+b1_amd64.deb
Reading package lists... Done
Building dependency tree        
Reading state information... Done
Building data structures... Done 
Building data structures... Done 
Dieses Paket kann nicht installiert werden
Breaks existing package 'cmake-curses-gui' dependency cmake (= 3.0.2-1)

As i promised - this will end in an explosion of the tree of dependencies ...

zaufi commented 9 years ago

Then probably it would be better to build your own DEB package and not to use it from the testing repo... As for me 3.3 is pretty stable release of the 3rd major branch of CMake. I've use it already in various other projects...

The other way, as I mentioned above is to try to build the plugin w/ your 3.0.2 version making a patch above...

karstengit commented 9 years ago

The other way, as I mentioned above is to try to build the plugin w/ your 3.0.2 version making a patch above...

Yes - please. A better solution would be this plugin could be compiled with "normal" versions of tools.

zaufi commented 9 years ago

As i promised - this will end in an explosion of the tree of dependencies ...

Huh, it is why I prefer source based distros :)

Yes - please.

Ok, then go on and try! :) Tell me any problems here...

A better solution would be this plugin could be compiled with "normal" versions of tools.

ok, what is a "normal" ? :) as for me normal is 3.3.1 which is already available in Gentoo :)

karstengit commented 9 years ago

Huh, it is why I prefer source based distros :)

I see you are using gentoo.

ok, what is a "normal" ? :) as for me normal is 3.3.1 which is already available in Gentoo :)

I have found a statistic: https://www.linuxcounter.net/statistics/distributions As you can see Gentoo is on place 6 and Debian based distros on place 1! :-)

So the question is if this tool can only be used from Gentoo users?

zaufi commented 9 years ago

that "statistics" looks suspicious ;-) anyway, I don't care about distributions of linux distributions and a placement of my favourite distro in this list %) What I really care is a comfortable working environment (whatever distro is used). Particularly it is vital (for me) to have an ability to install any version of any package I'd like to install and have a painless roll back if I change my mind... Obviously distro # 1 is suck for that kind of task... Anyway, I've got your point, although not share it ;-)

So the question is if this tool can only be used from Gentoo users?

That is not a question! First of all it must be usable at my system... and I'll do my best (if it take not much time) to make it work anywhere else :-) That is how open source works :-)

karstengit commented 9 years ago

I believe that you have really good reasons to use the libraries and stuff you are using.

So the question is if this tool can only be used from Gentoo users?

That is not a question! First of all it must be usable at my system...

Yes - that's also true of course. :-) But the answer to my question is "Yes" on the other hand.

and I'll do my best (if it take not much time) to make it work anywhere else :-) That is how open source works :-)

I agree fully.

It would be fine now if you can check if it is possible to use cmake 3.0.2 version to build this nice tool? Please. I have really no idea if this suspect policy CMP0054 is needed, but what i read seems not to be worldshaking: http://www.cmake.org/cmake/help/v3.1/policy/CMP0054.html

What's about the error i posted first? Maybe it worked that I commented out the policy?

zaufi commented 9 years ago

I also do not recall what exactly CMake 3.1 is needed for... it is why I 3rd time asking to you to apply a patch (to set required version to 3.0 and comment out CMP0054) and try to build in your environment... Please report any further build problems here...

karstengit commented 9 years ago

Äh - sorry - i see i have already done it. The result was the compile error i posted first.

#
# Copyright 2012-2015 by Alex Turbov <i.zaufi@gmail.com>
#

cmake_minimum_required(VERSION 3.0.2)

cmake_policy(SET CMP0022 NEW)
cmake_policy(SET CMP0028 NEW)
cmake_policy(SET CMP0048 NEW)
# cmake_policy(SET CMP0054 NEW)
zaufi commented 9 years ago

please try to build w/ verbose command line:

$ make VERBOSE=1

from your original message text I didn't get it what command is failed...

karstengit commented 9 years ago

make log zip

Output of make VERBOSE=1 > make.log 2>&1 Please rename to make.log.zip, because it couldn't be uploaded.

zaufi commented 9 years ago

heh, it looks like moc was failed to parse something... I suggest smth wrong w/ #include paths for it... lets add a path to kate-export.h w/ the following patch:

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -140,8 +140,12 @@ if(_need_to_include_kate_interfaces)
        set(_use_kate_iface_ver "latest")
    endif()
    include_directories(
+        ${PROJECT_SOURCE_DIR}/third_party/kde${KDE_VERSION_MAJOR}-kate-interfaces
+      )
+    include_directories(
        ${PROJECT_SOURCE_DIR}/third_party/kde${KDE_VERSION_MAJOR}-kate-interfaces/${_use_kate_iface_ver}
    )
+
    if(_use_kate_iface_ver STREQUAL "latest")
        set(_use_kate_iface_ver ">=4.10")
    else()

Unfortunately linux distro # 1 do not have a package w/ kate's devel files, so for that case I have a them in third-party_/kate/...

karstengit commented 9 years ago

patching file CMakeLists.txt Hunk #1 FAILED at 140. 1 out of 1 hunk FAILED -- saving rejects to file CMakeLists.txt.rej

It's easier you give me the corrected snippet as plain text.

karstengit commented 9 years ago
if(_need_to_include_kate_interfaces)
    set(_use_kate_iface_ver "latest")
endif()
    include_directories(
        ${PROJECT_SOURCE_DIR}/third_party/kde${KDE_VERSION_MAJOR}-kate-interfaces
    )
    include_directories(
        ${PROJECT_SOURCE_DIR}/third_party/kde${KDE_VERSION_MAJOR}-kate-interfaces/${_use_kate_iface_ver}
    )

    if(_use_kate_iface_ver STREQUAL "latest")
        set(_use_kate_iface_ver ">=4.10")
    else()
    include_directories(
        ${PROJECT_SOURCE_DIR}/third_party/kde${KDE_VERSION_MAJOR}-kate-interfaces/${_use_kate_iface_ver}
    )
    if(_use_kate_iface_ver STREQUAL "latest")
        set(_use_kate_iface_ver ">=4.10")
    else()
        set(_use_kate_iface_ver "=${_use_kate_iface_ver}")
    endif()
    message(STATUS "Use bundled kate interface files for KDE/kate ${_use_kate_iface_ver}")
endif()

does not work.

zaufi commented 9 years ago

What is that??? it doesn't looks good... is that a result of applying a patch?

Ok, to make things simple, I'll start a new branch issue-23 for this case, where I apply all needed patches and you can checkout it and try... Please report only a last (failed) command of make VERBOSE=1

zaufi commented 9 years ago

oh, I've set a wrong bug number for the branch... anyway, just try it...

karstengit commented 9 years ago

I think the patch failed because of different lines and whitespaces from copying here.

How can i checkout this branch?

zaufi commented 9 years ago
$ git clone https://github.com/zaufi/kate-cpp-helper-plugin.git
$ cd kate-cpp-helper-plugin
$ git fetch
$ git checkout issue-23
$ mkdir build
$ cd build
$ cmake ..
$ make VERBOSE=1
karstengit commented 9 years ago

That's an good idea, because when it works you have a branch that is compatible with

non Gentoo users. :-)

But the branch is not in the correct state.

-- Looking for C++ include kate/plugin.h - not found CMake Error at /usr/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:136 (message): Could NOT find LibClang (missing: LIBCLANG_LIBRARY) (Required is at least version "3.3")

Here is my last version with working cmake kate-cpp-helper-plugin zip

zaufi commented 9 years ago

cmake/module/FindLibClang.cmake is the same (fixed for LLVM up to 3.8) as in the master

karstengit commented 9 years ago

Not really. I see set(_llvm_config_programs llvm-config-3.8 llvm-config-3.7 llvm-config-3.6 llvm-config-3.5 llvm-config-3.4 llvm-config-3.3

X-Chewy-Path: FindLibClang.cmake

X-Chewy-Version: 2.1

instead of

set(_llvm_config_programs
    llvm-config-3.5
    llvm-config-3.4
    llvm-config-3.3
    llvm-config-3.2
    llvm-config-3.1
    llvm-config-3.0

X-Chewy-Path: FindLibClang.cmake

X-Chewy-Version: 2.0

but i don't know why clang is not identified correctly ...

zaufi commented 9 years ago

make sure you have clean build directory...

karstengit commented 9 years ago

Yes - and it should be the correct branch!

Löse Unterschiede auf: 100% (1882/1882), Fertig. Prüfe Konnektivität... Fertig. $ cd kate-cpp-helper-plugin $ git checkout issue-23 Branch issue-23 konfiguriert zum Folgen von Remote-Branch issue-23 von origin. Zu neuem Branch 'issue-23' gewechselt $ mkdir build $ cd build

$ rm -rf * $ cmake -DNO_DOXY_DOCS=ON -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=$(kde4-config --localprefix) .. -- The C compiler identification is GNU 4.9.2 -- The CXX compiler identification is GNU 4.9.2 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Configuration type chosen: Debug -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found -- Found Qt-Version 4.8.6 (using /usr/bin/qmake) -- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so;/usr/lib/x86_64-linux-gnu/libXau.so;/usr/lib/x86_64-linux-gnu/libXdmcp.so -- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so;/usr/lib/x86_64-linux-gnu/libXau.so;/usr/lib/x86_64-linux-gnu/libXdmcp.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so -- Looking for include file pthread.h -- Looking for include file pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Looking for _POSIX_TIMERS -- Looking for _POSIX_TIMERS - found -- Found Automoc4: /usr/bin/automoc4
-- Found Perl: /usr/bin/perl (found version "5.20.2") -- Found Phonon: /usr/include (Required is at least version "4.3.80") -- Performing Test _OFFT_IS_64BIT -- Performing Test _OFFT_IS_64BIT - Success -- Performing Test HAVE_FPIE_SUPPORT -- Performing Test HAVE_FPIE_SUPPORT - Success -- Performing Test KDE_HAVE_W_OVERLOADED_VIRTUAL -- Performing Test KDE_HAVE_W_OVERLOADED_VIRTUAL - Success -- Performing Test __KDE_HAVE_GCC_VISIBILITY -- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success -- Found KDE 4.12 include dir: /usr/include -- Found KDE 4.12 library dir: /usr/lib -- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler -- Found automoc4: /usr/bin/automoc4 -- Looking for C++ include kate/application.h -- Looking for C++ include kate/application.h - not found -- Looking for C++ include kate/documentmanager.h -- Looking for C++ include kate/documentmanager.h - not found -- Looking for C++ include kate/mainwindow.h -- Looking for C++ include kate/mainwindow.h - not found -- Looking for C++ include kate/pluginconfigpageinterface.h -- Looking for C++ include kate/pluginconfigpageinterface.h - not found -- Looking for C++ include kate/plugin.h -- Looking for C++ include kate/plugin.h - not found CMake Error at /usr/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:136 (message): Could NOT find LibClang (missing: LIBCLANG_LIBRARY) (Required is at least version "3.3") Call Stack (most recent call first): /usr/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:343 (_FPHSA_FAILURE_MESSAGE) cmake/modules/FindLibClang.cmake:99 (find_package_handle_standard_args) CMakeLists.txt:83 (find_package)

-- Configuring incomplete, errors occurred! See also "/srv/test/kate-cpp-helper-plugin-issue/kate-cpp-helper-plugin/build/CMakeFiles/CMakeOutput.log". See also "/srv/test/kate-cpp-helper-plugin-issue/kate-cpp-helper-plugin/build/CMakeFiles/CMakeError.log".

karstengit commented 9 years ago

Maybe a new branch "annoying-debian-users" will help. :-)

zaufi commented 9 years ago

is there anything interesting in /srv/test/kate-cpp-helper-plugin-issue/kate-cpp-helper-plugin/build/CMakeFiles/CMakeError.log or /srv/test/kate-cpp-helper-plugin-issue/kate-cpp-helper-plugin/build/CMakeFiles/CMakeOutput.log ?

karstengit commented 9 years ago

Here are the files cmakefiles zip

Seems to be much output with small content.

zaufi commented 9 years ago

nothing... the last thing for today: try to add -DCMAKE_FIND_DEBUG_MODE=ON to cmake options

karstengit commented 9 years ago

AAAARRRRGGGH - libclang exists, but not clang. The reason is that i have 2 partitions and worked on the other before. Mea culpa! Sorry!

Missing was an apt-get install clang-3.5

Now

95%] Building CXX object src/CMakeFiles/katecpphelperplugin.dir/cpp_helper_plugin_view_explorer.cpp.o [ 97%] Building CXX object src/CMakeFiles/katecpphelperplugin.dir/cpp_helper_plugin_view_search_services.cpp.o [100%] Building CXX object src/CMakeFiles/katecpphelperplugin.dir/cpp_helper_plugin.cpp.o Linking CXX shared module ../lib/katecpphelperplugin.so [100%] Built target katecpphelperplugin

$ make install Generating moc_cpp_helper_plugin_config_page.cpp Generating moc_cpp_helper_plugin.cpp Generating moc_database_manager.cpp Generating moc_document_info.cpp Generating moc_clang_code_completion_model.cpp Generating moc_indexing_targets_list_model.cpp Generating moc_include_helper_completion_model.cpp Generating moc_preprocessor_completion_model.cpp Generating moc_indexer.cpp Generating moc_worker.cpp Generating moc_plugin_configuration.cpp Generating moc_diagnostic_messages_model.cpp Generating moc_indices_table_model.cpp Generating moc_search_results_table_model.cpp Generating moc_choose_from_list_dialog.cpp Generating moc_cpp_helper_plugin_view.cpp [ 0%] Built target katecpphelperplugin_automoc Scanning dependencies of target katecpphelperplugin [ 2%] Building CXX object src/CMakeFiles/katecpphelperplugin.dir/katecpphelperplugin_automoc.cpp.o Linking CXX shared module ../lib/katecpphelperplugin.so [100%] Built target katecpphelperplugin Install the project... -- Install configuration: "Debug" -- Installing: /home/karsten/.kde/share/doc/katecpphelperplugin/README.md -- Installing: /home/karsten/.kde/share/doc/katecpphelperplugin/LICENSE -- Installing: /home/karsten/.kde/share/doc/katecpphelperplugin/Changes.md -- Installing: /home/karsten/.kde/share/apps/kate/plugins/katecpphelperplugin/sample.sanitizer-rules -- Installing: /home/karsten/.kde/lib/kde4/katecpphelperplugin.so -- Set runtime path of "/home/karsten/.kde/lib/kde4/katecpphelperplugin.so" to "/usr/lib/llvm-3.5/lib" -- Installing: /home/karsten/.kde/share/kde4/services/katecpphelperplugin.desktop -- Installing: /home/karsten/.kde/share/apps/kate/plugins/katecpphelperplugin/ui.rc -- Installing: /home/karsten/.kde/share/apps/kate/plugins/katecpphelperplugin/qt4.incset

That's it! :-)

So there where only some minor updates needed!

Thank you!

karstengit commented 9 years ago

How can i see the version of the plugin in kate? Is there a command to install it in the system directories as root?

karstengit commented 9 years ago

I hope this plugin will find a way into the Debian distribution now. But it seems that this need some discussion again ... https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799207 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799204

There is the question if this plugin will be ported to QT5?

karstengit commented 9 years ago

I tried to find out how this module must be installed "correctly" in an Debian system.

-- Installing: Configuration ??? -- Installing: README.md -> /usr/share/doc/katecpphelperplugin -- Installing: LICENSE -> /usr/share/doc/katecpphelperplugin -- Installing: Changes.md -> /usr/share/doc/katecpphelperplugin -- Installing: sample.sanitizer-rules -> /usr/share/kde4/apps/kate/plugins/katecpphelperplugin -- Installing: ui.rc -> /usr/share/kde4/apps/kate/plugins/katecpphelperplugin -- Installing: qt4.incset -> /usr/share/kde4/apps/kate/plugins/katecpphelperplugin -- Installing: katecpphelperplugin.so -> /usr/lib/kde4 -- Installing: katecpphelperplugin.desktop -> /usr/share/kde4/services -- Set runtime path of "ln -s /usr/lib/kde4/katecpphelperplugin.so /usr/lib/llvm-3.5/lib/katecpphelperplugin.so"

What is done under the point configuration? When i place all the files as described the C++ helper plugin can be seen in the configuration, but when i enable it nothing happens. After closing and opening the configuration again it is again not marked as enabled.

helper

zaufi commented 9 years ago

How can i see the version of the plugin in kate?

there is no way. kate do not have UI to display plugin's version. some (really important) plugins add an item to Help menu, but not this one.

Is there a command to install it in the system directories as root?

sure, just specify /usr as install prefix to CMake, but I wouldn't recommend that way (and you as a user of distro # 1 should know the proper way ;-)...

the proper way is to have a package (*.deb in your case) and install it using a package manager (apt-get in your case) -- because the rule of thumb: all system files must be under control of the package manager!

sometime ago I've added support to produce deb packages using CPack, but nowadays it must be little bit out of date... you can try (to fix %) it

There is the question if this plugin will be ported to QT5?

as I've told you above, while there is no Python bindings for KF5, I'm not going to port it...

After closing and opening the configuration again it is again not marked as enabled.

it means that plugin can't be loaded. start kate from terminal window, and look for details after trying to load it...

karstengit commented 9 years ago

sure, just specify /usr as install prefix to CMake, but I wouldn't recommend that way (and you as a user of distro # 1 should know the proper way ;-)...

Well countered. :-)

As you can read it seems that there will be no Debian package if this plugin will not go to the mainstream of kate. :-( The second problem is QT5. Besides - why you need Python bindings?

As "normal user" i don't want to have all this kde-dev packages permanently installed, because they blow up my backups. So i only want to install this plugin - and maybe i can made a simple deb file. I attach the one i have found and used in the history.

kate-cpp-helper-plugin_0 9 6-0ubuntu1_amd64 deb

There is no configuration script in it - simply the files packed at the "right place". Your plugin is working well on my "compiling partition" - so what is the difference? I would say it is the "configuration installing" part?

it means that plugin can't be loaded. start kate from terminal window, and look for details after trying to load it...

kate(4767)/Kate (View) KateSchemaConfigColorTab::apply: writing 'Color' tab: scheme = "kate - Normal" and config group = "kate - Normal" kate(4767)/Kate (View) KateSchemaConfigHighlightTab::schemaChanged: NEW SCHEMA: "kate - Normal" NEW HL: 0 kate(4767)/Kate (View) KateSchemaConfigHighlightTab::schemaChanged: insert items "Normaltext" kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: BEGIN! kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: BEGIN! kate(4767)/kate-filetree KateFileTreeProxyModel::docIndex: ! kate(4767)/kate-filetree KateFileTreeModel::docIndex: BEGIN! kate(4767)/kate-filetree KateFileTreeModel::docIndex: END! kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: selected doc= KateDocument(0xafaf20) QModelIndex(0,0,0xb972c0,KateFileTreeProxyModel(0xa71f10) ) kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: display= "Unbenannt" kate(4767)/kate-filetree KateFileTreeModel::documentActivated: BEGIN! kate(4767)/kate-filetree KateFileTreeModel::documentActivated: adding viewHistory ProxyItem(0xb971d0,0xbcd930,0,KateDocument(0xafaf20) , "Unbenannt" ) kate(4767)/kate-filetree KateFileTreeModel::updateBackgrounds: BEGIN! kate(4767)/kate-filetree KateFileTreeModel::updateBackgrounds: m_editHistory contains 0 elements kate(4767)/kate-filetree KateFileTreeModel::updateBackgrounds: END! kate(4767)/kate-filetree KateFileTreeModel::documentActivated: END! kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: END!

I would say there is no error message?

karstengit commented 9 years ago

sure, just specify /usr as install prefix to CMake, but I wouldn't recommend that way (and you as a user of distro # 1 should know the proper way ;-)...

Well countered. :-)

As you can read it seems that there will be no Debian package if this plugin will not go to the mainstream of kate. :-( The second problem is QT5. Besides - why you need Python bindings?

As "normal user" i don't want to have all this kde-dev packages permanently installed, because they blow up my backups. So i only want to install this plugin - and maybe i can made a simple deb file. I attach the one i have found and used in the history.

kate-cpp-helper-plugin_0 9 6-0ubuntu1_amd64 deb

There is no configuration script in it - simply the files packed at the "right place". Your plugin is working well on my "compiling partition" - so what is the difference? I would say it is the "configuration installing" part?

it means that plugin can't be loaded. start kate from terminal window, and look for details after trying to load it...

kate(4767)/Kate (View) KateSchemaConfigColorTab::apply: writing 'Color' tab: scheme = "kate - Normal" and config group = "kate - Normal" kate(4767)/Kate (View) KateSchemaConfigHighlightTab::schemaChanged: NEW SCHEMA: "kate - Normal" NEW HL: 0 kate(4767)/Kate (View) KateSchemaConfigHighlightTab::schemaChanged: insert items "Normaltext" kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: BEGIN! kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: BEGIN! kate(4767)/kate-filetree KateFileTreeProxyModel::docIndex: ! kate(4767)/kate-filetree KateFileTreeModel::docIndex: BEGIN! kate(4767)/kate-filetree KateFileTreeModel::docIndex: END! kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: selected doc= KateDocument(0xafaf20) QModelIndex(0,0,0xb972c0,KateFileTreeProxyModel(0xa71f10) ) kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: display= "Unbenannt" kate(4767)/kate-filetree KateFileTreeModel::documentActivated: BEGIN! kate(4767)/kate-filetree KateFileTreeModel::documentActivated: adding viewHistory ProxyItem(0xb971d0,0xbcd930,0,KateDocument(0xafaf20) , "Unbenannt" ) kate(4767)/kate-filetree KateFileTreeModel::updateBackgrounds: BEGIN! kate(4767)/kate-filetree KateFileTreeModel::updateBackgrounds: m_editHistory contains 0 elements kate(4767)/kate-filetree KateFileTreeModel::updateBackgrounds: END! kate(4767)/kate-filetree KateFileTreeModel::documentActivated: END! kate(4767)/kate-filetree KateFileTreePluginView::viewChanged: END!

I would say there is no error message?

karstengit commented 9 years ago

I found the reason the plugin was not running. One boost library was missing!

$ ldd katecpphelperplugin.so linux-vdso.so.1 (0x00007ffeba787000) libboost_filesystem.so.1.55.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.55.0 (0x00007f2b3cbad000) libboost_serialization.so.1.55.0 => not found

Defining package dependencies is really a hard job for this plugin. There are so many of them ...

    linux-vdso.so.1 (0x00007ffdf9efa000)
    libboost_filesystem.so.1.55.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.55.0 (0x00007f662f0bd000)
    libboost_serialization.so.1.55.0 => /usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.55.0 (0x00007f662ee4b000)
    libboost_system.so.1.55.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.55.0 (0x00007f662ec47000)
    libkateinterfaces.so.4 => /usr/lib/libkateinterfaces.so.4 (0x00007f662e9bf000)
    libkdeui.so.5 => /usr/lib/libkdeui.so.5 (0x00007f662e328000)
    libkfile.so.4 => /usr/lib/libkfile.so.4 (0x00007f662e079000)
    libktexteditor.so.4 => /usr/lib/libktexteditor.so.4 (0x00007f662de35000)
    libclang-3.5.so.1 => /usr/lib/llvm-3.5/lib/libclang-3.5.so.1 (0x00007f662d215000)
    libxapian.so.22 => /usr/lib/libxapian.so.22 (0x00007f662ce04000)
    libkparts.so.4 => /usr/lib/libkparts.so.4 (0x00007f662cba9000)
    libkio.so.5 => /usr/lib/libkio.so.5 (0x00007f662c6cc000)
    libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (0x00007f662b9dc000)
    libkdecore.so.5 => /usr/lib/libkdecore.so.5 (0x00007f662b4ed000)
    libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007f662affe000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f662acf3000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f662a9f2000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f662a649000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f662a433000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f662a22b000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f662a00e000)
    libQtXml.so.4 => /usr/lib/x86_64-linux-gnu/libQtXml.so.4 (0x00007f6629dc7000)
    libkactivities.so.6 => /usr/lib/libkactivities.so.6 (0x00007f6629bac000)
    libQtDBus.so.4 => /usr/lib/x86_64-linux-gnu/libQtDBus.so.4 (0x00007f662992f000)
    libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007f6629727000)
    libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007f662950a000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f66291c7000)
    libattica.so.0.4 => /usr/lib/x86_64-linux-gnu/libattica.so.0.4 (0x00007f6628ede000)
    libQtNetwork.so.4 => /usr/lib/x86_64-linux-gnu/libQtNetwork.so.4 (0x00007f6628b8d000)
    libQtSvg.so.4 => /usr/lib/x86_64-linux-gnu/libQtSvg.so.4 (0x00007f6628935000)
    libdbusmenu-qt.so.2 => /usr/lib/x86_64-linux-gnu/libdbusmenu-qt.so.2 (0x00007f6628702000)
    libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f66284fc000)
    libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f66282f2000)
    libsolid.so.4 => /usr/lib/libsolid.so.4 (0x00007f6627fea000)
    libLLVM-3.5.so.1 => /usr/lib/x86_64-linux-gnu/libLLVM-3.5.so.1 (0x00007f66262c6000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f66260ab000)
    libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f6625ea3000)
    libedit.so.2 => /usr/lib/x86_64-linux-gnu/libedit.so.2 (0x00007f6625c6a000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f6625a40000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f662583c000)
    libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f6625637000)
    libnepomuk.so.4 => /usr/lib/libnepomuk.so.4 (0x00007f6625364000)
    libnepomukutils.so.4 => /usr/lib/libnepomukutils.so.4 (0x00007f6625124000)
    libstreamanalyzer.so.0 => /usr/lib/libstreamanalyzer.so.0 (0x00007f6624ea0000)
    libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007f6624c97000)
    libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f6624a92000)
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f6624855000)
    libaudio.so.2 => /usr/lib/x86_64-linux-gnu/libaudio.so.2 (0x00007f662463b000)
    libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f662432c000)
    libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f6624105000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f6623e5a000)
    libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f6623c08000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f66239f6000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f66237e6000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f66235c3000)
    libdlrestrictions.so.1 => /usr/lib/libdlrestrictions.so.1 (0x00007f66233be000)
    libfam.so.0 => /usr/lib/libfam.so.0 (0x00007f66231b5000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f662f691000)
    libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f6622f6d000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f6622d4b000)
    libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f6622b3c000)
    libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f662292c000)
    libsoprano.so.4 => /usr/lib/libsoprano.so.4 (0x00007f662263e000)
    libnepomukquery.so.4 => /usr/lib/libnepomukquery.so.4 (0x00007f66223f2000)
    libstreams.so.0 => /usr/lib/libstreams.so.0 (0x00007f66221b7000)
    libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f6621e50000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f6621c27000)
    libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007f66219be000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f66217ba000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f662154c000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f6621347000)