Hello everybody,
This is my first time trying to figure out if something is a regression , so I need to build an older version of wine.
The application involved was reported to work in the past on wine 1.9.20. As that was also an older version of the application it is not clear weather a change in wine or a change in the application broke support, so I want to run the current version on wine 1.9.20.
Sadly that build fails. The part from where the red text started appearing is attached below.
The system is a current installation of Archlinux.
Can anyone help me out here with what needs to be adjusted here.
This is my first time posting to this list, so if this is the wrong place or information is missing, please tell and I will adjust.
(following https://wiki.winehq.org/Regression_Testing#Preliminary_notes I went back to the winehq-packaged wine 2.0.4 version to test on debian buster, but that seems not far back enough sadly.)
Thanks!
You could probably just disable pcap while building (i.e. configure --without-pcap).
Thanks a lot, that got me further.
It looks like something is up with the fonts in the older tarballs...
make[1]: Entering directory '~/wine-1.9.20/fonts'
../tools/sfnt2fon/sfnt2fon -o coue1255.fon courier.ttf -d 128 13,1255,8
Error: Cannot open face courier.ttf
make[1]: *** [Makefile:174: coue1255.fon] Error 1
make[1]: Leaving directory '~/wine-1.9.20/fonts'
make: *** [Makefile:19441: fonts] Error 2
You could probably just disable pcap while building (i.e. configure
--without-pcap).
You might need commit 40166848a7944383a4cfdaac9b18bd03fbb2b4f9 .
On Sat, Mar 28, 2020 at 3:00 PM Bronze Alibi bronze.alibi@startmail.com wrote:
Thanks a lot, that got me further.
It looks like something is up with the fonts in the older tarballs...
make[1]: Entering directory '~/wine-1.9.20/fonts'
../tools/sfnt2fon/sfnt2fon -o coue1255.fon courier.ttf -d 128 13,1255,8
Error: Cannot open face courier.ttf
make[1]: *** [Makefile:174: coue1255.fon] Error 1
make[1]: Leaving directory '~/wine-1.9.20/fonts'
make: *** [Makefile:19441: fonts] Error 2
You could probably just disable pcap while building (i.e. configure --without-pcap).
Thanks, that did the trick.
Sadly the thing crashes when run.
This is more involved than I thought it was gonna be.. :)
$ ./wine64 winecfg
fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v4.0.30319_32" failed to start: 1359
fixme:heap:RtlSetHeapInformation 0x350000 0 0x23fd40 4 stub
fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
fixme:process:SetProcessShutdownParameters (00000380, 00000000): partial stub.
wine: Unhandled page fault on read access to 0x00000008 at address 0x7f5c6c942ea9 (thread 000b), starting debugger...
err:setupapi:create_dest_file failed to create L"C:\\windows\\system32\\mscoree.dll" (error=80)
wine: Unhandled page fault on read access to 0x00000008 at address 0x7fb28da92ea9 (thread 0009), starting debugger...
winedbg: Internal crash at 0x7f9f30337ea9
[a@a loader]$ fixme:heap:RtlSetHeapInformation 0x4a0000 0 0x23cc40 4 stub
wine: Unhandled page fault on read access to 0x00000008 at address 0x7f9dfb608ea9 (thread 0036), starting debugger...
You might need commit 40166848a7944383a4cfdaac9b18bd03fbb2b4f9 .
Hi
Some time ago, I wrote a tool that could build Wine binaries for every Git commit, then commit them into a separate Git repository, so that for a bisection test, you only binary search the pre-built binaries and run them directly, no building source (ie. bisect-run-bisect-run, no building).
I've been trying to update this tool lately, and you're right, old versions of Wine often don't build. What I've had to do is "reverse regression test" for the build regressions ( https://wiki.winehq.org/Reverse_Regression_Testing) and then backport those commits to older versions. So far I can get Wine to compile as far back as 5 February 2014, which was just before version 1.7.12. Sadly the build system was completely rewritten in January 2014, making many of the commits unable to backport further; I would like to get back to 2008. On my previous attempt I succeeded in building all (buildable) binary versions from Wine 1.0 in June 2008, to October 2011, about 35000 binary versions in total, and successfully used it for rapid regression testing in that timeframe.
The long list of commits I had to backport to build up to 5 February 2014 (some of which are for FreeBSD) is as follows, in the order they have to be applied. Note that you only apply commits that come AFTER the commit you're building, not the ones from before (ie. "git rev-list --max-count=1 HEAD..<commit>" produces some output instead of silently exiting). My tool also automates that.
// makedep: Generate rules for bitmap fonts based on pragmas in the .sfd file. // Wed Feb 5 12:15:07 2014 +0100 new Patch("1cccb5594a5adab129bb2c10db796db14199936b"),
// makedep: Add support for specifying an object directory different from the current directory. // Thu Apr 10 10:03:03 2014 +0200 new Patch("dcf6060ab8aab4724ada508db295a85634ca51d4"),
// makedep: Pass a makefile pointer to all internal functions. // Thu Apr 10 13:41:23 2014 +0200 new Patch("f9ddafa807b95f743764dea0f3bddf4acf71dcbc"),
// configure: Always build wine.inf even if we don't install it. // Thu Jul 3 21:20:38 2014 +0200 new Patch("3bbbb6d5a73d8c45329d72f1f980377ede79f4c8"),
// makefiles: Do not run update-desktop-database on make install/uninstall. // Sun May 31 08:03:54 2015 +0200 new Patch("ffabfd492ffc4bdca3ca0deaead238670e6fdcaf"),
// secur32: Use gnutls_cipher_get_block_size to get cupher block size. // Tue Jun 16 13:46:46 2015 +0200 new Patch("dedbd1883611b1c72abeb05d9f93cd5ac8af2e90"),
// secur32: Fixed compilation on with gnutls. // Wed Jun 17 13:01:14 2015 +0200 new Patch("72747526b1242f436db9e68d319c37484ce02109"),
// secur32: Fixed compilation on very old gnutls versions. // Thu Jun 18 13:06:08 2015 +0200 new Patch("cae3f98c6938663aab248f6551e9cc7cfbc1ce09"),
// makefiles: Move wine.desktop to the loader directory. // Mon Oct 26 23:03:08 2015 +0900 new Patch("2207a8907ca71792ab27acf9bb61efa80431ea84"),
// makefiles: Generate rules for building tool binaries. // Tue Oct 27 12:13:26 2015 +0900 new Patch("7626728b562fae32f6d0f0c5d01589e5861f09dd"),
// makefiles: Automatically add RPATH support for programs that use libwine. // Wed Oct 28 10:56:21 2015 +0900 new Patch("a1515c68d4d4b4334f44b098debba2548a16ca38"),
// secur32: Provide a static declaration for gnutls_cipher_get_block_size. // Thu Jun 16 00:21:13 2016 -0500 new Patch("bf5ac531a030bce9e798ab66bc53e84a65ca8fdb"),
// winspool.drv: Include <cups/ppd.h> to fix building against the macOS 10.12 SDK. // Mon Jun 27 15:34:07 2016 -0500 new Patch("10065d2acd0a9e1e852a8151c95569b99d1b3294"),
// fonts: Increase the Em size to fix a build failure with freetype 2.8.1. // Thu Sep 28 00:23:42 2017 +0200 new Patch("40166848a7944383a4cfdaac9b18bd03fbb2b4f9"),
// configure: Link wineserver to libinotify if necessary. // Sat Apr 20 15:14:53 2019 +0200 new Patch("07c2e8581a2745725cd7ce4282eedb9a8084a1e4"),
// iphlpapi: Account for structs inpcb and tcpcb being unavailable for userland in FreeBSD 12. // Sat Aug 17 10:32:31 2019 +0200 new Patch("424e1e71cac268cc2db8483d84474f88d61b67d1")
Maybe I should also send you my tool in a form that just applies the relevant patches?
Good luck Damjan
On Sat, Mar 28, 2020 at 12:44 AM Bronze Alibi bronze.alibi@startmail.com wrote:
Hello everybody,
This is my first time trying to figure out if something is a regression , so I need to build an older version of wine.
The application involved was reported to work in the past on wine 1.9.20. As that was also an older version of the application it is not clear weather a change in wine or a change in the application broke support, so I want to run the current version on wine 1.9.20.
Sadly that build fails. The part from where the red text started appearing is attached below.
The system is a current installation of Archlinux.
Can anyone help me out here with what needs to be adjusted here.
This is my first time posting to this list, so if this is the wrong place or information is missing, please tell and I will adjust.
(following https://wiki.winehq.org/Regression_Testing#Preliminary_notes I went back to the winehq-packaged wine 2.0.4 version to test on debian buster, but that seems not far back enough sadly.)
Thanks!
Thank you so much!
While I would love to have this tool, I think it would do the community a greater service if you open sourced that for the whole wine developer community to benefit from.
Hi
Some time ago, I wrote a tool that could build Wine binaries for every Git
commit, then commit them into a separate Git repository, so that for a bisection test, you only binary search the pre-built binaries and run them directly, no building source (ie. bisect-run-bisect-run, no building).
I've been trying to update this tool lately, and you're right, old versions
of Wine often don't build. What I've had to do is "reverse regression test" for the build regressions (https://wiki.winehq.org/Reverse_Regression_Testing) and then backport those commits to older versions. So far I can get Wine to compile as far back as 5 February 2014, which was just before version 1.7.12. Sadly the build system was completely rewritten in January 2014, making many of the commits unable to backport further; I would like to get back to 2008. On my previous attempt I succeeded in building all (buildable) binary versions from Wine 1.0 in June 2008, to October 2011, about 35000 binary versions in total, and successfully used it for rapid regression testing in that timeframe.
The long list of commits I had to backport to build up to 5 February 2014
(some of which are for FreeBSD) is as follows, in the order they have to be applied. Note that you only apply commits that come AFTER the commit you're building, not the ones from before (ie. "git rev-list --max-count=1 HEAD..<commit>" produces some output instead of silently exiting). My tool also automates that.
// makedep: Generate rules for bitmap fonts based on pragmas in the .sfd
file.
// Wed Feb 5 12:15:07 2014 +0100
new Patch("1cccb5594a5adab129bb2c10db796db14199936b"),
// makedep: Add support for specifying an object directory different from
the current directory.
// Thu Apr 10 10:03:03 2014 +0200
new Patch("dcf6060ab8aab4724ada508db295a85634ca51d4"),
// makedep: Pass a makefile pointer to all internal functions.
// Thu Apr 10 13:41:23 2014 +0200
new Patch("f9ddafa807b95f743764dea0f3bddf4acf71dcbc"),
// configure: Always build wine.inf even if we don't install it.
// Thu Jul 3 21:20:38 2014 +0200
new Patch("3bbbb6d5a73d8c45329d72f1f980377ede79f4c8"),
// makefiles: Do not run update-desktop-database on make install/uninstall.
// Sun May 31 08:03:54 2015 +0200
new Patch("ffabfd492ffc4bdca3ca0deaead238670e6fdcaf"),
// secur32: Use gnutls_cipher_get_block_size to get cupher block size.
// Tue Jun 16 13:46:46 2015 +0200
new Patch("dedbd1883611b1c72abeb05d9f93cd5ac8af2e90"),
// secur32: Fixed compilation on with gnutls.
// Wed Jun 17 13:01:14 2015 +0200
new Patch("72747526b1242f436db9e68d319c37484ce02109"),
// secur32: Fixed compilation on very old gnutls versions.
// Thu Jun 18 13:06:08 2015 +0200
new Patch("cae3f98c6938663aab248f6551e9cc7cfbc1ce09"),
// makefiles: Move wine.desktop to the loader directory.
// Mon Oct 26 23:03:08 2015 +0900
new Patch("2207a8907ca71792ab27acf9bb61efa80431ea84"),
// makefiles: Generate rules for building tool binaries.
// Tue Oct 27 12:13:26 2015 +0900
new Patch("7626728b562fae32f6d0f0c5d01589e5861f09dd"),
// makefiles: Automatically add RPATH support for programs that use libwine.
// Wed Oct 28 10:56:21 2015 +0900
new Patch("a1515c68d4d4b4334f44b098debba2548a16ca38"),
// secur32: Provide a static declaration for gnutls_cipher_get_block_size.
// Thu Jun 16 00:21:13 2016 -0500
new Patch("bf5ac531a030bce9e798ab66bc53e84a65ca8fdb"),
// winspool.drv: Include <cups/ppd.h> to fix building against the
macOS 10.12 SDK.
// Mon Jun 27 15:34:07 2016 -0500
new Patch("10065d2acd0a9e1e852a8151c95569b99d1b3294"),
// fonts: Increase the Em size to fix a build failure with freetype 2.8.1.
// Thu Sep 28 00:23:42 2017 +0200
new Patch("40166848a7944383a4cfdaac9b18bd03fbb2b4f9"),
// configure: Link wineserver to libinotify if necessary.
// Sat Apr 20 15:14:53 2019 +0200
new Patch("07c2e8581a2745725cd7ce4282eedb9a8084a1e4"),
// iphlpapi: Account for structs inpcb and tcpcb being unavailable for
userland in FreeBSD 12.
// Sat Aug 17 10:32:31 2019 +0200
new Patch("424e1e71cac268cc2db8483d84474f88d61b67d1")
Maybe I should also send you my tool in a form that just applies the
relevant patches?
Good luck
Damjan
On Sat, Mar 28, 2020 at 12:44 AM Bronze Alibi
<[bronze.alibi@startmail.com](mailto:bronze.alibi@startmail.com)> wrote:
Hello everybody,
This is my first time trying to figure out if something is a regression ,
so I need to build an older version of wine.
The application involved was reported to work in the past on wine 1.9.20.
As that was also an older version of the application it is not clear weather a change in wine or a change in the application broke support, so I want to run the current version on wine 1.9.20.
Sadly that build fails. The part from where the red text started appearing
is attached below.
The system is a current installation of Archlinux.
Can anyone help me out here with what needs to be adjusted here.
This is my first time posting to this list, so if this is the wrong place
or information is missing, please tell and I will adjust.
(following https://wiki.winehq.org/Regression_Testing#Preliminary_notes I
went back to the winehq-packaged wine 2.0.4 version to test on debian buster, but that seems not far back enough sadly.)
Thanks!