http://bugs.winehq.org/show_bug.cgi?id=22890
Summary: Macromedia Dreamweaver 8.02 update will not install properly Product: Wine Version: 1.1.44 Platform: x86 URL: http://www.adobe.com/support/dreamweaver/downloads_upd aters.html#dw8 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: shiningarcanine@gmail.com
Created an attachment (id=28304) --> (http://bugs.winehq.org/attachment.cgi?id=28304) stderr output from WINE 1.1.44 under Gentoo Linux
I have Macromedia Dreamweaver 8.0 installed on WINE 1.1.44 on Gentoo Linux. It installed without any hacks, but there is an update available from Macromedia (now Adobe) that will update it to version 8.02 on Windows. The installer for the update runs and terminates, claiming to have updated Dreamweaver, but upon opening Dreamweaver, it is clear that the update did not suceed, as it is still version 8.0.
Here is some system information regarding my Gentoo Linux installation. It is customary to post this on the Gentoo Linux bug tracker, so I hope posting this will be appreciated here:
$ emerge --info Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.11.1-r0, 2.6.34 i686) ================================================================= System uname: Linux-2.6.34-i686-Genuine_Intel-R-_CPU_T2400_@_1.83GHz-with-gentoo-2.0.1 Timestamp of tree: Wed, 26 May 2010 20:00:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.1_p7 dev-java/java-config: 2.1.11 dev-lang/python: 2.6.5-r2, 3.1.2-r3 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.8.1-r1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.4.3-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.7b virtual/os-headers: 2.6.33 ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="*" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CPPFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe -fomit-frame-pointer" CXXFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests buildpkg ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" FFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe -fomit-frame-pointer" GENTOO_MIRRORS="http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://gentoo.netnitco.net http://distro.ibiblio.org/pub/linux/distributions/gentoo/" LDFLAGS="-Wl,-O1" LINGUAS="en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/layman/vmware /var/lib/layman/java-overlay /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acpi alsa apm berkdb bzip2 cdr cli consolekit cracklib crypt cups cxx dbus dri dvd dvdr fftw fortran gd gdbm gif gnutls gpm hal iconv ipv6 java java6 jpeg kde lzma midi mmap mmx mng modules mp3 mudflap ncurses networkmanager nls nptl nptlonly nsplugin opengl openmp pam pcre perl png pppd python qt3 qt3support qt4 readline reflection samba session spl sqlite sse sse2 sse3 ssl svg sysfs tcpd threads tiff unicode vorbis x264 x86 xml xorg xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" NETBEANS_MODULES="*" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
http://bugs.winehq.org/show_bug.cgi?id=22890
Richard shiningarcanine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |shiningarcanine@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=22890
Philip J. Fry dabljuh@dabserver.dyndns.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dabljuh@dabserver.dyndns.or | |g
--- Comment #1 from Philip J. Fry dabljuh@dabserver.dyndns.org 2010-05-30 06:03:33 --- Wine refuses to work properly with -fomit-frame-pointer for me. Which is regrettable.
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #2 from Dmitry Timoshkov dmitry@codeweavers.com 2010-05-30 06:13:15 --- (In reply to comment #1)
Wine refuses to work properly with -fomit-frame-pointer for me. Which is regrettable.
How is this related to this bug? Is -fomit-frame-pointer an actual culprit here?
Not related, but what's the purpose of compiling with custom flags instead of well tested default ones? Does -fomit-frame-pointer really give noticeable performance improvements or is that just a speculation?
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #3 from Richard shiningarcanine@gmail.com 2010-05-30 08:30:42 --- I have no idea what -fomit-frame-pointer has to do with this, because on Gentoo Linux, WINE by default ignores the system CFLAGS. There is a USE flag to force it to compile with the system CFLAGS, but that is not in use on my system. Perhaps, my posting of emerge --info was confusing in this regard.
--- Comment #4 from Richard shiningarcanine@gmail.com 2010-05-30 08:30:42 --- I have no idea what -fomit-frame-pointer has to do with this, because on Gentoo Linux, WINE by default ignores the system CFLAGS. There is a USE flag to force it to compile with the system CFLAGS, but that is not in use on my system. Perhaps, my posting of emerge --info was confusing in this regard.
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #3 from Richard shiningarcanine@gmail.com 2010-05-30 08:30:42 --- I have no idea what -fomit-frame-pointer has to do with this, because on Gentoo Linux, WINE by default ignores the system CFLAGS. There is a USE flag to force it to compile with the system CFLAGS, but that is not in use on my system. Perhaps, my posting of emerge --info was confusing in this regard.
--- Comment #4 from Richard shiningarcanine@gmail.com 2010-05-30 08:30:42 --- I have no idea what -fomit-frame-pointer has to do with this, because on Gentoo Linux, WINE by default ignores the system CFLAGS. There is a USE flag to force it to compile with the system CFLAGS, but that is not in use on my system. Perhaps, my posting of emerge --info was confusing in this regard.
http://bugs.winehq.org/show_bug.cgi?id=22890
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID
--- Comment #5 from Vitaliy Margolen vitaliy@kievinfo.com 2010-05-30 14:10:25 --- Invalid. Wine (actually lots of windows programs) does not support -fomit-frame-pointer.
http://bugs.winehq.org/show_bug.cgi?id=22890
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Vitaliy Margolen vitaliy@kievinfo.com 2010-05-30 14:10:33 --- Closing
http://bugs.winehq.org/show_bug.cgi?id=22890
Richard shiningarcanine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |UNCONFIRMED Resolution|INVALID |
--- Comment #7 from Richard shiningarcanine@gmail.com 2010-05-30 14:23:47 --- (In reply to comment #5)
Invalid. Wine (actually lots of windows programs) does not support -fomit-frame-pointer.
WINE is not compiled with -fomit-frame-pointer on my system. Why do you think it is?
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #8 from Philip J. Fry dabljuh@dabserver.dyndns.org 2010-05-30 15:17:18 --- Confirming that custom CFLAGS are disabled for wine by default on gentoo. They're available via the use custom-cflags flag. If Wine is not compiled with the custom-cflags useflag, -fomit-frame-pointer would get filtered out.
Not related, but what's the purpose of compiling with custom flags instead of well tested default ones? Does -fomit-frame-pointer really give noticeable performance improvements or is that just a speculation?
I'm going to try to give you the rundown:
The frame pointer is a primarily a debugging facility essentially so the program flow knows what function it was in when it failed. Frame pointers as a debuggers tool are considered obsolete these days, as there are options for debugging available that do not require frame pointers, and are also supported by gcc. Frame pointers occupy a full general purpose register on the cpu during program execution, and furthermore necessitate a lot of avoidable overhead when entering / leaving functions. As a general rule, compiled C++ code can be expected to run 10-25% faster when frame pointers are omitted.
Frame pointers are no longer defaulting to inclusion by any bigger compiler for the x86-64 target architecture, and they haven't been the default for intel / MS compilers for x86 for ages, their omission being part of even the lowest optimization set. I find it regrettable that frame pointers are still enabled by default on gcc 4.4.3 for the x86 architecture even when no absolutely no debugging flags are enabled.
According to oiaohm in the wine chat on freenode (if I understood him properly) the frame pointer is necessary for wine to allow some of the more arcane / hacky features to work, to be specific, support for certain stack-scanning copy protection and anticheat mechanisms.
It may or may not be possible to get those features into wine without the use of a frame pointer to enhance performance, but currently some programs will simply not work when Wine is compiled with -fomit-frame-pointer.
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #9 from Richard shiningarcanine@gmail.com 2010-05-30 15:57:45 --- I took a closer look at what the WINE ebuild does on Gentoo Linux and it seems that it is not stripping -fomit-frame-pointer. While it appeared from the custom-cflags USE flag for the WINE ebuild that it ignored the system CFLAGS (like other ebuilds with custom-cflags USE flags do), the ebuild actually honors them. The custom-cflags USE flag is intended to enable users "Bypass strip-flags" as its very succinct documentation claims. Since -fomit-frame-pointer is not a strip flag for the ebuild, it is passed to the compiler from the system CFLAGS. I filed a bug report at the Gentoo Linux bug tracker to have this issue resolved:
http://bugs.gentoo.org/show_bug.cgi?id=322137
Earlier today I upgraded to WINE 1.2 RC 2 and confirmed that this issue is present in WINE 1.2 RC 2 as well, but unfortunately, that was before I realized that WINE was being built without frame pointers. I reinstalled WINE 1.2 RC 2 on my system with the following command:
CFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe" CPPFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe" CXXFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe" emerge -1v wine
Doing that rebuilt it with frame-pointers and I can verify that the original issue I reported was not caused by the omission of frame pointers. The same issues that appeared in the stderr output from WINE 1.1.44 without frame pointers also appear in the stderr output from WINE 1.2 RC 2 with frame pointers. I can rebuild WINE 1.1.44 without frame pointers to verify that it is affected as well if necessary. I hope that this is satisfactory.
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #10 from Philip J. Fry dabljuh@dabserver.dyndns.org 2010-05-30 16:44:06 --- Richard, I cannot reproduce that, I tested this extensively, strip-flags (which is what's run in the 1.1.44 ebuild when you have the custom-cflags USE flag disabled) removes -fomit-frame-pointer for me on Portage 2.2_rc63.
Review the strip-flags function and the setup-allowed-flags functions in /usr/portage/eclass/flag-o-matic.eclass
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #11 from Richard shiningarcanine@gmail.com 2010-05-30 17:16:01 --- (In reply to comment #10)
Richard, I cannot reproduce that, I tested this extensively, strip-flags (which is what's run in the 1.1.44 ebuild when you have the custom-cflags USE flag disabled) removes -fomit-frame-pointer for me on Portage 2.2_rc63.
Review the strip-flags function and the setup-allowed-flags functions in /usr/portage/eclass/flag-o-matic.eclass
If you have -fomit-frame-pointer in your system CFLAGS, try running "ebuild $(equery which app-emulation/wine) compile" and run grep "-fomit-frame-pointer" on the build.log that is generated in a subdirectory of /var/tmp/portage. My system is currently running sys-apps/portage-2.1.8.3 and at the moment, sys-apps/portage-2.2_rc67, which you are running, is masked in the portage tree, so we are running different versions of portage, which I would suspect is the reason for the discrepancies in our observations should you not see grep "-fomit-frame-pointer" return anything from the build.log generated by the WINE ebuild on your system.
By the way, regardless of what is causing the discrepancies in our observations, I recompiled WINE with frame pointers by specifying CFLAGS, CXXFLAGS and CPPFLAGS for the build and confirmed that this issue occurs in the presence of frame pointers, so both of us are in agreement that this is an issue in WINE. It might be a good idea to take a discussion regarding whether or not the ebuild strips the flags over to the bug report I filed at the Gentoo bug tracker, because that is not a WINE issue.
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #12 from Richard shiningarcanine@gmail.com 2010-05-30 17:19:47 --- It seems that running grep "-fomit-frame-pointer" does not work like I expected it to work. Here is an example command from my system that does work properly:
grep "-fomit-frame-pointer" < /var/tmp/portage/app-emulation/wine-1.2_rc2/temp/build.log
You will likely need to adjust it if you are not using WINE 1.2 RC 2 in a local overlay. I upgraded from WINE 1.1.44 earlier today because I found a version bump request at the Gentoo Linux bug tracker with an ebuild for WINE 1.2 RC2:
http://bugs.gentoo.org/show_bug.cgi?id=321389
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #13 from Philip J. Fry dabljuh@dabserver.dyndns.org 2010-05-30 18:04:56 --- Is the problem that maybe you shouldn't use CFLAGS from the command line and strip-flags will only work properly for the flags that are set in /etc/make.conf?
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #14 from Richard shiningarcanine@gmail.com 2010-05-30 18:12:49 --- Specifying CFLAGS from the commandline was a hack to get the system to build WINE with frame pointers (i.e. without -fomit-frame-pointer). WINE had been installed without it and -fomit-frame-pointer had been passed to the system compiler according to the build log. Specifying different CFLAGS via the commandline (or even modifying the system CFLAGS altogether) to omit -fomit-frame-pointer from the CFLAGS (i.e. to include frame pointers) is what makes the system build it without build it without -fomit-frame-pointer (i.e. with frame pointers).
Again, whether or not WINE is built without frame pointers when -fomit-frame-pointer is specified in the CFLAGS on Gentoo Linux is not a WINE issue (i.e. it is a Gentoo Linux issue), but the fact that the Macromedia Dreamweaver 8.02 update will not install on WINE with or without frame pointers is a WINE issue. Discussion of whether or not the system package manager builds WINE with -fomit-frame-pointer on Gentoo Linux systems with -fomit-frame-pointer specified in the system CFLAGS should occur in the bug report at the Gentoo Linux bug tracker.
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #15 from Richard shiningarcanine@gmail.com 2010-06-07 11:21:02 --- Okay, the official word from the Gentoo WINE maintainer is that -fomit-frame-pointer is stripped and that I goofed in assuming that CPPFLAGS was an alias for CXXFLAGS, which introduced -fomit-frame-pointer into my system.
Now hacks are no longer required to compile WINE without -fomit-frame-pointer on my system. This does not change the issue WINE has involving the Macromedia Dreamweaver 8.02 update. My initial report was correct.
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #16 from Austin English austinenglish@gmail.com 2012-03-19 14:52:51 CDT --- This is your friendly reminder that there has been no bug activity for 650 days. Is this still an issue in current (1.4 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=22890
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |00cpxxx@gmail.com Ever Confirmed|0 |1
--- Comment #17 from Bruno Jesus 00cpxxx@gmail.com 2012-03-19 20:13:02 CDT --- I can confirm this issue in wine 1.5.
Program: http://marketsmaster.org/dreamweaver_8/
Patch: http://download.macromedia.com/pub/dreamweaver/updates/dw_8/8_0_2/win/dw8_80...
The update program hangs for a while and quits saying everything worked. The hanging lines in the console (I'll attach the full log):
err:ole:TMStubImpl_Invoke invoke call failed with exception 0xc0000005 (-1073741819) err:ole:xCall RpcChannelBuffer SendReceive failed, c0000005
http://bugs.winehq.org/show_bug.cgi?id=22890
--- Comment #18 from Bruno Jesus 00cpxxx@gmail.com 2012-03-19 20:19:05 CDT --- Created attachment 39471 --> http://bugs.winehq.org/attachment.cgi?id=39471 1.5 updater log
http://bugs.winehq.org/show_bug.cgi?id=22890
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE
--- Comment #19 from Hans Leidekker hans@meelstraat.net 2012-03-20 03:07:11 CDT --- fixme:mspatcha:ApplyPatchToFileW stub - L"C:\users\wine\Temp\c122.tmp", L"C:\Program Files\Macromedia\Dreamweaver 8\libcurl.dll", L"C:\users\wine\Temp\c124.tmp", 00000000 err:msi:patchfiles_cb Failed patch L"C:\Program Files\Macromedia\Dreamweaver 8\libcurl.dll": 120. ... err:msi:ACTION_PatchFiles Failed to apply patch to file: L"libcurl.dll" err:msi:ITERATE_Actions Execution halted, action L"PatchFiles" returned 1603
It fails on missing support for file patching.
*** This bug has been marked as a duplicate of bug 12501 ***
http://bugs.winehq.org/show_bug.cgi?id=22890
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #20 from Hans Leidekker hans@meelstraat.net 2012-03-20 03:11:53 CDT --- Closing.
https://bugs.winehq.org/show_bug.cgi?id=22890
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |mspatcha CC| |focht@gmx.net Keywords| |download, Installer