Closed Ferruck closed 10 years ago
Try this: delete everything inside the "install" folder and start again. Usually, when you run "cmake .." and fails due to a missing dependency, it results in the folder being left in a broken state, and installing the dependencies and running "cmake .." again over the previous broken files doesn't fix them. I don't know if it is a bug in CMake itself, or in the original scripts I used to compile Vala with CMake.
So? Did it work? Can I close this?
Sorry for answering late.
No, it didn't work and I already tried it before. Maybe the full output does help you, so here it is:
philipp@DDClientLaptop:~/Programme/autovala/gedit_plugin/install$ rm -R ./*
philipp@DDClientLaptop:~/Programme/autovala/gedit_plugin/install$ cmake ..
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.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
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26")
-- checking for modules 'AutoVala;AutovalaPlugin;atk;cairo;gdk-3.0;gdk-pixbuf-2.0;gedit;gee-0.8;gio-2.0;glib-2.0;gobject-2.0;gobject-introspection-1.0;gtk+-3.0;gtksourceview-3.0;libpeas-1.0;pango;pangocairo;x11'
-- found AutoVala, version 0.97
-- found AutovalaPlugin, version 0.97
-- found atk, version 2.12.0
-- found cairo, version 1.13.1
-- found gdk-3.0, version 3.13.1
-- found gdk-pixbuf-2.0, version 2.30.7
-- found gedit, version 3.12.1
-- found gee-0.8, version 0.10.5
-- found gio-2.0, version 2.41.0
-- found glib-2.0, version 2.41.0
-- found gobject-2.0, version 2.41.0
-- found gobject-introspection-1.0, version 1.40.0
-- found gtk+-3.0, version 3.13.1
-- found gtksourceview-3.0, version 3.12.1
-- found libpeas-1.0, version 1.8.1
-- found pango, version 1.36.3
-- found pangocairo, version 1.36.3
-- found x11, version 1.6.2
-- Found Vala: /usr/bin/valac
-- checking for Vala version of valac-0.22
-- checking for a minimum Vala version of 0.22
-- found Vala, version 0.24
-- Configuring done
-- Generating done
-- Build files have been written to: /home/philipp/Programme/autovala/gedit_plugin/install
philipp@DDClientLaptop:~/Programme/autovala/gedit_plugin/install$ make
[ 25%] Generating /home/philipp/Programme/autovala/gedit_plugin/install/src/Config.c;valaplugin.c;AutovalaGeditPlugin.vapi;AutovalaGeditPlugin.h
Scanning dependencies of target AutovalaGeditPlugin
[ 50%] Building C object src/CMakeFiles/AutovalaGeditPlugin.dir/Config.c.o
[ 75%] Building C object src/CMakeFiles/AutovalaGeditPlugin.dir/valaplugin.c.o
/home/philipp/Programme/autovala/gedit_plugin/install/src/valaplugin.c:16:31: fatal error: gedit/gedit-panel.h: Datei oder Verzeichnis nicht gefunden
#include <gedit/gedit-panel.h>
^
compilation terminated.
make[2]: *** [src/CMakeFiles/AutovalaGeditPlugin.dir/valaplugin.c.o] Fehler 1
make[1]: *** [src/CMakeFiles/AutovalaGeditPlugin.dir/all] Fehler 2
make: *** [all] Fehler 2
philipp@DDClientLaptop:~/Programme/autovala/gedit_plugin/install$
The cmake output looks good... But you have gedit 3.12... I have gedit 3.10... Maybe there is a bug in your packages...
Try to use "make VERBOSE=1" and put here the output, to check how is calling gcc and everything else.
Also do a "dpkg -S gedit-panel.h" and see which package contains it (and if it is installed).
Also, check where is installed gedit-panel.h. In my system it is at /usr/include/gedit-3.0/gedit/gedit-panel.h
Finally, check the gedit.pc used with pkg-config (mine is at /usr/lib/x86_64-linux-gnu/pkgconfig/gedit.pc), to ensure that it points to the right path.
I think, I found the problem: gedit-panel.h has been removed in GNOME 3.12, in this commit. So in order to have forward compatibility, the gedit-panel shouldn't be used, IMHO. I can't say, how to replace it, as I can't test the functionality, maybe you could provide some screenshots and I try to make it work with Gedit 3.12?!
Ok, this sound like a job for #define-man! :)
Just give me a couple of hours.
=) I'm really excited!
Installing a fedora in a virtual machine...
Ok, uploaded the new version. Can you try it? Also try to disable and enable the plugin, to check if it works fine.
I'm afraid to tell you that it doesn't work... CMake still runs through without problems but the make throws a new error:
make
[ 25%] Generating /home/philipp/Programme/autovala/gedit_plugin/install/src/Config.c;valaplugin.c;AutovalaGeditPlugin.vapi;AutovalaGeditPlugin.h
Scanning dependencies of target AutovalaGeditPlugin
[ 50%] Building C object src/CMakeFiles/AutovalaGeditPlugin.dir/Config.c.o
[ 75%] Building C object src/CMakeFiles/AutovalaGeditPlugin.dir/valaplugin.c.o
/home/philipp/Programme/autovala/gedit_plugin/install/src/valaplugin.c: In function ‘autovala_gedit_plugin_vala_window_real_activate’:
/home/philipp/Programme/autovala/gedit_plugin/install/src/valaplugin.c:224:2: error: unknown type name ‘GeditPanel’
GeditPanel* _tmp24_ = NULL;
^
/home/philipp/Programme/autovala/gedit_plugin/install/src/valaplugin.c:286:10: warning: assignment from incompatible pointer type [enabled by default]
_tmp24_ = gedit_window_get_side_panel (_tmp23_);
^
make[2]: *** [src/CMakeFiles/AutovalaGeditPlugin.dir/valaplugin.c.o] Fehler 1
make[1]: *** [src/CMakeFiles/AutovalaGeditPlugin.dir/all] Fehler 2
make: *** [all] Fehler 2
I also tried to enter the CMake option you mention in the README (I just wondered what would happen) and this is what happened:
cmake .. -DOLD_GTK
Parse error in command line argument: -DOLD_GTK
Should be: VAR:type=value
CMake Error: No cmake script provided.
CMake Error: Problem processing arguments. Aborting.
Last you use the definition of OLD_GEDIT (#if OLD_GEDIT
in valaplugin.vala) but advise to use OLD_GTK in the README.
So, I'm still excited! =)
Ok, I forgot to run "autovala update" in my local system (I did all the tests in a virtual machine with gnome shell 3.12).
Now it should work. Also fixed the README.md file. Thanks for pointing it O:)
Did it work?
No, the problem persists.
Maybe valac compiles different c sources on our PCs?! Which vala version do you use?
I updated my ubuntu to Gnome Shell 3.12, and it also fails... I'm investigating it, but I suspect a problem in the VAPI file...
I hope a solvable one! =)
Yes, as I suspected: they changed only the return type in gedit_window_get_side_panel, but not the function name, so the vala compiler still tries to use Gedit.Panel, which doesn't exists. I'll check what changes did in Fedora.
I think I have it... I will test it also in an Ubuntu 14.04 with Gnome Shell 3.10 and upload all.
The close was unintentional O:)
Ok, now it is tested in both Ubuntu with Gedit 3.10 and Gedit 3.12, and added several changes to Autovala to support more cases, so now it should work like a charm. Please, check it and confirm.
Have you tried this last version? Did it work?
Sorry, I'm not home at the moment, I will test it tomorrow!
Don't worry. Sometimes I push too much O:)
BTW: I created a branch in the repo called "devel". There will be the development work, and will reserve "master" for stable versions. Please, if you can, test this version.
Thanks.
So, I tested against the devel branch, the build is fine now, but installation isn't. Gedit searches for plugins in /usr/lib/i386-linux-gnu/gedit/plugins/
(or the amd64 path, don't know, how it's called at the moment), but the plugin is installed to /usr/local/share/gedit/plugins/autovala/
, so it doesn't show up in Gedit's plugin overview.
That's the problem with the library paths in 64bit Debian/Ubuntu/Fedora... The best thing you can do is to install it in your personal folder:
rm -rf * cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/.local make make install
Anyway... In Debian/Ubuntu the right place is /usr/local/share/gedit/plugins/autovala... Have you enabled the plugin by going to Preferences->plugins?
It doesn't even show up in there, as Gedit is looking in /usr/lib/i386-linux-gnu/gedit/plugins/. I will try the home dir when I'm, well, at home. =)
OK, so I tried the global installation once again at my amd64 machine, same problem. But the local installation worked and that's fine. That was a long way to get the plugin working... =)
I will add the possibility to set the destination folder by setting a variable with CMake.
The CMake of the gedit plugin passes without any problems, but the Make fails with
Maybe there is some dependency missing in the CMake files? I'm running Ubuntu GNOME with programs from ppa:gnome3-team/gnome3, ppa:gnome3-team/gnome3-staging and ppa:ricotz/testing, so they should be fairly up to date.