Bug 242202

Summary: emulators/wine-devel: fails to build 4.20
Product: Ports & Packages Reporter: Vladimir Druzenko <vvd>
Component: Individual Port(s)Assignee: Gerald Pfeifer <gerald>
Status: Closed Unable to Reproduce    
Severity: Affects Only Me    
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Vladimir Druzenko freebsd_committer freebsd_triage 2019-11-24 19:21:45 UTC
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
Comment 1 Gerald Pfeifer freebsd_committer freebsd_triage 2019-11-24 23:10:23 UTC
(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?
Comment 2 Vladimir Druzenko freebsd_committer freebsd_triage 2019-11-25 02:24:50 UTC
(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.
Comment 3 Vladimir Druzenko freebsd_committer freebsd_triage 2019-11-25 13:58:47 UTC
(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.
Comment 4 Gerald Pfeifer freebsd_committer freebsd_triage 2020-01-02 06:22:00 UTC
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.
Comment 5 Gerald Pfeifer freebsd_committer freebsd_triage 2020-01-02 06:29:37 UTC
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.
Comment 6 Vladimir Druzenko freebsd_committer freebsd_triage 2020-02-05 19:31:57 UTC
(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…
Comment 7 Gerald Pfeifer freebsd_committer freebsd_triage 2021-01-03 19:19:23 UTC
(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?
Comment 8 Vladimir Druzenko freebsd_committer freebsd_triage 2021-01-05 07:23:22 UTC
(In reply to Gerald Pfeifer from comment #7)
Sorry, but I didn't understand you… My english is too poor…
Comment 9 commit-hook freebsd_committer freebsd_triage 2021-01-05 14:26:25 UTC
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
Comment 10 commit-hook freebsd_committer freebsd_triage 2021-01-14 22:58:51 UTC
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