[GH-ISSUE #7108] build: ../../src/lib/syscall.c:913:9: error: expected expression before ‘}’ token (Fails to build on i686, kernel 3.8) #3488

Closed
opened 2026-05-05 10:01:44 -06:00 by gitea-mirror · 0 comments
Owner

Originally created by @Zopolis4 on GitHub (Mar 17, 2026).
Original GitHub issue: https://github.com/netblue30/firejail/issues/7108

Steps to Reproduce

docker run --platform linux/386 --rm -it satmandu/crew-pre-glibc-standalone:alex-i686.m58

Once in docker container:

cd
git clone https://github.com/netblue30/firejail
cd firejail
autoreconf -fvi
./configure
make

Errors

autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: /usr/local/bin/autoconf --force
autoreconf: configure.ac: not using Autoheader
autoreconf: configure.ac: not using Automake
autoreconf: Leaving directory '.'
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking for codespell... no
checking for cppcheck... no
checking for gawk... gawk
checking for gzip... gzip
checking for scan-build... no
checking for strip... strip
checking for tar... tar
checking whether C compiler accepts -MMD -MP... yes
checking whether C compiler accepts -D_FORTIFY_SOURCE=2... yes
checking whether C compiler accepts -mindirect-branch=thunk... yes
checking whether C compiler accepts -fstack-clash-protection... yes
checking whether C compiler accepts -fstack-protector-strong... yes
checking pkg-config is at least version 0.9.0... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for linux/landlock.h... no
configure: WARNING: header not found: linux/landlock.h, building without Landlock support
checking for linux/seccomp.h... yes
configure: creating ./config.status
config.status: creating config.mk
config.status: creating config.sh

Compile options:
   CC: gcc
   CFLAGS: -march=i686
   CPPFLAGS: 
   LDFLAGS: 
   EXTRA_CFLAGS:  -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong
   DEPS_CFLAGS:  -MMD -MP
   EXTRA_LDFLAGS: 
   LIBS: 
   fatal warnings: 
   gcov instrumentation: 
   install as a SUID executable: -DHAVE_SUID
   install contrib scripts: yes
   prefix: /usr/local
   sysconfdir: ${prefix}/etc
   Spectre compiler patch: yes

Features:
   always enforce filters: 
   apparmor: 
   busybox workaround: no
   chroot: -DHAVE_CHROOT
   DBUS proxy support: -DHAVE_DBUSPROXY
   disable user profiles: 
   enable --output logging: -DHAVE_OUTPUT
   file transfer support: -DHAVE_FILE_TRANSFER
   Landlock support: 
   network: -DHAVE_NETWORK
   private home support: -DHAVE_PRIVATE_HOME
   private lib support: 
   sandbox check: -DHAVE_SANDBOX_CHECK
   SELinux labeling support: 
   user namespace: -DHAVE_USERNS
   X11 sandboxing support: -DHAVE_X11

make -C src/lib
make[1]: Entering directory '/home/chronos/user/firejail/src/lib'
gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra  -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"'   -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER   -DHAVE_NETWORK  -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME  -DHAVE_SANDBOX_CHECK  -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686  -c ../../src/lib/common.c -o ../../src/lib/common.o
gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra  -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"'   -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER   -DHAVE_NETWORK  -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME  -DHAVE_SANDBOX_CHECK  -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686  -c ../../src/lib/errno.c -o ../../src/lib/errno.o
gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra  -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"'   -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER   -DHAVE_NETWORK  -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME  -DHAVE_SANDBOX_CHECK  -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686  -c ../../src/lib/firejail_user.c -o ../../src/lib/firejail_user.o
gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra  -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"'   -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER   -DHAVE_NETWORK  -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME  -DHAVE_SANDBOX_CHECK  -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686  -c ../../src/lib/ldd_utils.c -o ../../src/lib/ldd_utils.o
gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra  -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"'   -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER   -DHAVE_NETWORK  -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME  -DHAVE_SANDBOX_CHECK  -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686  -c ../../src/lib/libnetlink.c -o ../../src/lib/libnetlink.o
gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra  -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"'   -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER   -DHAVE_NETWORK  -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME  -DHAVE_SANDBOX_CHECK  -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686  -c ../../src/lib/pid.c -o ../../src/lib/pid.o
gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra  -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"'   -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER   -DHAVE_NETWORK  -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME  -DHAVE_SANDBOX_CHECK  -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686  -c ../../src/lib/syscall.c -o ../../src/lib/syscall.o
../../src/lib/syscall.c:913:9: error: expected expression before ‘}’ token
  913 |         },
      |         ^
make[1]: *** [../../src/prog.mk:25: ../../src/lib/syscall.o] Error 1
make[1]: Leaving directory '/home/chronos/user/firejail/src/lib'
make: *** [Makefile:79: src/lib] Error 2

Environment

  • Name/version/arch of the Linux kernel (uname -srm):
  • Name/version of the Linux distribution (e.g. "Ubuntu 20.04" or "Arch Linux"): Chromebrew
  • Name/version of the C compiler (e.g. "gcc 14.1.1-1"): gcc 15.2.0
  • Name/version of the libc (e.g. "glibc 2.40-1"): glibc 2.23-6
  • Name/version of the Linux API headers (e.g. "linux-api-headers 6.10-1" on
    Arch Linux): linuxheaders 3.8
  • Version of the source code being built (git rev-parse HEAD): eed8f78fd9
Originally created by @Zopolis4 on GitHub (Mar 17, 2026). Original GitHub issue: https://github.com/netblue30/firejail/issues/7108 ### Steps to Reproduce ```sh docker run --platform linux/386 --rm -it satmandu/crew-pre-glibc-standalone:alex-i686.m58 ``` Once in docker container: ```sh cd git clone https://github.com/netblue30/firejail cd firejail autoreconf -fvi ./configure make ``` ## Errors ``` autoreconf: export WARNINGS= autoreconf: Entering directory '.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: configure.ac: not using Intltool autoreconf: configure.ac: not using Gtkdoc autoreconf: running: /usr/local/bin/autoconf --force autoreconf: configure.ac: not using Autoheader autoreconf: configure.ac: not using Automake autoreconf: Leaving directory '.' checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking for codespell... no checking for cppcheck... no checking for gawk... gawk checking for gzip... gzip checking for scan-build... no checking for strip... strip checking for tar... tar checking whether C compiler accepts -MMD -MP... yes checking whether C compiler accepts -D_FORTIFY_SOURCE=2... yes checking whether C compiler accepts -mindirect-branch=thunk... yes checking whether C compiler accepts -fstack-clash-protection... yes checking whether C compiler accepts -fstack-protector-strong... yes checking pkg-config is at least version 0.9.0... yes checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for linux/landlock.h... no configure: WARNING: header not found: linux/landlock.h, building without Landlock support checking for linux/seccomp.h... yes configure: creating ./config.status config.status: creating config.mk config.status: creating config.sh Compile options: CC: gcc CFLAGS: -march=i686 CPPFLAGS: LDFLAGS: EXTRA_CFLAGS: -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong DEPS_CFLAGS: -MMD -MP EXTRA_LDFLAGS: LIBS: fatal warnings: gcov instrumentation: install as a SUID executable: -DHAVE_SUID install contrib scripts: yes prefix: /usr/local sysconfdir: ${prefix}/etc Spectre compiler patch: yes Features: always enforce filters: apparmor: busybox workaround: no chroot: -DHAVE_CHROOT DBUS proxy support: -DHAVE_DBUSPROXY disable user profiles: enable --output logging: -DHAVE_OUTPUT file transfer support: -DHAVE_FILE_TRANSFER Landlock support: network: -DHAVE_NETWORK private home support: -DHAVE_PRIVATE_HOME private lib support: sandbox check: -DHAVE_SANDBOX_CHECK SELinux labeling support: user namespace: -DHAVE_USERNS X11 sandboxing support: -DHAVE_X11 make -C src/lib make[1]: Entering directory '/home/chronos/user/firejail/src/lib' gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"' -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER -DHAVE_NETWORK -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME -DHAVE_SANDBOX_CHECK -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686 -c ../../src/lib/common.c -o ../../src/lib/common.o gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"' -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER -DHAVE_NETWORK -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME -DHAVE_SANDBOX_CHECK -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686 -c ../../src/lib/errno.c -o ../../src/lib/errno.o gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"' -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER -DHAVE_NETWORK -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME -DHAVE_SANDBOX_CHECK -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686 -c ../../src/lib/firejail_user.c -o ../../src/lib/firejail_user.o gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"' -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER -DHAVE_NETWORK -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME -DHAVE_SANDBOX_CHECK -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686 -c ../../src/lib/ldd_utils.c -o ../../src/lib/ldd_utils.o gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"' -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER -DHAVE_NETWORK -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME -DHAVE_SANDBOX_CHECK -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686 -c ../../src/lib/libnetlink.c -o ../../src/lib/libnetlink.o gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"' -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER -DHAVE_NETWORK -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME -DHAVE_SANDBOX_CHECK -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686 -c ../../src/lib/pid.c -o ../../src/lib/pid.o gcc -ggdb -O2 -DVERSION='"0.9.81"' -Wall -Wextra -Wformat -Wformat-security -fstack-protector-all -DPREFIX='"/usr/local"' -DSYSCONFDIR='"/usr/local/etc/firejail"' -DLIBDIR='"/usr/local/lib"' -DBINDIR='"/usr/local/bin"' -DVARDIR='"/usr/local/var/lib/firejail"' -DHAVE_CHROOT -DHAVE_DBUSPROXY -DHAVE_FILE_TRANSFER -DHAVE_NETWORK -DHAVE_OUTPUT -DHAVE_PRIVATE_HOME -DHAVE_SANDBOX_CHECK -DHAVE_SUID -DHAVE_USERNS -DHAVE_X11 -D_FORTIFY_SOURCE=2 -mindirect-branch=thunk -fstack-clash-protection -fstack-protector-strong -MMD -MP -fPIE -march=i686 -c ../../src/lib/syscall.c -o ../../src/lib/syscall.o ../../src/lib/syscall.c:913:9: error: expected expression before ‘}’ token 913 | }, | ^ make[1]: *** [../../src/prog.mk:25: ../../src/lib/syscall.o] Error 1 make[1]: Leaving directory '/home/chronos/user/firejail/src/lib' make: *** [Makefile:79: src/lib] Error 2 ``` ### Environment - Name/version/arch of the Linux kernel (`uname -srm`): - Name/version of the Linux distribution (e.g. "Ubuntu 20.04" or "Arch Linux"): `Chromebrew` - Name/version of the C compiler (e.g. "gcc 14.1.1-1"): `gcc 15.2.0` - Name/version of the libc (e.g. "glibc 2.40-1"): `glibc 2.23-6` - Name/version of the Linux API headers (e.g. "linux-api-headers 6.10-1" on Arch Linux): `linuxheaders 3.8` - Version of the source code being built (`git rev-parse HEAD`): eed8f78fd981373f528ec737271bf81622e33c53
gitea-mirror 2026-05-05 10:01:44 -06:00
  • closed this issue
  • added the
    bug
    label
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/firejail#3488
No description provided.