Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation issues with vala 0.22 #69

Open
gergap opened this issue Jan 11, 2014 · 10 comments
Open

Compilation issues with vala 0.22 #69

gergap opened this issue Jan 11, 2014 · 10 comments

Comments

@gergap
Copy link

gergap commented Jan 11, 2014

Actually I've issues with dual-monitor setup (I'll post another issue for that).
I wanted to build a debug version of pdfpc to analyze that problem, but I cannot build the vala sources. (Compiling the bundled c-src in pdfpc-3.1.1.tgz works btw).

error: Your local changes to the following files would be overwritten by checkout:
c-src/CMakeLists.txt
Please, commit your changes or stash them before you can switch branches.
Aborting
-- The C compiler identification is GNU 4.7.3
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- checking for module 'gobject-2.0'
-- found gobject-2.0, version 2.36.4
-- checking for module 'gio-2.0'
-- found gio-2.0, version 2.36.4
-- checking for module 'gee-1.0'
-- found gee-1.0, version 0.6.8
-- checking for module 'poppler-glib'
-- found poppler-glib, version 0.24.3
-- checking for module 'gtk+-2.0'
-- found gtk+-2.0, version 2.24.22
-- checking for module 'gthread-2.0'
-- found gthread-2.0, version 2.36.4
-- checking for module 'librsvg-2.0'
-- found librsvg-2.0, version 2.39.0
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/tmp.8MTgD1jtV6
M c-src/CMakeLists.txt
Already on 'release'
Your branch is ahead of 'origin/release' by 1 commit.
(use "git push" to publish your local commits)
gtk+-2.0.vapi:5926.40-5926.42: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/window/fullscreen.vala:65.31-65.33: warning: Gdk is deprecated. Use gdk-3.0
src/classes/window/fullscreen.vala:167.40-167.46: error: Timeout' is an ambiguous reference betweenGLib.Timeout' and Gtk.Timeout' this.hide_cursor_timeout = Timeout.add_seconds( ^^^^^^^ src/classes/window/fullscreen.vala:183.25-183.27: warning: Gdk is deprecated. Use gdk-3.0 src/classes/window/fullscreen.vala:184.25-184.27: warning: Gdk is deprecated. Use gdk-3.0 src/classes/mutex_locks.vala:42.37-42.41: warning: GLib.Mutex has been deprecated since glib-2.32. Use Mutex (with --target-glib=2.32) src/classes/window/overview.vala:413.26-413.28: warning: Gdk is deprecated. Use gdk-3.0 src/classes/window/overview.vala:414.17-414.19: warning: Gdk is deprecated. Use gdk-3.0 src/classes/window/overview.vala:417.17-417.19: warning: Gdk is deprecated. Use gdk-3.0 src/classes/timer_label.vala:103.32-103.38: error:Timeout' is an ambiguous reference between GLib.Timeout' andGtk.Timeout'
this.timeout = Timeout.add( 1000, this.on_timeout );
^^^^^^^
src/classes/window/overview.vala:299.45-299.60: error: Argument 1: Cannot pass out argument to non-output parameter
this.cache.retrieve(0).get_size(out pixmap_width, out pixmap_height);
^^^^^^^^^^^^^^^^
src/classes/window/overview.vala:300.30-300.32: warning: Gdk is deprecated. Use gdk-3.0
src/classes/window/overview.vala:300.41-300.43: warning: Gdk is deprecated. Use gdk-3.0
src/classes/window/overview.vala:301.13-301.15: warning: Gdk is deprecated. Use gdk-3.0
src/classes/window/overview.vala:305.53-305.55: warning: Gdk is deprecated. Use gdk-3.0
src/classes/presentation_controller.vala:831.13-831.15: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/presentation_controller.vala:263.17-263.41: warning: Gee.Map.contains is deprecated
src/classes/presentation_controller.vala:287.17-287.41: warning: Gee.Map.contains is deprecated
src/classes/presentation_controller.vala:331.21-331.23: warning: Gdk is deprecated. Use gdk-3.0
src/classes/presentation_controller.vala:349.26-349.28: warning: Gdk is deprecated. Use gdk-3.0
src/classes/presentation_controller.vala:350.26-350.28: warning: Gdk is deprecated. Use gdk-3.0
src/classes/presentation_controller.vala:351.46-351.48: warning: Gdk is deprecated. Use gdk-3.0
src/classes/presentation_controller.vala:356.26-356.28: warning: Gdk is deprecated. Use gdk-3.0
src/classes/presentation_controller.vala:357.26-357.28: warning: Gdk is deprecated. Use gdk-3.0
src/classes/presentation_controller.vala:358.46-358.48: warning: Gdk is deprecated. Use gdk-3.0
src/classes/window/presenter.vala:144.17-144.19: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/view/default.vala:72.29-72.31: warning: Gdk is deprecated. Use gdk-3.0
src/classes/view/default.vala:233.26-233.28: warning: Gdk is deprecated. Use gdk-3.0
src/classes/view/default.vala:234.13-234.15: warning: Gdk is deprecated. Use gdk-3.0
src/classes/renderer/pdf.vala:108.26-108.28: warning: Gdk is deprecated. Use gdk-3.0
src/classes/renderer/pdf.vala:129.26-129.28: warning: Gdk is deprecated. Use gdk-3.0
src/classes/view/behaviour/pdf_link/signal_provider.vala:88.30-88.32: warning: Gdk is deprecated. Use gdk-3.0
src/classes/view/behaviour/pdf_link/signal_provider.vala:89.30-89.32: warning: Gdk is deprecated. Use gdk-3.0
src/classes/view/behaviour/pdf_link/signal_provider.vala:178.43-178.45: warning: Gdk is deprecated. Use gdk-3.0
src/classes/view/behaviour/pdf_link/implementation.vala:99.21-99.23: warning: Gdk is deprecated. Use gdk-3.0
src/classes/view/behaviour/pdf_link/implementation.vala:100.21-100.23: warning: Gdk is deprecated. Use gdk-3.0
src/classes/window/presenter.vala:265.36-265.39: warning: Rsvg has been deprecated since 2.36.2. Use bindings distributed with librsvg-2.0
src/classes/window/presenter.vala:266.39-266.41: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/window/presenter.vala:270.39-270.41: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/window/presenter.vala:271.65-271.67: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/window/presenter.vala:275.37-275.40: warning: Rsvg has been deprecated since 2.36.2. Use bindings distributed with librsvg-2.0
src/classes/window/presenter.vala:276.40-276.42: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/window/presenter.vala:280.40-280.42: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/window/presenter.vala:281.65-281.67: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/window/presenter.vala:285.36-285.39: warning: Rsvg has been deprecated since 2.36.2. Use bindings distributed with librsvg-2.0
src/classes/window/presenter.vala:286.39-286.41: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/window/presenter.vala:290.39-290.41: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/window/presenter.vala:290.81-290.83: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/renderer/cache/png/engine.vala:45.37-45.41: warning: GLib.Mutex has been deprecated since glib-2.32. Use Mutex (with --target-glib=2.32)
src/classes/renderer/cache/png/engine.vala:63.30-63.45: error: Argument 1: Cannot pass out argument to non-output parameter
pixmap.get_size( out pixmap_width, out pixmap_height );
^^^^^^^^^^^^^^^^
src/classes/renderer/cache/png/engine.vala:124.30-124.32: warning: Gdk is deprecated. Use gdk-3.0
src/classes/renderer/cache/png/engine.vala:131.26-131.28: warning: Gdk is deprecated. Use gdk-3.0
src/classes/renderer/cache/png/engine.vala:132.13-132.15: warning: Gdk is deprecated. Use gdk-3.0
src/classes/renderer/cache/simple/engine.vala:43.37-43.41: warning: GLib.Mutex has been deprecated since glib-2.32. Use Mutex (with --target-glib=2.32)
src/classes/window/presentation.vala:51.17-51.19: warning: Gtk is deprecated. Use gtk+-3.0
src/classes/configFileReader.vala:29.39-29.41: warning: Gdk is deprecated. Use gdk-3.0
src/classes/configFileReader.vala:30.41-30.43: warning: Gdk is deprecated. Use gdk-3.0
src/classes/configFileReader.vala:31.41-31.43: warning: Gdk is deprecated. Use gdk-3.0
src/classes/configFileReader.vala:48.40-48.42: warning: Gdk is deprecated. Use gdk-3.0
src/classes/configFileReader.vala:51.40-51.42: warning: Gdk is deprecated. Use gdk-3.0
src/classes/configFileReader.vala:55.40-55.42: warning: Gdk is deprecated. Use gdk-3.0
src/classes/configFileReader.vala:73.36-73.38: warning: Gdk is deprecated. Use gdk-3.0
src/classes/configFileReader.vala:88.36-88.38: warning: Gdk is deprecated. Use gdk-3.0
src/classes/configFileReader.vala:128.30-128.49: warning: unhandled error GLib.RegexError' var splitRegex = new Regex("\\s\\s*"); ^^^^^^^^^^^^^^^^^^^^ src/classes/configFileReader.vala:129.32-129.52: warning: unhandled errorGLib.RegexError'
var commentRegex = new Regex("\s_#._$");
^^^^^^^^^^^^^^^^^^^^^
src/pdfpc.vala:139.13-139.15: warning: Gdk is deprecated. Use gdk-3.0
src/pdfpc.vala:140.13-140.15: warning: Gtk is deprecated. Use gtk+-3.0
src/pdfpc.vala:177.26-177.28: warning: Gdk is deprecated. Use gdk-3.0
src/pdfpc.vala:217.13-217.15: warning: Gdk is deprecated. Use gdk-3.0
src/pdfpc.vala:218.13-218.15: warning: Gtk is deprecated. Use gtk+-3.0
src/pdfpc.vala:219.13-219.15: warning: Gdk is deprecated. Use gdk-3.0
Compilation failed: 4 error(s), 67 warning(s)
rm: cannot remove ‘paths.c’: No such file or directory

@gergap
Copy link
Author

gergap commented Jan 11, 2014

After downgrading to vala-0.20 I was able to compile it.

I added some traces and after some trial and error I found out that Gtk.Window.fullscreen() used in fullscreen.vala does not work well with kwin (KDE SC 4.12.0).

I tried fluxbox instead of kwin. Same problem.
Then I tried xfvwm4, because the code contained a comment about this wm. This works with pdfpc as expected. Great, so at least I've a workaround for my presentations.

I tried some hacks to get fullscreen working with kwin. No success.
Then I tried to replace fullscreen with resize + set_decorations(false). This worked more or less, but not perfect.
Depending on the screen resolution of the second monitor it worked sometimes, but not always. Also the layouting of the presenter screen was cropped a little bit at the bottom and right side. Don't know why.

Maybe somebody with more vala and Gtk experience can fix that. (It's my first time that I write vala code ;-)

I don't have any problems with Qt based applications going fullscreen, so I don't think we can blame kwin for that.

@davvil
Copy link
Owner

davvil commented Jan 13, 2014

Regretfully I haven't touched the code (or vala for this matter) in a long time, so I cannot give you much help about compiling with the current version at the moment.

Wrt. to the fullscreen problems, I am a bit surprised that fluxbox had problems also. Do you have perhaps some dock that may alter what pdfpc thinks it is a "full screen"? The code for going fullscreen is right now a mess with a lot of trial and error on different WMs (xmonad being what I use), but I didn't find the right way to do it.

@AndreasBilke
Copy link

Hi,

I ran into the same issue here (vala 0.22).

The "Timeout' is an ambiguous reference between" issue could be fixed by
using Gtk.Timeout as a fully qualified reference. But you will ran into more
issues afterwards.

If I understand the vala documentation correctly, vala 0.22 has dropped Gtk
and Gdk 2.0 API support, so the code will no longer compile at all.

I think the whole part with Gdk.Pixmap usage has to be re-written. In
Gdk/Gtk 3.0 you would use Cairo for all the PDF render magic.

In my opinion the issue is not fixable without much work of re-writing.

@Phyks
Copy link

Phyks commented Jan 18, 2014

Do you have more infos on the problem ? I'm running arch linux and the pdfpc package in the AUR only provides the 3.1.1 version (which compile well but doesn't have the support for beamer notes, which I need).

The pdfpc-git package (or direct building from git repo) lead to these errors…

@gergap
Copy link
Author

gergap commented Jan 18, 2014

You can use the git repo or a tar.gz, doesn't matter. But when using the bundled tar.gz ensure to recompile from vala sources, not just compile the C sources.
Vala generates this intermediate C sources, which then are compiled by GCC. The sources compile without problem. It's valac-0.22, which causes the problem. The CMakeLists.txt in pdfpc-3.1.1.tar.gz contains some comments which you can change to compile from vala sources.

@Phyks
Copy link

Phyks commented Jan 18, 2014

@gergap : I'm not sure to understand your answer… pdfpc v3.1.1 which is the latest tar.gz is currently working for me, but doesn't support beamer notes, which I absolutely need.

So, I decided to compile pdfpc from scratch, from the git repo, to have support for beamer notes. The problem is that on Arch Linux, I only have vala 0.22 and that it doesn't compile. I have the same 4 errors as you had in your first post.

I could downgrade vala to 0.20 in order to compile pdfpc and reinstall vala 0.22 after, but is there another option ?

@gergap
Copy link
Author

gergap commented Jan 18, 2014

@Phyks sorry, I misunderstood your question. I thought you can't reproduce this issue.

I think your question is off-topic here, you should better create a new issue next time.
But to answer your question. To compile from git (what you need to do for beamer notes support) you need to downgrade vala to 0.20. As AndreasBilke mentioned there is this incompatibility in vala GDK support, which would require a lot of changes in pdfpc to use vala-0.22.

Downgrading vala worked for me.

@Phyks
Copy link

Phyks commented Jan 18, 2014

@gergap:
Ok for vala downgrading. I'll give it a try. Sorry, I didn't see the date of the submission of the issue and thought it was older (as latest commits in master are almost one year old). I was then wondering if there was some updates since the issue submission :/

@einhander
Copy link

Same on Debian Jessie. Repo have only vala 0.24 and I can't build pdfpc-git with it. Vala 0.20 from Wheezy is OK.

@arnaldorusso
Copy link

I also confirm a compilation problem with vala 0.24. Debian jessie.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants