Trouble compiling on Fedora 39

Moderators: MattKingUSA, khz, muldjord, deva

Post Reply
smerkley77
Posts: 2
Joined: Thu Jan 11, 2024 5:17 am

Trouble compiling on Fedora 39

Post by smerkley77 »

Trying to compile from tarball because it seems there's no package available for Fedora. It's my first time trying to compile anything from source -- I'm not much of a programmer. I did "dnf groupinstall 'Development Tools'" but the configure script still complained about not having gcc so then I did "dnf install gcc-c++" and it finished successfully. But I got type errors during make so I guess I'm using the wrong compiler?

Code: Select all

make[3]: Entering directory '/home/seth/Programs/DrumGizmo/drumgizmo-0.9.20/plugin'
  CC       drumgizmo_la-hugin.lo
  CXX      drumgizmo_la-midievent.lo
  CXX      drumgizmo_la-pluginlv2.lo
In file included from ../plugin/plugingizmo/pluginlv2.h:29,
                 from ../plugin/plugingizmo/pluginlv2.cc:27:
../plugin/plugingizmo/plugin.h:167:22: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
  167 |                 std::uint8_t* data{nullptr}; //< Allocated (or reused) RGBA buffer, filled by the plugin.
      |                      ^~~~~~~
      |                      wint_t
../plugin/plugingizmo/pluginlv2.cc: In static member function ‘static LV2_Inline_Display_Image_Surface* PluginLV2::inlineRender(LV2_Handle, uint32_t, uint32_t)’:
../plugin/plugingizmo/pluginlv2.cc:492:57: error: ‘struct Plugin::InlineDrawContext’ has no member named ‘data’
  492 |         plugin_lv2->surf.data = plugin_lv2->drawContext.data;
      |                                                         ^~~~
make[3]: *** [Makefile:768: drumgizmo_la-pluginlv2.lo] Error 1
make[3]: Leaving directory '/home/seth/Programs/DrumGizmo/drumgizmo-0.9.20/plugin'
make[2]: *** [Makefile:871: all-recursive] Error 1
make[2]: Leaving directory '/home/seth/Programs/DrumGizmo/drumgizmo-0.9.20/plugin'
make[1]: *** [Makefile:470: all-recursive] Error 1
make[1]: Leaving directory '/home/seth/Programs/DrumGizmo/drumgizmo-0.9.20'
make: *** [Makefile:402: all] Error 2
User avatar
deva
Established Member
Posts: 285
Joined: Sun Oct 23, 2016 10:15 am
Has thanked: 3 times
Been thanked: 31 times
Contact:

Re: Trouble compiling on Fedora 39

Post by deva »

I think this issue has already been fixed in git, so could you try compiling from the git develop branch instead?
See https://drumgizmo.org/wiki/doku.php?id= ... it_sources for details - it should be up-to-date

smerkley77
Posts: 2
Joined: Thu Jan 11, 2024 5:17 am

Re: Trouble compiling on Fedora 39

Post by smerkley77 »

Okay, cloned the git repository and now I'm getting an error with the autogen script.

Code: Select all

autoreconf: export WARNINGS=no-unsupported
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal --force 
autoreconf: running: /usr/bin/autoconf --force
configure.ac:625: warning: The macro `AC_HAVE_LIBRARY' is obsolete.
configure.ac:625: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:625: the top level
configure.ac:630: warning: The macro `AC_HAVE_LIBRARY' is obsolete.
configure.ac:630: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:630: the top level
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:9: installing './compile'
configure.ac:4: installing './missing'
dggui/Makefile.am: installing './depcomp'
dggui/Makefile.am: error: Objective C++ source seen but 'OBJCXX' is undefined
dggui/Makefile.am:   The usual way to define 'OBJCXX' is to add 'AC_PROG_OBJCXX'
dggui/Makefile.am:   to 'configure.ac' and run 'autoconf' again.
plugin/vst/Makefile.am:6: warning: ':='-style assignments are not portable
plugin/vst/Makefile.am:6: warning: filter-out -Werror -Wall ,$(CXXFLAGS: non-POSIX variable name
plugin/vst/Makefile.am:6: (probably a GNU make extension)
plugin/vst/Makefile.am:6: warning: 'CXXFLAGS' is a user variable, you should not override it;
plugin/vst/Makefile.am:6: use 'AM_CXXFLAGS' instead
autoreconf: error: automake failed with exit status: 1
User avatar
deva
Established Member
Posts: 285
Joined: Sun Oct 23, 2016 10:15 am
Has thanked: 3 times
Been thanked: 31 times
Contact:

Re: Trouble compiling on Fedora 39

Post by deva »

This issue has also been fixed in the develop branch. Did you check out the develop branch before compiling (and update the submodules)?

You can follow these steps to get it:

Code: Select all

git clone -b develop git://git.drumgizmo.org/drumgizmo.git --recursive

and then follow the compilation steps.

Simply cloning the code will provide you with the master branch, which contains the exact same code as is in the latest release tar-ball.

BeanDrummer
Posts: 1
Joined: Wed Jan 17, 2024 11:28 pm

Re: Trouble compiling on Fedora 39

Post by BeanDrummer »

Hi! I'm also trying to compile on Fedora 39 but i'm not having any luck, even using the devel branch. I get the following output when running make

Code: Select all

make  all-recursive
make[1]: Entering directory '/home/flippedbean/Downloads/drumgizmo'
Making all in tools
make[2]: Entering directory '/home/flippedbean/Downloads/drumgizmo/tools'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/tools'
Making all in src
make[2]: Entering directory '/home/flippedbean/Downloads/drumgizmo/src'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/src'
Making all in dggui
make[2]: Entering directory '/home/flippedbean/Downloads/drumgizmo/dggui'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/dggui'
Making all in plugingui
make[2]: Entering directory '/home/flippedbean/Downloads/drumgizmo/plugingui'
make  all-recursive
make[3]: Entering directory '/home/flippedbean/Downloads/drumgizmo/plugingui'
Making all in locale
make[4]: Entering directory '/home/flippedbean/Downloads/drumgizmo/plugingui/locale'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/plugingui/locale'
make[4]: Entering directory '/home/flippedbean/Downloads/drumgizmo/plugingui'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/plugingui'
make[3]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/plugingui'
make[2]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/plugingui'
Making all in plugin
make[2]: Entering directory '/home/flippedbean/Downloads/drumgizmo/plugin'
Making all in vst
make[3]: Entering directory '/home/flippedbean/Downloads/drumgizmo/plugin/vst'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/plugin/vst'
make[3]: Entering directory '/home/flippedbean/Downloads/drumgizmo/plugin'
  CXX      ttlgen-ttlgen.o
In file included from ../plugin/plugingizmo/pluginlv2.h:29,
                 from ../plugin/plugingizmo/ttlgen.cc:31:
../plugin/plugingizmo/plugin.h:167:22: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
  167 |                 std::uint8_t* data{nullptr}; //< Allocated (or reused) RGBA buffer, filled by the plugin.
      |                      ^~~~~~~
      |                      wint_t
make[3]: *** [Makefile:820: ttlgen-ttlgen.o] Error 1
make[3]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/plugin'
make[2]: *** [Makefile:888: all-recursive] Error 1
make[2]: Leaving directory '/home/flippedbean/Downloads/drumgizmo/plugin'
make[1]: *** [Makefile:473: all-recursive] Error 1
make[1]: Leaving directory '/home/flippedbean/Downloads/drumgizmo'
make: *** [Makefile:405: all] Error 2
User avatar
deva
Established Member
Posts: 285
Joined: Sun Oct 23, 2016 10:15 am
Has thanked: 3 times
Been thanked: 31 times
Contact:

Re: Trouble compiling on Fedora 39

Post by deva »

Try adding #include <cstdint> at the top of the file?

User avatar
deva
Established Member
Posts: 285
Joined: Sun Oct 23, 2016 10:15 am
Has thanked: 3 times
Been thanked: 31 times
Contact:

Re: Trouble compiling on Fedora 39

Post by deva »

Strike that. This include file is already there...
The reported error doesn't make much sense then. Which compiler are you using?

sullivan10
Posts: 1
Joined: Fri Mar 22, 2024 11:45 pm

Re: Trouble compiling on Fedora 39

Post by sullivan10 »

Hi !
I have the same issue, and it compile if you change in the plugin.h file <cstdlib> by <cstdint>
Works for me.

User avatar
deva
Established Member
Posts: 285
Joined: Sun Oct 23, 2016 10:15 am
Has thanked: 3 times
Been thanked: 31 times
Contact:

Re: Trouble compiling on Fedora 39

Post by deva »

I just updated the compilers on my build servers, and now they show the same problem.
I have pushed a fix to the develop branch. Thanks for reporting :-)

Post Reply