Description
[0.4.14][SDK][FREETYPE] Fix GCC8.4 -O2 build
RosBE2.2.1 Win GCC8.4.0 RELEASE bootcd build was failing.
This was the last build error for the configuration:
-DENABLE_ROSTESTS=1 -DCMAKE_BUILD_TYPE=Release
|
It failed with
[7687/12069] Linking C shared module win32ss\drivers\font\ftfd\ftfd.dll
|
FAILED: win32ss/drivers/font/ftfd/ftfd.dll
|
cmd.exe /C "cd . && C:\RosBE\i386\bin\gcc.exe -D__RELFILE__="&__FILE__[__FILE__[0] == '.' ? sizeof \"../0414rls/reactos\" - 1 : sizeof REACTOS_SOURCE_DIR]" -pipe -fms-extensions -fno-strict-aliasing -nostdinc -mstackrealign -fno-aggressive-loop-optimizations -fdebug-prefix-map="C:\0414rls\reactos"=ReactOS -march=pentium -mtune=i686 -Wall -Wpointer-arith -Wno-char-subscripts -Wno-multichar -Wno-unused-value -Wno-unused-const-variable -Wno-unused-local-typedefs -Wno-deprecated -Wno-maybe-uninitialized -O2 -DNDEBUG -fno-optimize-sibling-calls -fno-omit-frame-pointer -mpreferred-stack-boundary=3 -fno-set-stack-executable -momit-leaf-frame-pointer -nostdlib -Wl,--enable-auto-image-base,--disable-auto-import -Wl,--disable-stdcall-fixup -Wl,--subsystem,native:5.01 -Wl,--major-image-version,5 -Wl,--minor-image-version,01 -Wl,--major-os-version,5 -Wl,--minor-os-version,01 -Wl,-entry,_FtfdEnableDriver@12 -Wl,--image-base,0x00010000 win32ss\drivers\font\ftfd\ftfd.def -shared -o win32ss\drivers\font\ftfd\ftfd.dll win32ss/drivers/font/ftfd/CMakeFiles/ftfd.dir/enable.c.obj win32ss/drivers/font/ftfd/CMakeFiles/ftfd.dir/font.c.obj win32ss/drivers/font/ftfd/CMakeFiles/ftfd.dir/glyph.c.obj win32ss/drivers/font/ftfd/CMakeFiles/ftfd.dir/rosglue.c.obj win32ss/drivers/font/ftfd/CMakeFiles/ftfd.dir/sprintf.c.obj win32ss/drivers/font/ftfd/CMakeFiles/ftfd.dir/freetype.rc.obj sdk/lib/3rdparty/freetype/libfreetype.a sdk/lib/crt/liblibcntpr.a win32ss/libwin32k.a -lgcc && cd ."
|
c:/rosbe/i386/bin/../lib/gcc/i686-w64-mingw32/8.4.0/../../../../i686-w64-mingw32/bin/ld.exe: sdk/lib/3rdparty/freetype/cmakefiles/freetype.dir/src/psaux/psaux.c.obj:psaux.c:(.text+0x6e99): undefined reference to `calloc'
|
c:/rosbe/i386/bin/../lib/gcc/i686-w64-mingw32/8.4.0/../../../../i686-w64-mingw32/bin/ld.exe: sdk/lib/3rdparty/freetype/cmakefiles/freetype.dir/src/psaux/psaux.c.obj:psaux.c:(.text+0x815c): undefined reference to `calloc'
|
c:/rosbe/i386/bin/../lib/gcc/i686-w64-mingw32/8.4.0/../../../../i686-w64-mingw32/bin/ld.exe: sdk/lib/3rdparty/freetype/cmakefiles/freetype.dir/src/autofit/autofit.c.obj:autofit.c:(.text+0x5656): undefined reference to `calloc'
|
collect2.exe: error: ld returned 1 exit status
|
ninja: build stopped: subcommand failed.
|
fix picked from 0.4.15-dev-285-g5349f49
Sidenote of current compiler support on releases/0.4.14 (tested on 0.4.14-RC-110-g8600a00):
RosBE2.1.2 Lin GCC4.7.2 Debug build worked before and after this commit (bootcd+livecd) <- primary toolchain for releases/0.4.14
RosBE2.1.6 Win GCC4.7.2 Debug build worked before and after this commit (bootcd+livecd)
RosBE2.1.6 Win GCC4.7.2 Release build worked before and after this commit (bootcd+livecd)
RosBE2.2.1 Win GCC8.4.0 Debug build worked before and after this commit (bootcd+livecd)
RosBE2.1.6 Win MSVC2010SP1 Debug build worked before and after this commit (bootcd+livecd)
RosBE2.1.6 Win MSVC2010SP1 Release build worked before and after this commit (bootcd+livecd)
VSSolution msbuild 2010SP1 Debug build should also work, last time tested 0.4.14-RC-68-g366c46b
Newer MSVC (<= MSVC19.28.29115) might/should work as well, but I did not explicitly test those myself.