Open ukbeast opened 3 years ago
@ukbeast see https://bugs.winehq.org/show_bug.cgi?id=50811
i was successfully build on fedora 34, but i was forgot about this, as i remember i got error pthread and i installing : https://fedora.pkgs.org/34/fedora-x86_64/mingw64-winpthreads-static-8.0.0-2.fc34.noarch.rpm.html https://fedora.pkgs.org/34/fedora-aarch64/mingw32-winpthreads-static-8.0.0-2.fc34.noarch.rpm.html maybe this gonna help you.
I've hit this on fedora 34 as well using wine + staging patches. I can add this:
This is caused in the make flow by the following step:
tools/wrc/wrc -u -o dlls/gdi32/gdi32.res -m64 --nostdinc --po-dir=po -Idlls/gdi32 -I../wine/dlls/gdi32 -Iinclude -I../wine/include -I../wine/include/msvcrt -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libxml2 -DWINESRC -pthread -DGDI32 -D_UCRT ../wine/dlls/gdi32/gdi32.rc
the result of the above is:
tools/wrc/wrc: invalid option -- 'p'
tools/wrc/wrc: invalid option -- 't'
Usage: wrc [options...] [infile[.rc|.res]]
-b, --target=TARGET Specify target CPU and platform when cross-compiling
-D, --define id[=val] Define preprocessor identifier id=val
--debug=nn Set debug level to 'nn'
-E Preprocess only
--endianness=e Set output byte-order e={n[ative], l[ittle], b[ig]}
(win32 only; default is little-endian)
-F TARGET Synonym for -b for compatibility with windres
-fo FILE Synonym for -o for compatibility with windres
-h, --help Prints this summary
-i, --input=FILE The name of the input file
-I, --include-dir=PATH Set include search dir to path (multiple -I allowed)
-J, --input-format=FORMAT The input format (either rc' or
rc16')
-l, --language=LANG Set default language to LANG (default is neutral {0, 0})
-m16, -m32, -m64 Build for 16-bit, 32-bit resp. 64-bit platforms
--nls-dir=DIR Directory containing the NLS codepage mappings
--no-use-temp-file Ignored for compatibility with windres
--nostdinc Disables searching the standard include path
-o, --output=FILE Output to file (default is infile.res)
-O, --output-format=FORMAT The output format (po',
pot', res', or
res16`)
--pedantic Enable pedantic warnings
--po-dir=DIR Directory containing po files for translations
--preprocessor Specifies the preprocessor to use, including arguments
-r Ignored for compatibility with rc
--sysroot=DIR Prefix include paths with DIR
-U, --undefine id Undefine preprocessor identifier id
--use-temp-file Ignored for compatibility with windres
-v, --verbose Enable verbose mode
--verify-translations Check the status of the various translations
--version Print version and exit
Input is taken from stdin if no sourcefile specified.
Debug level 'n' is a bitmask with following meaning:
0x20 Preprocessor yacc trace If no input filename is given and the output name is not overridden with -o, then the output is written to "wrc.tab.res"
(I keep logs from the make process since I've automated this build) at a guess that -pthread isn't being handled correctly by wrc.
Update: the -pthread appears to come from FREETYPE_CFLAGS (I'm kinda zonky right now, I might have missed another source) and if I manually remove the -pthread from the wrc line in Makefile the build completes.
dlls/gdi32/vertical.cross.o dlls/gdi32/vulkan.cross.o dlls/gdi32/gdi32.res \ dlls/setupapi/libsetupapi.delay.a dlls/advapi32/libadvapi32.cross.a \ dlls/ucrtbase/libucrtbase.cross.a -Wl,-O1,--sort-common,--as-needed winegcc: File does not exist: dlls/gdi32/gdi32.res make: [Makefile:96014: dlls/gdi32/gdi32.dll] Error 2 make: Waiting for unfinished jobs....