https://bugs.winehq.org/show_bug.cgi?id=48824
Bug ID: 48824 Summary: build error - xaudio2_7/xact_dll.c:1192:9: error: case label does not reduce to an integer constant Product: Wine-staging Version: 5.4 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: abolte@systemsaviour.com CC: leslie_alistair@hotmail.com, z.figura12@gmail.com Distribution: ---
Building on Debian Buster, I ran into the following error with 5.4-staging using my regular build scripts.
ccache gcc -m64 -c -o xact_dll.o /mnt/gaming/applications/wine/git/dlls/xactengine3_6/../xaudio2_7/xact_dll.c -I. \ -I/mnt/gaming/applications/wine/git/dlls/xactengine3_6 \ -I/mnt/gaming/applications/wine/git/dlls/xactengine3_6/../xaudio2_7 -I../../include \ -I/mnt/gaming/applications/wine/git/include -D__WINESRC__ -DXACT3_VER=0x0306 -D_REENTRANT -fPIC \ -Wall -pipe -fcf-protection=none -fno-stack-protector -fno-strict-aliasing \ -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wno-packed-not-aligned \ -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla \ -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 -gstrict-dwarf -g -O0 /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c: In function ‘unwrap_notificationdesc’: /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1192:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_GLOBALVARIABLECHANGED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1193:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_GUICONNECTED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1194:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_GUIDISCONNECTED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1198:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_CUEPREPARED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1199:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_CUEPLAY: ^~~~ ... Build of shared WoW64 failed.
I don't have time to investigate right now, but I was able to build fine if I avoided the xactengine-initial patch set.
$ ./patchinstall.sh DESTDIR=../../git --all -W xactengine-initial
https://bugs.winehq.org/show_bug.cgi?id=48824
Adam Bolte abolte@systemsaviour.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |abolte@systemsaviour.com Hardware|x86 |x86-64
https://bugs.winehq.org/show_bug.cgi?id=48824
Adam Bolte abolte@systemsaviour.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Debian
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #1 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- This suggest the the include directory hasn't been rebuilt for some reason.
Please check that the file include/xact3.h in your build tree actually has the XACTNOTIFICATIONTYPE_GLOBALVARIABLECHANGED define
Maybe a make distclean, if you haven't tried already.
I'm not seeing this error on Debian Bullseye.
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #2 from Adam Bolte abolte@systemsaviour.com --- Created attachment 66740 --> https://bugs.winehq.org/attachment.cgi?id=66740 winebuilder
I have attached my "winebuilder" build script for building a shared WoW64 using schroot.
I put the winebuilder script in my path somewhere and then run something like this:
$ git clone git://source.winehq.org/git/wine.git $ git clone https://github.com/wine-staging/wine-staging.git git-patches-staging $ cd wine $ git checkout v5.4 $ git checkout -b 5.4-staging $ cd ../git-patches-staging/patches $ ./patchinstall.sh DESTDIR=../../git --all $ cd ../../git $ git add . $ git commit -v -m 'Apply wine-staging patches for v5.4.' $ cd .. $ winebuilder
In the winebuilder script, you can see that the clean_repo function is regularly called, which does the following:
echo "Cleaning the git repository..." # If Makefile exists (which is generated by configure), remove all # files created by configure. if [ -f "${git_path}/Makefile" ] then make -C "${git_path}" distclean fi # Delete everything not in git. cd ${git_path} git reset --hard git clean -fdx
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #3 from Adam Bolte abolte@systemsaviour.com --- (replace `cd ../../git` with `cd ../../wine` in the example above, sorry)
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #4 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- The OBS server has built wine-staging 5.4, so there must be something else going on. There was a change to correct an issue with the test in xactengine-initial and a copy updates to FIXMES, but nothing else.
Could ccache be returning a bad result? I've had issues recently with ucrtbase being updated which causing linker error at other points because the objects files weren't being recompiled. (not the same error, just suggesting possible caueses).
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #5 from Adam Bolte abolte@systemsaviour.com --- (In reply to Alistair Leslie-Hughes from comment #4)
Could ccache be returning a bad result? I've had issues recently with ucrtbase being updated which causing linker error at other points because the objects files weren't being recompiled. (not the same error, just suggesting possible caueses).
Thanks for the suggestion. Unfortunately it didn't help.
$ diff winebuilder.orig winebuilder 26c26,27 < export CC="ccache gcc" ---
#export CC="ccache gcc" echo "CC: $CC"
$ $ winebuilder CC: Checking packages... * autoconf * dctrl-tools
...
gcc -m64 -c -o xact_dll.o /mnt/gaming/applications/wine/git/dlls/xactengine3_4/../xaudio2_7/xact_dll.c -I. \ -I/mnt/gaming/applications/wine/git/dlls/xactengine3_4 \ -I/mnt/gaming/applications/wine/git/dlls/xactengine3_4/../xaudio2_7 -I../../include \ -I/mnt/gaming/applications/wine/git/include -D__WINESRC__ -DXACT3_VER=0x0304 -D_REENTRANT -fPIC \ -Wall -pipe -fcf-protection=none -fno-stack-protector -fno-strict-aliasing \ -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wno-packed-not-aligned \ -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla \ -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 -gstrict-dwarf -g -O0 /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c: In function ‘unwrap_notificationdesc’: /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1192:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_GLOBALVARIABLECHANGED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1193:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_GUICONNECTED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1194:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_GUIDISCONNECTED: ^~~~ ...
make[1]: *** [Makefile:188: xact_dll.o] エラー 1 make[1]: ディレクトリ '/mnt/gaming/applications/wine/build/wine64/dlls/xactengine3_5' から出ます make: *** [Makefile:9935: dlls/xactengine3_5] エラー 2 make[1]: *** [Makefile:188: xact_dll.o] エラー 1 make[1]: ディレクトリ '/mnt/gaming/applications/wine/build/wine64/dlls/xactengine3_6' から出ます make: *** [Makefile:9935: dlls/xactengine3_6] エラー 2 ../../../tools/winegcc/winegcc -o ws2_32_test-stripped.exe --wine-objdir ../../.. -b x86_64-w64-mingw32 \ --lib-suffix=.cross.a -s -Wb,-F,ws2_32_test.exe -mno-cygwin protocol.cross.o sock.cross.o \ testlist.cross.o ../../../dlls/ws2_32/libws2_32.cross.a ../../../dlls/user32/libuser32.cross.a \
../../../tools/winegcc/winegcc -o ws2_32_test.exe --wine-objdir ../../.. -b x86_64-w64-mingw32 \ --lib-suffix=.cross.a -mno-cygwin protocol.cross.o sock.cross.o testlist.cross.o \ ../../../dlls/ws2_32/libws2_32.cross.a ../../../dlls/user32/libuser32.cross.a echo "ws2_32_test.exe TESTRES "ws2_32_test-stripped.exe"" | ../../../tools/wrc/wrc -u -o ../../../programs/winetest/ws2_32_test.res make[1]: ディレクトリ '/mnt/gaming/applications/wine/build/wine64/dlls/ws2_32/tests' から出ます Build of shared WoW64 failed. $
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #6 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- What version of gcc and x86_64-w64-mingw32 are you using?
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #7 from Adam Bolte abolte@systemsaviour.com --- I just tried running a single-threaded build with no ccache, and just ran up to this part of the script:
mkdir -p "${out_prefix}"
# 64-bit build. clean_repo mkdir -p "${wine64_path}" cd "${wine64_path}" autoreconf -vfi ${git_path} ${git_path}/configure \ --prefix="${out_prefix}" \ --enable-win64 \ ${configure_args} make -j${threads} exit 0
Still getting a failure.
gcc -m64 -c -o xact_dll.o /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c -I. \ -I/mnt/gaming/applications/wine/git/dlls/xactengine3_0 \ -I/mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7 -I../../include \ -I/mnt/gaming/applications/wine/git/include -D__WINESRC__ -DXACT3_VER=0x0300 -D_REENTRANT -fPIC \ -Wall -pipe -fcf-protection=none -fno-stack-protector -fno-strict-aliasing \ -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wno-packed-not-aligned \ -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla \ -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 -gstrict-dwarf -g -O0 /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c: In function ‘unwrap_notificationdesc’: /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1192:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_GLOBALVARIABLECHANGED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1193:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_GUICONNECTED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1194:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_GUIDISCONNECTED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1198:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_CUEPREPARED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1199:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_CUEPLAY: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1200:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_CUESTOP: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1201:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_CUEDESTROYED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1202:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_MARKER: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1203:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_LOCALVARIABLECHANGED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1208:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_WAVEBANKDESTROYED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1209:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_WAVEBANKPREPARED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1210:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_WAVEBANKSTREAMING_INVALIDCONTENT: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1215:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_SOUNDBANKDESTROYED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1220:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_WAVEPREPARED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1221:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_WAVEDESTROYED: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1226:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_WAVEPLAY: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1227:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_WAVESTOP: ^~~~ /mnt/gaming/applications/wine/git/dlls/xactengine3_0/../xaudio2_7/xact_dll.c:1228:9: error: case label does not reduce to an integer constant case (int)XACTNOTIFICATIONTYPE_WAVELOOPED: ^~~~ make[1]: *** [Makefile:188: xact_dll.o] エラー 1 make[1]: ディレクトリ '/mnt/gaming/applications/wine/build/wine64/dlls/xactengine3_0' から出ます make: *** [Makefile:9935: dlls/xactengine3_0] エラー 2 Build of shared WoW64 failed.
Here is the version information:
$ which gcc /usr/bin/gcc $ ll /usr/bin/gcc lrwxrwxrwx 1 root root 5 Feb 25 2019 /usr/bin/gcc -> gcc-8 $ dpkg -S /usr/bin/gcc-8 gcc-8: /usr/bin/gcc-8 $ apt-cache policy gcc-8 gcc-8: インストールされているバージョン: 8.3.0-6 候補: 8.3.0-6 バージョンテーブル: 8.4.0-1 50 50 http://cyclops.monsters:3142/debian unstable/main amd64 Packages *** 8.3.0-6 500 500 http://cyclops.monsters:3142/debian buster/main amd64 Packages 100 /var/lib/dpkg/status $ gcc --version gcc (Debian 8.3.0-6) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ dpkg -l | grep mingw ii binutils-mingw-w64-i686 2.31.1-11+8.3 amd64 Cross-binutils for Win32 (x86) using MinGW-w64 ii binutils-mingw-w64-x86-64 2.31.1-11+8.3 amd64 Cross-binutils for Win64 (x64) using MinGW-w64 ii g++-mingw-w64 8.3.0-6+21.3~deb10u1 all GNU C++ compiler for MinGW-w64 ii g++-mingw-w64-i686 8.3.0-6+21.3~deb10u1 amd64 GNU C++ compiler for MinGW-w64 targeting Win32 ii g++-mingw-w64-x86-64 8.3.0-6+21.3~deb10u1 amd64 GNU C++ compiler for MinGW-w64 targeting Win64 ii gcc-mingw-w64 8.3.0-6+21.3~deb10u1 all GNU C compiler for MinGW-w64 ii gcc-mingw-w64-base 8.3.0-6+21.3~deb10u1 amd64 GNU Compiler Collection for MinGW-w64 (base package) ii gcc-mingw-w64-i686 8.3.0-6+21.3~deb10u1 amd64 GNU C compiler for MinGW-w64 targeting Win32 ii gcc-mingw-w64-x86-64 8.3.0-6+21.3~deb10u1 amd64 GNU C compiler for MinGW-w64 targeting Win64 ii libnpth-mingw-w64-dev 1.6-1 all replacement for GNU Pth using system threads (Windows dev) ii mingw-w64 6.0.0-3 all Development environment targeting 32- and 64-bit Windows ii mingw-w64-common 6.0.0-3 all Common files for Mingw-w64 ii mingw-w64-i686-dev 6.0.0-3 all Development files for MinGW-w64 targeting Win32 ii mingw-w64-tools 6.0.0-3 amd64 Development tools for 32- and 64-bit Windows ii mingw-w64-x86-64-dev 6.0.0-3 all Development files for MinGW-w64 targeting Win64 $
https://bugs.winehq.org/show_bug.cgi?id=48824
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #8 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Using the code below.
gcc -O2 -o runme main.c < OK gcc -O0 -o runme main.c < Error
So, the level of optimization determines if this code actually compiles.
#include <stdio.h>
static const int two = 2;
int main() { int a,b;
a=2; b=2;
switch(a){ case 1: printf("Case 1\n"); break;
case two: printf("Case 2\n"); break; }
return 0; }
https://bugs.winehq.org/show_bug.cgi?id=48824
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #9 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Thanks, its now fixed https://github.com/wine-staging/wine-staging/commit/7fe7d87f095f9f0d1469f2a7...
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #10 from Adam Bolte abolte@systemsaviour.com --- Nice work. Thanks Alistair!
https://bugs.winehq.org/show_bug.cgi?id=48824
rmuncrief@humanavance.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rmuncrief@humanavance.com
--- Comment #11 from rmuncrief@humanavance.com --- I know this bug is marked as resolved, but I've had this problem with Wine Staging 5.4 and 5.5 as well, and couldn't figure out how the heck to fix it until I came across this bug report.
But for me the patch referenced in Comment 9 didn't change anything. I had to manually hack the configure file to set CFLAGS="-O2"
I'm compiling on the latest Arch and here's my gcc version:
$ gcc --version $ gcc (Arch Linux 9.3.0-1) 9.3.0
Manual Compile Procedure ------------------------
WINE_PREF="wine-staging" WINE_CVER="5.5" WINE_PREF_CVER="$WINE_PREF-$WINE_CVER" PKG_DIR=~/working/wine/$WINE_PREF_CVER PKG_PATCH_DIR=~/working/wine/"$WINE_PREF-$WINE_CVER-patches" PATCH_DIR=~/working/wine/package_data/Generic
cd ~/working/wine mkdir $PKG_DIR mkdir $PKG_PATCH_DIR
cd ~/working/wine/git/wine git pull git checkout tags/wine-$WINE_CVER GIT_WORK_TREE=$PKG_DIR git checkout -f
cd ~/working/wine/git/wine-staging git pull git checkout tags/v$WINE_CVER GIT_WORK_TREE=$PKG_PATCH_DIR git checkout -f
cd $PKG_PATCH_DIR/patches ./patchinstall.sh DESTDIR="$PKG_DIR" --all cd $PKG_DIR
(!!! This where I now have to manually hack the $PKG_DIR/configure file to set CFLAGS="-O2" for 5.4/5.5 !!!)
export CFLAGS="${CFLAGS/-fno-plt/}" export LDFLAGS="${LDFLAGS/,-z,now/}" sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i $PKG_DIR/configure*
cd ~/working/wine mkdir $WINE_PREF_CVER-build64 cd $WINE_PREF_CVER-build64
"$PKG_DIR"/configure --prefix=/opt/$WINE_PREF_CVER --libdir=/opt/$WINE_PREF_CVER/lib --with-x --with-gstreamer --enable-win64 --with-xattr --with-vkd3d make -j$(nproc)
cd ~/working/wine export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" mkdir $WINE_PREF_CVER-build32 cd $WINE_PREF_CVER-build32
"$PKG_DIR"/configure --prefix=/opt/$WINE_PREF_CVER --with-x --with-gstreamer --with-xattr --with-vkd3d --libdir=/opt/$WINE_PREF_CVER/lib32 --with-wine64=../$WINE_PREF_CVER-build64 make -j$(nproc)
End Manual Compile Procedure ----------------------------
This is the same compile procedure I've used for years, so it seems something is still wrong the with XACT configure/compile procedure.
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #12 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Please try again since wine 5.6 is release.
https://bugs.winehq.org/show_bug.cgi?id=48824
--- Comment #13 from rmuncrief@humanavance.com --- (In reply to Alistair Leslie-Hughes from comment #12)
Please try again since wine 5.6 is release.
Yes, 5.6 fixes the problem. Thank you.
https://bugs.winehq.org/show_bug.cgi?id=48824
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #14 from Zebediah Figura z.figura12@gmail.com --- Closing bugs fixed in Staging 5.6.