https://bugs.winehq.org/show_bug.cgi?id=40937
Bug ID: 40937 Summary: Wine 1.9.14 fails to build on Ubuntu 14.04 Product: Wine Version: 1.9.14 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: secur32 Assignee: wine-bugs@winehq.org Reporter: strider@strycore.com Distribution: ---
Created attachment 55061 --> https://bugs.winehq.org/attachment.cgi?id=55061 Undefined symbols encountered during the build process
I maintain wine builds for lutris.net using the following script: https://github.com/lutris/buildbot/blob/master/runners/wine/build.sh We use Ubuntu 14.04 as a base build system because we use it as well for our runtime.
Today, I tried building the new release and it failed when building secur32, some libgnutls symbols were added that are not available in the version provided by Ubuntu 14.04.
Slackner on IRC has determined that the first introduction of these symbols were on this commit: http://source.winehq.org/git/wine.git/patch/cf9cd32df385f545d5c4933140135bd8...
Attached the build error reported on Ubuntu 14.04.
https://bugs.winehq.org/show_bug.cgi?id=40937
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |cf9cd32df385f545d5c49331401 | |35bd8f56dd212 Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=40937
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #1 from Bruno Jesus 00cpxxx@gmail.com --- I was opening the exact same bug. I can confirm this issue in Debian too.
https://bugs.winehq.org/show_bug.cgi?id=40937
--- Comment #2 from Bruno Jesus 00cpxxx@gmail.com --- My Debian (Sid) package for libgnutls-dev is version 2.12.23-5, algorithms are:
GNUTLS_KX_UNKNOWN = 0, GNUTLS_KX_RSA = 1, GNUTLS_KX_DHE_DSS = 2, GNUTLS_KX_DHE_RSA = 3, GNUTLS_KX_ANON_DH = 4, GNUTLS_KX_SRP = 5, GNUTLS_KX_RSA_EXPORT = 6, GNUTLS_KX_SRP_RSA = 7, GNUTLS_KX_SRP_DSS = 8, GNUTLS_KX_PSK = 9, GNUTLS_KX_DHE_PSK = 10
By using the source browser in gitlab we can see the rest of the enum probably in newer lib versions:
GNUTLS_KX_ANON_ECDH = 11, GNUTLS_KX_ECDHE_RSA = 12, GNUTLS_KX_ECDHE_ECDSA = 13, GNUTLS_KX_ECDHE_PSK = 14, GNUTLS_KX_RSA_PSK = 15
[1] https://gitlab.com/gnutls/gnutls/blob/master/lib/includes/gnutls/gnutls.h.in...
https://bugs.winehq.org/show_bug.cgi?id=40937
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
--- Comment #3 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 55062 --> https://bugs.winehq.org/attachment.cgi?id=55062 patch
This solution checks the library version for the highest necessary to satisfy all enum values.
https://bugs.winehq.org/show_bug.cgi?id=40937
--- Comment #4 from Henri Verbeet hverbeet@gmail.com --- (In reply to Bruno Jesus from comment #2)
My Debian (Sid) package for libgnutls-dev is version 2.12.23-5,
That doesn't sound right. Do you have leftover libgnutls26 packages by any chance?
https://bugs.winehq.org/show_bug.cgi?id=40937
--- Comment #5 from Mathieu Comandon strider@strycore.com --- (In reply to Henri Verbeet from comment #4)
(In reply to Bruno Jesus from comment #2)
My Debian (Sid) package for libgnutls-dev is version 2.12.23-5,
That doesn't sound right. Do you have leftover libgnutls26 packages by any chance?
Well that helped resolving the issue on my part (Ubuntu 14.04). I noticed that Debian did not have a libgnutls-dev package anymore and found out that it used the libgnutls28-dev package instead, also available on Ubuntu. I installed that (which automatically removed libgnutls-dev package) and the build succeeded.
So there's nothing wrong with wine's source code itself but this kind of version mismatch should be caught at configure time. It could be helpful for users to display something about the existence of these multiple package and that's certainly something that would have confused me if I ran into such an issue.
https://bugs.winehq.org/show_bug.cgi?id=40937
--- Comment #6 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Henri Verbeet from comment #4)
(In reply to Bruno Jesus from comment #2)
My Debian (Sid) package for libgnutls-dev is version 2.12.23-5,
That doesn't sound right. Do you have leftover libgnutls26 packages by any chance?
The dev package I have is called libgnutls-dev it is the same version as the libgnutls26, so yes I do have such old version.
(In reply to Mathieu Comandon from comment #5)
So there's nothing wrong with wine's source code itself but this kind of version mismatch should be caught at configure time. It could be helpful for users to display something about the existence of these multiple package and that's certainly something that would have confused me if I ran into such an issue.
I still think this is a problem, usually we cope with these situations using configure checks or #ifdef.
https://bugs.winehq.org/show_bug.cgi?id=40937
--- Comment #7 from Henri Verbeet hverbeet@gmail.com --- (In reply to Bruno Jesus from comment #6)
(In reply to Henri Verbeet from comment #4)
That doesn't sound right. Do you have leftover libgnutls26 packages by any chance?
The dev package I have is called libgnutls-dev it is the same version as the libgnutls26, so yes I do have such old version.
You'll want to get rid of that and install the current version if it isn't already. It's a bad idea in general to keep obsolete packages around, but more so for security sensitive things like GnuTLS. You can use "aptitude search '~o'" to get a list of obsolete packages, or look for something along the lines of "obsolete or locally created packages" in graphical package managers. Similarly, you'll likely want to take a look at deborphan/orphaner.
(In reply to Mathieu Comandon from comment #5) I still think this is a problem, usually we cope with these situations using configure checks or #ifdef.
In principle. In practice, anyone that runs into this is likely to have a GnuTLS installation that's broken in some way. Arguably we wouldn't be doing those people a favour by keeping those working.
https://bugs.winehq.org/show_bug.cgi?id=40937
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|regression | Resolution|--- |INVALID Status|NEW |RESOLVED Regression SHA1|cf9cd32df385f545d5c49331401 | |35bd8f56dd212 | Summary|Wine 1.9.14 fails to build |Wine 1.9.14 fails to build |on Ubuntu 14.04 |secur32 (gnutls >= 3.2.4 | |required to build properly)
--- Comment #8 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Henri Verbeet from comment #7)
(In reply to Mathieu Comandon from comment #5) I still think this is a problem, usually we cope with these situations using configure checks or #ifdef.
In principle. In practice, anyone that runs into this is likely to have a GnuTLS installation that's broken in some way. Arguably we wouldn't be doing those people a favour by keeping those working.
I live by "if it ain't broke don't fix it" but I get your point. I'm removing many old packages in favor of new ones and the problem is fixed. As OP did the same I'm resolving this bug as invalid "not a real regression" then.
Since we are at compilation problems please help me with https://bugs.winehq.org/show_bug.cgi?id=40865#c9
https://bugs.winehq.org/show_bug.cgi?id=40937
--- Comment #9 from Henri Verbeet hverbeet@gmail.com --- (In reply to Bruno Jesus from comment #8)
I live by "if it ain't broke don't fix it" but I get your point.
Yeah, but it not being broken is an important condition. Removing obsolete and orphaned packages is part of the upgrade process, but sadly often overlooked.
https://bugs.winehq.org/show_bug.cgi?id=40937
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |version2013@openmailbox.org
--- Comment #10 from Bruno Jesus 00cpxxx@gmail.com --- *** Bug 40951 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=40937
Frédéric Delanoy frederic.delanoy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Frédéric Delanoy frederic.delanoy@gmail.com --- Closing INVALID bugs.