Frogging-Family / wine-tkg-git

The wine-tkg build systems, to create custom Wine and Proton builds
904 stars 167 forks source link

Can't build wine (last version) #249

Open jona-1993 opened 3 years ago

jona-1993 commented 3 years ago

Hi,

I can't build wine with makepkg -si. I don't know if my issue is caused by my new config. I have an AMD Ryzen 9 5950X now and I reinstalled my Manjaro Linux. I don't can test with my old config because my old motherboard is dead ;) But I suppose it's not the issue.

My output (Sorry for french..):

dlls/winmm/libwinmm.delay.a dlls/version/libversion.delay.a dlls/uuid/libuuid.cross.a \ dlls/shcore/libshcore.cross.a dlls/user32/libuser32.cross.a dlls/gdi32/libgdi32.cross.a \ dlls/advapi32/libadvapi32.cross.a dlls/kernelbase/libkernelbase.cross.a \ dlls/ucrtbase/libucrtbase.cross.a -Wl,-O1,--sort-common,--as-needed -Wl,--file-alignment,4096 tools/winegcc/winegcc -o dlls/sti/sti.dll --wine-objdir . -b x86_64-w64-mingw32 --lib-suffix=.cross.a \ -Wl,--wine-builtin -shared ../wine-mirror-git/dlls/sti/sti.spec -mno-cygwin dlls/sti/sti.cross.o \ dlls/sti/sti_main.cross.o dlls/sti/dlldata.cross.o dlls/sti/sti_wia_p.cross.o \ dlls/sti/sti_wia_r.res dlls/uuid/libuuid.cross.a dlls/ole32/libole32.cross.a \ dlls/oleaut32/liboleaut32.cross.a dlls/rpcrt4/librpcrt4.cross.a dlls/advapi32/libadvapi32.cross.a \ dlls/ucrtbase/libucrtbase.cross.a -Wl,-O1,--sort-common,--as-needed -Wl,--file-alignment,4096 tools/winegcc/winegcc -o dlls/sxs/sxs.dll --wine-objdir . -b x86_64-w64-mingw32 --lib-suffix=.cross.a \ -Wl,--wine-builtin -shared ../wine-mirror-git/dlls/sxs/sxs.spec -mno-cygwin dlls/sxs/cache.cross.o \ dlls/sxs/name.cross.o dlls/sxs/sxs.cross.o dlls/oleaut32/liboleaut32.cross.a \ dlls/ole32/libole32.cross.a dlls/ucrtbase/libucrtbase.cross.a -Wl,-O1,--sort-common,--as-needed \ -Wl,--file-alignment,4096 tools/winegcc/winegcc -o dlls/taskschd/taskschd.dll --wine-objdir . -b x86_64-w64-mingw32 --lib-suffix=.cross.a \ -Wl,--wine-builtin -shared ../wine-mirror-git/dlls/taskschd/taskschd.spec -mno-cygwin \ dlls/taskschd/folder.cross.o dlls/taskschd/folder_collection.cross.o dlls/taskschd/regtask.cross.o \ dlls/taskschd/task.cross.o dlls/taskschd/taskschd.cross.o dlls/taskschd/schrpc_c.cross.o \ dlls/taskschd/taskschd_tlb_t.res dlls/oleaut32/liboleaut32.cross.a dlls/ole32/libole32.cross.a \ dlls/advapi32/libadvapi32.cross.a dlls/xmllite/libxmllite.cross.a dlls/rpcrt4/librpcrt4.cross.a \ dlls/ucrtbase/libucrtbase.cross.a -Wl,-O1,--sort-common,--as-needed -Wl,--file-alignment,4096 tools/winegcc/winegcc -o dlls/uianimation/uianimation.dll --wine-objdir . -b x86_64-w64-mingw32 --lib-suffix=.cross.a \ -Wl,--wine-builtin -shared ../wine-mirror-git/dlls/uianimation/uianimation.spec -mno-cygwin \ dlls/uianimation/main.cross.o dlls/uianimation/uianimation_reg_r.res dlls/uuid/libuuid.cross.a \ dlls/ucrtbase/libucrtbase.cross.a -Wl,-O1,--sort-common,--as-needed -Wl,--file-alignment,4096 /usr/bin/ld : dlls/ntdll/unix/virtual.o : dans la fonction « NtProtectVirtualMemory » : virtual.c:(.text+0x8196) : référence indéfinie vers « RtlDowncaseUnicodeChar » /usr/bin/ld : virtual.c:(.text+0x81a0) : référence indéfinie vers « RtlDowncaseUnicodeChar » collect2: erreur: ld a retourné le statut de sortie 1 winegcc: /usr/bin/gcc failed make: [Makefile:156102 : dlls/ntdll/ntdll.so] Erreur 2 make: Attente des tâches non terminées.... ==> ERREUR : Une erreur s’est produite dans build(). Abandon… -> Removed BIG_UGLY_FROGMINER - Ribbit -> Removed Proton-tkg token - Valve Ribbit -> exit cleanup done -> Compilation time for 64-bit wine:

real 0m16,571s user 6m14,362s sys 1m41,370s

My config: Manjaro Linux Linux 5.10.2-104-tkg-upds AMD Ryzen 9 5950X gcc version: 10.2.0

jona-1993 commented 3 years ago

Sometimes, I have that:

-Wno-format -Wformat-overflow -Wnonnull -mcx16 -D_FORTIFY_SOURCE=2 -O2 -ftree-vectorize LC_ALL=C sed -e 's,@bindir\@,/usr/bin,g' -e 's,@dlldir\@,/usr/lib/wine,g' -e 's,@PACKAGE_STRING\@,Wine 6.0-rc4,g' -e 's,@PACKAGEVERSION\@,6.0-rc4,g' ../wine-mirror-git/programs/winedbg/winedbg.man.in >programs/winedbg/winedbg.man || (rm -f programs/winedbg/winedbg.man && false) bison -p dbg -o programs/winedbg/dbg.tab.c -d ../wine-mirror-git/programs/winedbg/dbg.y flex -oprograms/winedbg/debug.yy.c ../wine-mirror-git/programs/winedbg/debug.l LC_ALL=C sed -e 's,@bindir\@,/usr/bin,g' -e 's,@dlldir\@,/usr/lib/wine,g' -e 's,@PACKAGE_STRING\@,Wine 6.0-rc4,g' -e 's,@PACKAGE_VERSION\@,6.0-rc4,g' ../wine-mirror-git/programs/winefile/winefile.man.in >programs/winefile/winefile.man || (rm -f programs/winefile/winefile.man && false) ../wine-mirror-git/programs/winedbg/dbg.y: avertissement: 1 conflit par décalage/réduction

And my build stop..

Tk-Glitch commented 3 years ago

The issue seems to be MinGW-w64 related. The script is tested with the current mingw-gcc package from Archlinux's community repo: https://archlinux.org/packages/community/x86_64/mingw-w64-gcc/ I'm not sure what Manjaro provides. Alternatively you can use https://github.com/Frogging-Family/mostlyportable-gcc if your distribution doesn't ship adequate mingw packages.

jona-1993 commented 3 years ago

pamac search mingw-w64-gcc mingw-w64-gcc-base 10.1.0-1 AUR Cross GCC for the MinGW-w64 cross-compiler (bootstrap) mingw-w64-gcc [Installed] 10.2.0-2 community Cross GCC for the MinGW-w64 cross-compiler

jona-1993 commented 3 years ago

It can't build when _protonify="true". I tested that. If I pass to false, it build without errors.

My configuration file:

# 'Wine-to-rule-them-all' - Wine-TkG simple config file

##
##   This config file contains the basic settings of your build.
##   For deeper configuration, see wine-tkg-profiles/advanced-customization.cfg
##

#### NON-MAKEPKG OPTIONS (Won't affect makepkg builds) ####

# Set to the desired installation path for your build(s). A versioned dir containing your build will be created inside that target.
# Example: _nomakepkg_prefix_path="/home/frog" will install your build in /home/frog/wine-tkg-********
_nomakepkg_prefix_path=""

# Set to true to get a prompt after the 64-bit part is built, enabling package switching before building the 32-bit side.
# This is a workaround for distros shipping broken devel packages that can't coexist as multilib
_nomakepkg_midbuild_prompt="false"

# Set to the distro of your choice to attempt dependency resolution. Valid options are "debuntu" (for debian, ubuntu and similar), "fedora" or "archlinux".
_nomakepkg_dep_resolution_distro=""

#### EXTERNAL INSTALLATION SETTINGS - !! ONLY AFFECTS MAKEPKG !! ####

# Set to true to install into external path instead of /usr. This allows you to install multiple different versions in parallel.
# !!! Don't forget that you'll have to use /opt/wine-something/bin/wine instead of just wine (same for winecfg etc.) !!!
_EXTERNAL_INSTALL="false"

#### GENERATE DEBIAN PACKAGE ####
# Set to true if you want to generate a debian package after building. Currently doesn't work with _EXTERNAL_INSTALL option.
# This generates a debian package from build files ready to be packaged.
_GENERATE_DEBIAN_PACKAGE="false"

#### WINE FLAVOUR SETTINGS ####

# plain wine commit or version tag if you want to use a specific wine version. Can use e.g. "64d9f30", "wine-3.16" or "wine-4.0"
# !!! Only affects non-staging builds (you want to edit the staging_version below for staging builds) !!!
# Leave empty to use latest master - https://github.com/wine-mirror/wine/commits/master
_plain_version=""

# staging
_use_staging="false"
# staging commit or version tag if you want to use a specific staging version. Can use e.g. "7cfceb7", "v3.16" or "v4.0"
# Leave empty to use latest master - https://github.com/wine-staging/wine-staging/commits/master
_staging_version=""

# esync - Enable with WINEESYNC=1 envvar - Set to true to enable esync support on plain wine or wine-staging <4.6 (it got merged in wine-staging 4.6). The option is ignored on wine-staging 4.6+
# You may need to raise your fd limits -> https://github.com/zfigura/wine/blob/esync/README.esync
_use_esync="true"

# fsync - Enable with WINEFSYNC=1 envvar - Set to true to enable fsync support, an experimental replacement for esync introduced with Proton 4.11-1 - Requires Wine Mainline 4.7.r168.g29914d583f / Staging 4.9.r7.g197e08b4 or newer
# https://steamcommunity.com/games/221410/announcements/detail/2957094910196249305
_use_fsync="true"

# vkd3dlib - We don't want to use vkd3d native library by default to allow for vkd3d-proton usage
# Set to "true" to enable explicit mainline vkd3d library support - default is "false"
_use_vkd3dlib="false"

# Set to false to add DXVK configuration support to Wine's DXGI, allowing for VKD3D to run while keeping DXVK dxgi functionalities.
# !! For DXVK to work properly with this option set to false, you'll need a DXVK build that comes with dxvk_config.dll !!
# Keep in mind Wine's dxgi can be more unstable and less compatible when used with DXVK.
_dxvk_dxgi="true"

#### GAME-SPECIFIC PATCHES ####

# Fix for Warframe Launcher failing to update itself - https://bugs.winehq.org/show_bug.cgi?id=33845 https://bugs.winehq.org/show_bug.cgi?id=45701
# https://www.winehq.org/pipermail/wine-devel/2018-October/133068.html - Merged in staging 8b930ae (4.6 devel)
# It made a comeback with 5.5 (5e218fe7)
_warframelauncher_fix="true"

# Mechwarrior Online fix - https://mwomercs.com/forums/topic/268847-running-the-game-on-ubuntu-steam-play/page__st__20__p__6195387#entry6195387
_mwo_fix="false"

# Resident Evil 4 hack - https://bugs.winehq.org/show_bug.cgi?id=46336
_re4_fix="false"

# Child window support for vk - Fixes World of Final Fantasy, CEMU vulkan renderer and others - https://bugs.winehq.org/show_bug.cgi?id=45277
_childwindow_fix="true"

# Fix for LoL 9.20+ crashing - Depends on _use_staging="true" - https://bugs.winehq.org/show_bug.cgi?id=47198 & https://bugs.winehq.org/show_bug.cgi?id=47915 - Requires vdso32 disabled (as root: `echo 0 > /proc/sys/abi/vsyscall32`)
# lol depends on the following staging patches :
# winebuild-Fake_Dlls, ntdll-RtlCreateUserThread, ntdll-NtContinue, ntdll-SystemExtendedProcessInformation, ntdll-SystemModuleInformation, ntdll-ThreadHideFromDebugger, wow64cpu-Wow64Transition, user32-InternalGetWindowIcon, ntdll-Pipe_SpecialCharacters, ntdll-NtDevicePath, ntdll-NtQueryVirtualMemory, fonts-Missing_Fonts, crypt32-CMS_Certificates, bcrypt-ECDHSecretAgreement, winex11-ime-check-thread-data
_lol920_fix="false"

# Fix for Assetto Corsa performance drop when HUD elements are displayed - https://bugs.winehq.org/show_bug.cgi?id=46955 - Create all kind of issues since b7b1ad0 (5.9 devel), so be careful with that.
_assettocorsa_hudperf_fix="false"

# Fixes for Mortal Kombat 11 - Requires staging, _proton_fs_hack="false", native mfplat (win7) or WIP mfplat impl from Guy1524 (available in community-patches) and a different GPU driver than RADV
# On Wine 5.2 (up to b1c748c8) and lower, it needs to be toogled on with the WINE_LOW_USER_SPACE_LIMIT=1 envvar
_mk11_fix="true"

# Workaround for Final Fantasy XIV Launcher 404 error - Thanks @varris1 ! - Fixed by d535df42f665a097ec721b10fb49d7b18f899be9 (4.10)
# Found to also enable the new launcher (that came with the 5.1 update) to work *with issues*
_ffxivlauncher_fix="false"

# Background music on King of Fighters 98 and 2002 is silent on Wine-staging and the `xactengine-initial` patchset was found to introduce the issue. Set to "true" to disable it as a workaround.
_kof98_2002_BGM_fix="false"

#### OTHER PATCHES ####

# launch with dedicated gpu desktop entry patch - makes an additional desktop entry which launches app with DRI_PRIME set to 1 (only for switchable graphics with mesa drivers)
_launch_with_dedicated_gpu="false"

# Partial fix for systray on plasma 5 - https://bugs.winehq.org/show_bug.cgi?id=38409
_plasma_systray_fix="true"

# Update winevulkan to whatever version I have pushed last, til next time, for new shiny and tasty vk extensions support. Thanks dadドイツ人 !
_update_winevulkan="true"

# Joshua Ashton's take on making wine dialogs and menus less win95-ish - https://github.com/Joshua-Ashton/wine/tree/wine-better-theme
_use_josh_flat_theme="true"

#### PROTON PATCHES ####

# Bypass compositor in fullscreen modes - Typically reduces stuttering and improves performance - https://github.com/ValveSoftware/wine/commit/141ba5cf73029029a5a0bd2cdcfd5f9f9ab7ee7b
_FS_bypass_compositor="true"

# Proton Fullscreen patch - Requires 3.16+ for staging and 5.0+ for mainline - Allows resolution changes for fullscreen games without changing desktop resolution
# You can optionally use nearest neighbour upscaling with the WINE_FULLSCREEN_INTEGER_SCALING envvar
_proton_fs_hack="true"

# Proton workarounds to prevent crashes on some mf functions
_proton_mf_hacks="true"

# Proton compatible rawinput patchset - Only effective when _proton_fs_hack is set to "true" - Requires a tree containing 6d7828e8df68178ca662bc618f7598254afcfbe1 (4.20+)
_proton_rawinput="true"

# Enforce mscvrt Dlls to native then builtin - from Proton
_msvcrt_nativebuiltin="true"

# Set the default wine version to win10 (instead of win7) - Necessary to enable d3d12 (for use with vkd3d) in some games
_win10_default="true"

# Other misc proton patches and hacks - Notably contains fixes for some native vk games (such as Doom Eternal) as well as Rockstar launcher
# Also enables some winevulkan performance optimizations - https://github.com/Joshua-Ashton/proton-wine/tree/winevulkan-opt (fs hack) - https://github.com/Joshua-Ashton/wine/commits/winevulkan-opt-mainline (no fs hack)
_protonify="true"

#### USER PATCHES - See README in ./wine-tkg-userpatches dir for instructions ####

# community patches - add patches (separated by a space) of your choice by name from the community-patches dir - https://github.com/Frogging-Family/community-patches
# example: _community_patches="amdags.mypatch GNUTLShack.mypatch"
_community_patches=""
Tk-Glitch commented 3 years ago

Interesting. I'll try to reproduce it.