Fails to build on both i386 and amd64 12.1: ================================================== amd64: gmake[3]: Entering directory '/tmp/work/usr/ports/emulators/wine-devel/work/wine-4.20/dlls/acledit' cc -m64 -c -o main.o main.c -I. -I../../include -I../../include/msvcrt -D__WINESRC__ -D_REENTRANT -fPIC \ -fno-builtin -fshort-wchar -mabi=ms -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement \ -Wempty-body -Wignored-qualifiers -Wno-pragma-pack -Wstrict-prototypes -Wtype-limits -Wvla \ -Wwrite-strings -Wpointer-arith -isystem /usr/local/include -O2 -pipe -march=core2 -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing ../../tools/winegcc/winegcc -o acledit.dll.so --wine-objdir ../.. -m64 -fPIC -fasynchronous-unwind-tables \ -shared acledit.spec -mno-cygwin main.o -L/usr/local/lib -fstack-protector-strong ld: error: undefined symbol: __wine$func$msvcrt$889$exit >>> referenced by msvcrt.u1LB3g.o:(exit) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$918$free >>> referenced by msvcrt.OxrhrV.o:(free) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$930$fwrite >>> referenced by msvcrt.uNUQ0l.o:(fwrite) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$935$getenv >>> referenced by msvcrt.aKgXZH.o:(getenv) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$977$malloc >>> referenced by msvcrt.WIGwZ0.o:(malloc) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$988$memcpy >>> referenced by msvcrt.ibBqne.o:(memcpy) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$996$perror >>> referenced by msvcrt.ip8nWP.o:(perror) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1026$sprintf >>> referenced by msvcrt.SSq1CB.o:(sprintf) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1033$strcat >>> referenced by msvcrt.0lleBW.o:(strcat) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1035$strchr >>> referenced by msvcrt.gUJH9X.o:(strchr) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1038$strcpy >>> referenced by msvcrt.SiwOTv.o:(strcpy) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1044$strlen >>> referenced by msvcrt.6l9ZVC.o:(strlen) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1052$strrchr >>> referenced by msvcrt.6fuuS5.o:(strrchr) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1081$vfprintf >>> referenced by msvcrt.CjsPls.o:(vfprintf) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$873$bsearch >>> referenced by msvcrt.ouWOI4.o:(bsearch) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$990$memmove >>> referenced by msvcrt.cMgT0T.o:(memmove) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1011$realloc >>> referenced by msvcrt.qcB9ku.o:(realloc) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1036$strcmp >>> referenced by msvcrt.2PpiGu.o:(strcmp) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1040$strcspn >>> referenced by msvcrt.K4pB7v.o:(strcspn) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1087$vsnprintf >>> referenced by msvcrt.ePLIfG.o:(vsnprintf) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors) cc: error: linker command failed with exit code 1 (use -v to see invocation) winegcc: cc failed gmake[3]: *** [Makefile:192: acledit.dll.so] Error 2 gmake[3]: Leaving directory '/tmp/work/usr/ports/emulators/wine-devel/work/wine-4.20/dlls/acledit' gmake[2]: *** [Makefile:8396: dlls/acledit] Error 2 gmake[2]: Leaving directory '/tmp/work/usr/ports/emulators/wine-devel/work/wine-4.20' *** Error code 1 ================================================== i386: gmake[3]: Entering directory '/tmp/work/usr/ports/emulators/wine-devel/work/wine-4.20/dlls/acledit' cc -m64 -c -o main.o main.c -I. -I../../include -I../../include/msvcrt -D__WINESRC__ -D_REENTRANT -fPIC \ -fno-builtin -fshort-wchar -mabi=ms -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement \ -Wempty-body -Wignored-qualifiers -Wno-pragma-pack -Wstrict-prototypes -Wtype-limits -Wvla \ -Wwrite-strings -Wpointer-arith -isystem /usr/local/include -O2 -pipe -march=core2 -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing ../../tools/winegcc/winegcc -o acledit.dll.so --wine-objdir ../.. -m64 -fPIC -fasynchronous-unwind-tables \ -shared acledit.spec -mno-cygwin main.o -L/usr/local/lib -fstack-protector-strong ld: error: undefined symbol: __wine$func$msvcrt$889$exit >>> referenced by msvcrt.u1LB3g.o:(exit) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$918$free >>> referenced by msvcrt.OxrhrV.o:(free) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$930$fwrite >>> referenced by msvcrt.uNUQ0l.o:(fwrite) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$935$getenv >>> referenced by msvcrt.aKgXZH.o:(getenv) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$977$malloc >>> referenced by msvcrt.WIGwZ0.o:(malloc) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$988$memcpy >>> referenced by msvcrt.ibBqne.o:(memcpy) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$996$perror >>> referenced by msvcrt.ip8nWP.o:(perror) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1026$sprintf >>> referenced by msvcrt.SSq1CB.o:(sprintf) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1033$strcat >>> referenced by msvcrt.0lleBW.o:(strcat) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1035$strchr >>> referenced by msvcrt.gUJH9X.o:(strchr) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1038$strcpy >>> referenced by msvcrt.SiwOTv.o:(strcpy) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1044$strlen >>> referenced by msvcrt.6l9ZVC.o:(strlen) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1052$strrchr >>> referenced by msvcrt.6fuuS5.o:(strrchr) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1081$vfprintf >>> referenced by msvcrt.CjsPls.o:(vfprintf) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$873$bsearch >>> referenced by msvcrt.ouWOI4.o:(bsearch) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$990$memmove >>> referenced by msvcrt.cMgT0T.o:(memmove) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1011$realloc >>> referenced by msvcrt.qcB9ku.o:(realloc) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1036$strcmp >>> referenced by msvcrt.2PpiGu.o:(strcmp) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1040$strcspn >>> referenced by msvcrt.K4pB7v.o:(strcspn) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: undefined symbol: __wine$func$msvcrt$1087$vsnprintf >>> referenced by msvcrt.ePLIfG.o:(vsnprintf) in archive ../../dlls/msvcrt/libmsvcrt.a ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors) cc: error: linker command failed with exit code 1 (use -v to see invocation) winegcc: cc failed gmake[3]: *** [Makefile:192: acledit.dll.so] Error 2 gmake[3]: Leaving directory '/tmp/work/usr/ports/emulators/wine-devel/work/wine-4.20/dlls/acledit' gmake[2]: *** [Makefile:8396: dlls/acledit] Error 2 gmake[2]: Leaving directory '/tmp/work/usr/ports/emulators/wine-devel/work/wine-4.20' *** Error code 1 ================================================== Maybe these are 2 different issues. Options are same: OPTIONS_FILE_SET+=CUPS OPTIONS_FILE_UNSET+=DOCS OPTIONS_FILE_SET+=DOSBOX OPTIONS_FILE_UNSET+=GCC OPTIONS_FILE_SET+=GECKO OPTIONS_FILE_SET+=GNUTLS OPTIONS_FILE_UNSET+=HAL OPTIONS_FILE_UNSET+=LDAP OPTIONS_FILE_SET+=LIBXSLT OPTIONS_FILE_SET+=MONO OPTIONS_FILE_UNSET+=MPG123 OPTIONS_FILE_UNSET+=OPENAL OPTIONS_FILE_SET+=STAGING OPTIONS_FILE_SET+=V4L OPTIONS_FILE_UNSET+=VKD3D OPTIONS_FILE_UNSET+=VULKAN OPTIONS_FILE_SET+=WINEMAKER OPTIONS_FILE_SET+=X11
(In reply to VVD from comment #0) > OPTIONS_FILE_UNSET+=GCC I have not received any notification from the any of the autobuilders or other users about such a breakage. Did this work for you with Wine 4.19 and only broke with Wine 4.20? And can you please retry with the GCC options set (which is the default)? I would be totally not surprised if it worked when built with GCC - and maybe we ought to make GCC mandatory?
(In reply to Gerald Pfeifer from comment #1) > Did this work for you with Wine 4.19 and only broke with Wine 4.20? Yes, ofc. Build fine all 4.x and 3.x versions. > And can you please retry with the GCC options set (which is the default)? Build fine with OPTIONS_FILE_SET+=GCC on both i386 and amd64.
(In reply to VVD from comment #2) > Build fine all 4.x and 3.x versions. But it was 12.0 with clang 6, not 12.1 with clang 8.
Sorry, I could not reproduce this and have not received any other reports in that direction, neither from our build bots not from users. I have, however, updated the emulators/wine-devel port twice in terms of version and some beyond, and plan on another version update in the next days. Hopefully one of those has addressed this (or will) - or it's been really specific to your environment, I a recommend a fresh build/install of all relevant ports, to be on the safe side.
Oh, wait a minute: You are saying you disabled the GCC option (which is the default), and then it failed with clang? Please don't do that unless you are willing and able to address any issues found that way by contributing upstream and working with upstream at https://winehq.org.
(In reply to Gerald Pfeifer from comment #5) > You are saying you disabled the GCC option (which is the default), and then it failed with clang? Yes. It isn't obvious that: > Please don't do that unless you are willing and able to address any issues found that way by contributing upstream and working with upstream at https://winehq.org. Add description to option GCC…
(In reply to VVD from comment #6) > It isn't obvious that: > "Please don't do that unless you are willing and able to address > any issues found that way by contributing upstream and working with > upstream at https://winehq.org." > > Add description to option GCC… Having received another report just recently, reminded me of this and I will remove the GCC option from emulators/wine at least (i.e., enforce GCC instead of having it as the default). This also will simplify the case we'll likely add in a bit to enable compilation with MinGW. I considered adding a port-specific variant of the description for the GCC option, alas it's a bit tricky to well explain in the space available (since this is not a feature when GCC is on, rather when it's off). Do you have a good recommendation?
(In reply to Gerald Pfeifer from comment #7) Sorry, but I didn't understand you… My english is too poor…
A commit references this bug: Author: gerald Date: Tue Jan 5 14:26:14 UTC 2021 New revision: 560399 URL: https://svnweb.freebsd.org/changeset/ports/560399 Log: Remove the GCC option. which has been the default all along, and simply use GCC. This avoids troubles for users disabling the option and then encountering failures without knowing how to go about that. (And there is not much one can even do given upstream focuses on GCC.) PR: 242202 Changes: head/emulators/wine/Makefile
A commit references this bug: Author: gerald Date: Thu Jan 14 22:58:34 UTC 2021 New revision: 561610 URL: https://svnweb.freebsd.org/changeset/ports/561610 Log: Forward port r560399 | gerald | 2021-01-05 from emulators/wine: Remove the GCC option. which has been the default all along, and simply use GCC. This avoids troubles for users disabling the option and then encountering failures without knowing how to go about that. (And there is not much one can even do given upstream focuses on GCC.) PR: 242202 Changes: head/emulators/wine-devel/Makefile