Build failure on Archlinux in docker container
I am trying to build master in a docker container, and every time without fail, it gets to a point in the build and fails. Here is the log of when it starts building:
Now type "make" to compile.
make all-recursive
make[1]: Entering directory '/git/xfce-test/xfce4-panel/src/xfce4-panel'
Making all in libxfce4panel
make[2]: Entering directory '/git/xfce-test/xfce4-panel/src/xfce4-panel/libxfce4panel'
GEN libxfce4panel-enum-types.h
GEN libxfce4panel-alias.h
GEN libxfce4panel-aliasdef.c
GEN libxfce4panel-enum-types.c
GEN libxfce4panel-marshal.c
INFO: Reading libxfce4panel-marshal.list...
GEN libxfce4panel-marshal.h
INFO: Reading libxfce4panel-marshal.list...
make all-am
make[3]: Entering directory '/git/xfce-test/xfce4-panel/src/xfce4-panel/libxfce4panel'
CC libxfce4panel_2_0_la-libxfce4panel-aliasdef.lo
CC libxfce4panel_2_0_la-libxfce4panel-enum-types.lo
CC libxfce4panel_2_0_la-libxfce4panel-marshal.lo
CC libxfce4panel_2_0_la-libxfce4panel-config.lo
CC libxfce4panel_2_0_la-xfce-arrow-button.lo
CC libxfce4panel_2_0_la-xfce-panel-convenience.lo
CC libxfce4panel_2_0_la-xfce-panel-plugin.lo
CC libxfce4panel_2_0_la-xfce-panel-plugin-provider.lo
CC libxfce4panel_2_0_la-xfce-panel-image.lo
CCLD libxfce4panel-2.0.la
GISCAN Libxfce4panel-2.0.gir
In file included from /usr/include/bits/libc-header-start.h:33,
from /usr/include/limits.h:26,
from /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h:195,
from /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h:7,
from /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h:34,
from /usr/lib/glib-2.0/include/glibconfig.h:11,
from /usr/include/glib-2.0/glib/gtypes.h:32,
from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:22,
from /git/xfce-test/xfce4-panel/src/xfce4-panel/libxfce4panel/libxfce4panel-enum-types.h:6,
from /git/xfce-test/xfce4-panel/src/xfce4-panel/libxfce4panel/g-ir-cpp-qodd5qut.c:4:
/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
397 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
| ^~~~~~~
GICOMP Libxfce4panel-2.0.gir
VAPIGEN libxfce4panel-2.0.vapi
Libxfce4panel-2.0.gir:390.5-393.20: error: `Xfce' already contains a definition for `MAJOR_VERSION'
libxfce4util-1.0.vapi:95.2-95.31: note: previous definition of `MAJOR_VERSION' was here
Libxfce4panel-2.0.gir:403.5-406.20: error: `Xfce' already contains a definition for `MICRO_VERSION'
libxfce4util-1.0.vapi:97.2-97.31: note: previous definition of `MICRO_VERSION' was here
Libxfce4panel-2.0.gir:416.5-419.20: error: `Xfce' already contains a definition for `MINOR_VERSION'
libxfce4util-1.0.vapi:99.2-99.31: note: previous definition of `MINOR_VERSION' was here
make[3]: *** [/usr/share/vala/Makefile.vapigen:61: libxfce4panel-2.0.vapi] Error 1
make[3]: Leaving directory '/git/xfce-test/xfce4-panel/src/xfce4-panel/libxfce4panel'
make[2]: Leaving directory '/git/xfce-test/xfce4-panel/src/xfce4-panel/libxfce4panel'
make[2]: *** [Makefile:785: all] Error 2
make[1]: Leaving directory '/git/xfce-test/xfce4-panel/src/xfce4-panel'
make[1]: *** [Makefile:607: all-recursive] Error 1
make: *** [Makefile:518: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
It looks like it has something to do with libxfce4util, which was built earlier, but I've been unable to trace the cause.
You can test it yourself by downloading the repo at: https://github.com/xfce-test/container-archlinux. The PKGBUILD files used to build all the packages are located in xfce/db.
Running the container
If you want to run the container, just run the ./app/scripts/build-xfce-test.sh script from the root folder.
Alternatively, open the docker file and comment out the part that says RUN /container/scripts/install-xfce-packages.sh, build the container using the above script, then start it using the start script ./app/scripts/start-xfce-test.sh.
Everything you need will be mounted at /container and /git/xfce-test folder.