http://bugs.winehq.org/show_bug.cgi?id=33909
Bug #: 33909 Summary: loader/Makefile.in not compatible with BSD make Product: Wine Version: 1.6-rc3 Platform: x86 OS/Version: FreeBSD Status: NEW Keywords: download, regression Severity: major Priority: P2 Component: build-env AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com CC: ken@codeweavers.com Classification: Unclassified Regression SHA1: c40a72223c9f13aa18d0d5cf7a8071618da6599e
Compiling on PC-BSD 9 (Based on FreeBSD 9.1) hangs when it gets to compiling the loader: [austin@pcbsd-7162 ~/wine-git/loader]$ make gcc -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wpointer-arith -gdwarf-2 -fno-omit-frame-pointer -I/usr/local/include -g -O2 -fno-builtin -o main.o main.c LC_ALL=C sed -e 's,@PACKAGE_VERSION@,1.6-rc3,g' >wine_info.plist || (rm -f wine_info.plist && false)
Using GNU make works around it: [austin@pcbsd-7162 ~/wine-git/loader]$ gmake LC_ALL=C sed -e 's,@PACKAGE_VERSION@,1.6-rc3,g' wine_info.plist.in
wine_info.plist || (rm -f wine_info.plist && false)
gcc -o wine -Wl,--export-dynamic -Wl,--section-start,.interp=0x60000400 main.o -L../libs/wine -lwine ../libs/port/libwine_port.a -lpthread -L/usr/local/lib -Wl,--rpath,$ORIGIN/../libs/wine gcc -o wine-installed -Wl,--export-dynamic -Wl,--section-start,.interp=0x60000400 main.o -L../libs/wine -lwine ../libs/port/libwine_port.a -lpthread -L/usr/local/lib -Wl,--rpath,$ORIGIN/`../tools/relpath /usr/local/bin /usr/local/lib` -Wl,--enable-new-dtags LC_ALL=C sed -e 's,@bindir@,/usr/local/bin,g' -e 's,@dlldir@,/usr/local/lib/wine,g' -e 's,@PACKAGE_STRING@,Wine 1.6-rc3,g' wine.man.in >wine.man || (rm -f wine.man && false) LC_ALL=C sed -e 's,@bindir@,/usr/local/bin,g' -e 's,@dlldir@,/usr/local/lib/wine,g' -e 's,@PACKAGE_STRING@,Wine 1.6-rc3,g' wine.de.man.in >wine.de.man || (rm -f wine.de.man && false) LC_ALL=C sed -e 's,@bindir@,/usr/local/bin,g' -e 's,@dlldir@,/usr/local/lib/wine,g' -e 's,@PACKAGE_STRING@,Wine 1.6-rc3,g' wine.fr.man.in >wine.fr.man || (rm -f wine.fr.man && false) LC_ALL=C sed -e 's,@bindir@,/usr/local/bin,g' -e 's,@dlldir@,/usr/local/lib/wine,g' -e 's,@PACKAGE_STRING@,Wine 1.6-rc3,g' wine.pl.man.in >wine.pl.man || (rm -f wine.pl.man && false)
It's a regression, introduced by c40a72223c9f13aa18d0d5cf7a8071618da6599e
http://bugs.winehq.org/show_bug.cgi?id=33909
--- Comment #1 from Ken Thomases ken@codeweavers.com 2013-06-28 21:10:58 CDT --- It seems to be the make rule introduced by this hunk affecting loader/Makefile.in http://source.winehq.org/source/loader/Makefile.in#L48:
+wine_info.plist: wine_info.plist.in + LC_ALL=C sed -e 's,@PACKAGE_VERSION@,@PACKAGE_VERSION@,g' $< >$@ || ($(RM) $@ && false) +
It seems that BSD make is substituting the empty string for "$<", causing sed to try to read from stdin. Some research suggests that BSD make may only define $< for inference rules (a.k.a. suffix rules). So, I suppose simply replacing $< in the command with literal wine_info.plist.in should work.
http://bugs.winehq.org/show_bug.cgi?id=33909
--- Comment #2 from Austin English austinenglish@gmail.com 2013-06-28 21:14:55 CDT --- (In reply to comment #1)
It seems to be the make rule introduced by this hunk affecting loader/Makefile.in http://source.winehq.org/source/loader/Makefile.in#L48:
+wine_info.plist: wine_info.plist.in
LC_ALL=C sed -e 's,@PACKAGE_VERSION\@,@PACKAGE_VERSION@,g' $< >$@ ||
($(RM) $@ && false)
It seems that BSD make is substituting the empty string for "$<", causing sed to try to read from stdin. Some research suggests that BSD make may only define $< for inference rules (a.k.a. suffix rules). So, I suppose simply replacing $< in the command with literal wine_info.plist.in should work.
Yeah, I used that as a workaround. I'm not sure if there's a more proper fix.
http://bugs.winehq.org/show_bug.cgi?id=33909
--- Comment #3 from Ken Thomases ken@codeweavers.com 2013-06-28 21:26:07 CDT --- Neither am I. I'd say just submit it. I can't imagine that it could hurt anything.
http://bugs.winehq.org/show_bug.cgi?id=33909
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |33147
http://bugs.winehq.org/show_bug.cgi?id=33909
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |f191f26c6af5f4226693f132a47 | |73cadc1c558ac Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #4 from Austin English austinenglish@gmail.com 2013-07-01 17:24:00 CDT --- http://source.winehq.org/git/wine.git/commitdiff/f191f26c6af5f4226693f132a47...
The manpages don't want to install though, I filed bug 33930 for that.
http://bugs.winehq.org/show_bug.cgi?id=33909
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2013-07-12 13:48:26 CDT --- Closing bugs fixed in 1.6-rc5.