CompileOF.sh fails on arch linux gcc9

install_dependencies and install_codecs found in scripts/linux/archlinux work great, but compileOF.sh gives me errors both in the stable and nightly version (20191208) for gcc6

on stable 0.11.0 if i launch compileOF.sh -j4 get:

In file included from /home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:17:
/usr/include/AL/alc.h:34:16: error: using typedef-name 'ALCdevice' after 'struct'
   34 | typedef struct ALCdevice ALCdevice;
      |                ^~~~~~~~~
In file included from /home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:1:
/home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.h:13:33: note: 'ALCdevice' has a previous declaration here
   13 | typedef struct ALCdevice_struct ALCdevice;
      |                                 ^~~~~~~~~
In file included from /home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:17:
/usr/include/AL/alc.h:34:26: error: conflicting declaration 'typedef int ALCdevice'
   34 | typedef struct ALCdevice ALCdevice;
      |                          ^~~~~~~~~
In file included from /home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:1:
/home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.h:13:33: note: previous declaration as 'typedef struct ALCdevice_struct ALCdevice'
   13 | typedef struct ALCdevice_struct ALCdevice;
      |                                 ^~~~~~~~~
In file included from /home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:17:
/usr/include/AL/alc.h:36:16: error: using typedef-name 'ALCcontext' after 'struct'
   36 | typedef struct ALCcontext ALCcontext;
      |                ^~~~~~~~~~
In file included from /home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:1:
/home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.h:15:34: note: 'ALCcontext' has a previous declaration here
   15 | typedef struct ALCcontext_struct ALCcontext;
      |                                  ^~~~~~~~~~
In file included from /home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:17:
/usr/include/AL/alc.h:36:27: error: conflicting declaration 'typedef int ALCcontext'
   36 | typedef struct ALCcontext ALCcontext;
      |                           ^~~~~~~~~~
In file included from /home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:1:
/home/lolusername/dev/openframeworks/libs/openFrameworks/sound/ofOpenALSoundPlayer.h:15:34: note: previous declaration as 'typedef struct ALCcontext_struct ALCcontext'
   15 | typedef struct ALCcontext_struct ALCcontext;
      |                                  ^~~~~~~~~~
make[1]: *** [makefileCommon/compile.core.mk:238: /home/lolusername/dev/openframeworks/libs/openFrameworksCompiled/lib/linux64/obj/Debug/libs/openFrameworks/sound/ofOpenALSoundPlayer.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [makefileCommon/compile.core.mk:212: Debug] Error 2
there has been a problem compiling Debug OF library
please report this problem in the forums

In the current nightly of_v20191208_linux64gcc6_nightly.tar.gz if i compile with compileOF.sh -j4 i get:

In file included from /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:17:
/usr/include/AL/alc.h:34:16: error: using typedef-name 'ALCdevice' after 'struct'
   34 | typedef struct ALCdevice ALCdevice;
      |                ^~~~~~~~~
In file included from /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:1:
/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.h:13:33: note: 'ALCdevice' has a previous declaration here
   13 | typedef struct ALCdevice_struct ALCdevice;
      |                                 ^~~~~~~~~
In file included from /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:17:
/usr/include/AL/alc.h:34:26: error: conflicting declaration 'typedef int ALCdevice'
   34 | typedef struct ALCdevice ALCdevice;
      |                          ^~~~~~~~~
In file included from /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:1:
/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.h:13:33: note: previous declaration as 'typedef struct ALCdevice_struct ALCdevice'
   13 | typedef struct ALCdevice_struct ALCdevice;
      |                                 ^~~~~~~~~
In file included from /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:17:
/usr/include/AL/alc.h:36:16: error: using typedef-name 'ALCcontext' after 'struct'
   36 | typedef struct ALCcontext ALCcontext;
      |                ^~~~~~~~~~
In file included from /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:1:
/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.h:15:34: note: 'ALCcontext' has a previous declaration here
   15 | typedef struct ALCcontext_struct ALCcontext;
      |                                  ^~~~~~~~~~
In file included from /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:17:
/usr/include/AL/alc.h:36:27: error: conflicting declaration 'typedef int ALCcontext'
   36 | typedef struct ALCcontext ALCcontext;
      |                           ^~~~~~~~~~
In file included from /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp:1:
/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofOpenALSoundPlayer.h:15:34: note: previous declaration as 'typedef struct ALCcontext_struct ALCcontext'
   15 | typedef struct ALCcontext_struct ALCcontext;
      |                                  ^~~~~~~~~~
Compiling /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/sound/ofFmodSoundPlayer.cpp
g++ -g3 -DDEBUG -Wall -Werror=return-type -std=c++14 -DGCC_HAS_REGEX -DOF_USING_GTK -DOF_USING_MPG123 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi-3.2.1/include -I/usr/include/pixm
an-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/gstreamer-1.0 -I/usr/include/orc-0.4 -I/usr/include/AL -I/usr/include/rtaudio -D__LINUX_ALSA__ -D__LINUX_PULSE__ -D__UNIX_JACK__ -D_R
EENTRANT -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-sp
i2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -pthread -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/fmodex/include -I/home/lolusername/dev/of_v20191208_linux64gcc6_re
lease/libs/glm/include -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/glm/include/glm -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/glm/include/glm/simd -I/home/lolusername/dev/of_v20191208_linux
64gcc6_release/libs/glm/include/glm/gtx -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/glm/include/glm/gtc -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/glm/include/glm/ext -I/home/lolusername/de
v/of_v20191208_linux64gcc6_release/libs/glm/include/glm/detail -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/json/include -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/kiss/include -I/home/lolus
ername/dev/of_v20191208_linux64gcc6_release/libs/pugixml/include -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/tess2/include -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/utf8/include -I/home/lo
lusername/dev/of_v20191208_linux64gcc6_release/libs/utf8/include/utf8 -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/gr
aphics -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/math -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/utils -I/home/lolusername/dev/of_v20191208_linux64gcc6_relea
se/libs/openFrameworks/video -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/gl -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/types -I/home/lolusername/dev/of_v201912
08_linux64gcc6_release/libs/openFrameworks/sound -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/communication -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/app -I/ho
me/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/events -I/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworks/3d  -MMD -MP -MF /home/lolusername/dev/of_v20191208_linux64gcc6_releas
e/libs/openFrameworksCompiled/lib/linux64/obj/Debug/libs/openFrameworks/sound/ofFmodSoundPlayer.d -MT/home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworksCompiled/lib/linux64/obj/Debug/libs/openFrameworks/
sound/ofFmodSoundPlayer.o -o /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworksCompiled/lib/linux64/obj/Debug/libs/openFrameworks/sound/ofFmodSoundPlayer.o -c /home/lolusername/dev/of_v20191208_linux64g
cc6_release/libs/openFrameworks/sound/ofFmodSoundPlayer.cpp
make[1]: *** [makefileCommon/compile.core.mk:238: /home/lolusername/dev/of_v20191208_linux64gcc6_release/libs/openFrameworksCompiled/lib/linux64/obj/Debug/libs/openFrameworks/sound/ofOpenALSoundPlayer.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [makefileCommon/compile.core.mk:212: Debug] Error 2
there has been a problem compiling Debug OF library
please report this problem in the forums

I also am unable to use archlinux’ AUR package https://aur.archlinux.org/openframeworks, makepkg -si gives me an error as well.

Any pointer on how to fix this? I hope i’m doing everything correctly, first time i dabble with OF

Thanks!

Hello and welcome,

I think the problem is related to the new version of OpenAL that was released a few days ago and that breaks some structure definition. The problem is discussed there
There is also an opened issue on GitHub.

1 Like

thanks that fixed it!