Skip to content

nknob.c: error: implicit declaration gtk_tooltip_set_text #14

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

Open
papoteur-mga opened this issue Sep 12, 2024 · 5 comments
Open

nknob.c: error: implicit declaration gtk_tooltip_set_text #14

papoteur-mga opened this issue Sep 12, 2024 · 5 comments

Comments

@papoteur-mga
Copy link

I try to build drmr in Mageia repository.
I get this error, with GCC 14:

/builddir/build/BUILD/drumrox-3.3.0/nknob.c: In function 'tooltip_callback':
/builddir/build/BUILD/drumrox-3.3.0/nknob.c:150:5: error: implicit declaration of function 'gtk_tooltip_set_text'; did you mean 'atk_text_get_text'? [-Wimplicit-function-declaration]
150 | gtk_tooltip_set_text(tooltip,buf);
| ^~~~~~~~~~~~~~~~~~~~
| atk_text_get_text
gmake[2]: *** [CMakeFiles/drumrox_ui.dir/build.make:149: CMakeFiles/drumrox_ui.dir/nknob.c.o] Error 1

This is with 3.3.0 release.

@psemiletov
Copy link
Owner

That's why I don't like GTK - there changes even old API's. Please try my new drum machine plugin instead - https://github.com/psemiletov/drumlabooh

@papoteur-mga
Copy link
Author

Thanks for your quick reply.
I found that this patch can solve the compilation problem:

From 0cb62de9f041b6a80a276a5c38b2c869c38f9cf2 Mon Sep 17 00:00:00 2001
From: Papoteur <[email protected]>
Date: Thu, 12 Sep 2024 17:32:29 +0200
Subject: [PATCH] drumrox fix implicit declaration

---
 nknob.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/nknob.c b/nknob.c
index 71d9661..d5e8d79 100644
--- a/nknob.c
+++ b/nknob.c
@@ -35,6 +35,7 @@
 #include <stdlib.h>
 #include <gtk/gtkmain.h>
 #include <gtk/gtksignal.h>
+#include <gtk/gtktooltip.h>
 #include "nknob.h"
 
 #define SCROLL_DELAY_LENGTH     100
-- 
2.41.1

Packaging of drumlabooh is another business, we don't have packages for Juce nor speex_resampler_c++

@psemiletov
Copy link
Owner

Thank you for the patch, fixed - https://github.com/psemiletov/drumrox/releases/tag/3.3.1
And about Drumlabooh - it works as the static build, with speex_resampler included at the source tree, and JUCE is downloaded at the build time. For example, that how looks the AUR package for Drumlabooh: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=drumlabooh

@papoteur-mga
Copy link
Author

Thanks for the quick release.
In our distribution, we have at least these rules:

  • no binaries are included as source; all should be built on distro side;
  • network access during the build is cut; we should have the same sources when building again at any time;
  • libraries are packaged independently; this is not an absolute rule; this is to allow a better management of security concerns.

AUR has relaxed rules.
speex_resampler could be OK, but we should have juce as separate package.

@papoteur-mga
Copy link
Author

Closing as completed

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

2 participants