Bug 951588
Summary: | Missing symbol g_get_home_dir_utf8 on x64 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Marc-Andre Lureau <marcandre.lureau> |
Component: | mingw-glib2 | Assignee: | Richard W.M. Jones <rjones> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 19 | CC: | dieterv, erik-fedora, fedora-mingw, fedora, kalevlember, lfarkas, rjones |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-04-20 19:37:28 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Marc-Andre Lureau
2013-04-12 14:14:51 UTC
That's odd. IIRC this symbol should only be exported for the win32 target, not for the win64 target.. (In reply to comment #1) > That's odd. IIRC this symbol should only be exported for the win32 target, > not for the win64 target.. That is correct, the _utf8() variants should only exist in 32 bit binaries. Code calling the non _utf8() variants when compiled against a glib newer than 2.18 (iirc) automatically use the _utf8() dll entry points. The non _utf8() dll entry points are (or where) provided for backward compatibility. In other words, to support binaries compiled against a glib version older than 2.18 (again, iirc). At least, that was the idea back when this was implemented. This compatibility problem never existed with 64 bit binaries, hence the _utf8() variants should simply not exist there. I really do want to believe you guys, but the fact is we have several mingw64 binaries in fedora that use that symbols. WebKit is also missing from the list above. So I suggest we just change the ifdef line that exclude x64 platform, at least for now. Or someone needs to rebuild those packages against newer glib, asap would be nice :) This upstream commit looks related to this issue: https://git.gnome.org/browse/glib/commit/?id=8c42a663f8182f8281c083390aa761e8e9badc63 If this really is the case then this issue should have started to appear as of glib 2.35.9. The odd thing about this commit is that apparently the _utf8 wrappers were also used on Win64 (everything is inside an #ifdef G_OS_WIN32 block). Therefore both win32 and win64 binaries which were built against an older version of glib may have still used these symbols (as can be seen with the grep output in the comment 0). The most straightforward way to resolve this issue would be to rebuild the packages in question which are still using the _utf8 wrappers. However, end-user compiled binaries may also be affected and I'm not sure whether we can accept this ABI break in glib... (In reply to comment #4) > This upstream commit looks related to this issue: > https://git.gnome.org/browse/glib/commit/ > ?id=8c42a663f8182f8281c083390aa761e8e9badc63 > If this really is the case then this issue should have started to appear as > of glib 2.35.9. Yes, it looks to me like a mistake. #ifdef G_OS_WIN32 doesn't mean 32bit only, it is true for win64 as well. So that commit looks wrong to me. I would suggest 64 bit has the same compatibility as 32 bit, so we remove the -#if defined (G_OS_WIN32) && !defined (_WIN64) +#if defined (G_OS_WIN32) mingw-w64-tools-2.0.999-0.7.trunk.20130403.fc19,mingw-qt-4.8.4-3.fc19,mingw-libxml2-2.9.0-3.fc19,mingw-headers-2.0.999-0.19.trunk.20130403.fc19,mingw-glib2-2.36.1-1.fc19,mingw-gtk2-2.24.17-1.fc19,mingw-gcc-4.8.0-3.fc19,mingw-crt-2.0.999-0.19.trunk.20130403.fc19,mingw-binutils-2.23.52.0.1-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mingw-w64-tools-2.0.999-0.7.trunk.20130403.fc19,mingw-qt-4.8.4-3.fc19,mingw-libxml2-2.9.0-3.fc19,mingw-headers-2.0.999-0.19.trunk.20130403.fc19,mingw-glib2-2.36.1-1.fc19,mingw-gtk2-2.24.17-1.fc19,mingw-gcc-4.8.0-3.fc19,mingw-crt-2.0.999-0.19.trunk.20130403.fc19,mingw-binutils-2.23.52.0.1-1.fc19 Package mingw-w64-tools-2.0.999-0.7.trunk.20130403.fc19, mingw-qt-4.8.4-3.fc19, mingw-libxml2-2.9.0-3.fc19, mingw-headers-2.0.999-0.19.trunk.20130403.fc19, mingw-glib2-2.36.1-1.fc19, mingw-gtk2-2.24.17-1.fc19, mingw-gcc-4.8.0-3.fc19, mingw-crt-2.0.999-0.19.trunk.20130403.fc19, mingw-binutils-2.23.52.0.1-1.fc19: * should fix your issue, * was pushed to the Fedora 19 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing mingw-w64-tools-2.0.999-0.7.trunk.20130403.fc19 mingw-qt-4.8.4-3.fc19 mingw-libxml2-2.9.0-3.fc19 mingw-headers-2.0.999-0.19.trunk.20130403.fc19 mingw-glib2-2.36.1-1.fc19 mingw-gtk2-2.24.17-1.fc19 mingw-gcc-4.8.0-3.fc19 mingw-crt-2.0.999-0.19.trunk.20130403.fc19 mingw-binutils-2.23.52.0.1-1.fc19' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-5786/mingw-w64-tools-2.0.999-0.7.trunk.20130403.fc19,mingw-qt-4.8.4-3.fc19,mingw-libxml2-2.9.0-3.fc19,mingw-headers-2.0.999-0.19.trunk.20130403.fc19,mingw-glib2-2.36.1-1.fc19,mingw-gtk2-2.24.17-1.fc19,mingw-gcc-4.8.0-3.fc19,mingw-crt-2.0.999-0.19.trunk.20130403.fc19,mingw-binutils-2.23.52.0.1-1.fc19 then log in and leave karma (feedback). mingw-w64-tools-2.0.999-0.7.trunk.20130403.fc19, mingw-qt-4.8.4-3.fc19, mingw-libxml2-2.9.0-3.fc19, mingw-headers-2.0.999-0.19.trunk.20130403.fc19, mingw-glib2-2.36.1-1.fc19, mingw-gtk2-2.24.17-1.fc19, mingw-gcc-4.8.0-3.fc19, mingw-crt-2.0.999-0.19.trunk.20130403.fc19, mingw-binutils-2.23.52.0.1-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report. |