[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 04/10] Add a script to extract VSS SDK header
Re: [Qemu-devel] [PATCH v4 04/10] Add a script to extract VSS SDK headers on POSIX system
Wed, 26 Jun 2013 12:52:16 +0200
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130513 Thunderbird/17.0.6
On 06/25/13 17:01, Paolo Bonzini wrote:
> Il 25/06/2013 17:01, Laszlo Ersek ha scritto:
>> On 06/06/13 17:06, Tomoki Sekiyama wrote:
>>> +if ! command -v msiextract > /dev/null; then
>>> + echo 'msiextract not found. Please install msitools.' >&2
>>> + exit 1
>> (This is not a review comment -- I'm trying to test it:)
>> What msiextract version (and dependencies, like libgcab, libgsf etc) are
>> you using? I'm unable to extract "vsssdk.msi"; msiextract spews a bunch
>> of assertion failures.
>> 2e39646b7850a12673bc66ade85fece3 setup.exe
>> 433eb024ed0c669dd1563d952ca41091 vsssdk.msi
>> My versions (RHEL-6.4.z distro):
>> - msitools-0.92 (built from source)
>> - gcab-0.4 (built from source)
>> - libgsf-1.14.15-5.el6 (patch in  doesn't seem to help, it only
>> changes the kinds of asserts that fail)
>> - glib2-2.22.5-7.el6
>> - libuuid-2.17.2-12.9.el6_4.3
> The attached patch may help building a newer libgsf on RHEL6.
It did help building it, however the runtime error has stayed. I'm
starting to worry this is a more fundamental issue, namely in glib.
The first errors I'm getting on the msiextract stderr are:
(msiextract:28858): GLib-GObject-WARNING **: invalid cast from
`GDataInputStream' to `GSeekable'
(msiextract:28858): GLib-GIO-CRITICAL **: g_seekable_seek: assertion
`G_IS_SEEKABLE (seekable)' failed
(The second clearly being a consequence of the first.)
Problem is, the first warning is "wrong". According to the current, live
glib docs <https://developer.gnome.org/gio/stable/GDataInputStream.html>,
GDataInputStream implements GSeekable.
The NEWS file in glib states,
Overview of changes from GLib 2.32.1 to 2.33.1
- implement GSeekable for the data and buffered stream classes
git log --oneline --reverse 2.32.1..2.33.1 | grep -i seekable
90739ba Make GBufferedInputStream implement GSeekable
43895e3 Make GBufferedOutputStream implement GSeekable
a44e801 Make GDataOutputStream implement GSeekable
GDataOutputStream and GBufferedOutputStream are both direct descendants
of GFilterOutputStream, and they both implement the GSeekable interface
However GDataInputStream is derived from GBufferedInputStream (it the
former is not the sibling of the latter, as for output).
GBufferedInputStream was made to implement GSeekable explicitly, and
GDataInputStream gets it via inheritance. (In 2.33.1, that is.)
I guess I'll extract the MSI once on F19 and stash the contents...
[Qemu-devel] [PATCH v4 08/10] qemu-ga: call Windows VSS requester in fsfreeze command handler, Tomoki Sekiyama, 2013/06/06
[Qemu-devel] [PATCH v4 01/10] configure: Support configuring c++ compiler, Tomoki Sekiyama, 2013/06/06
[Qemu-devel] [PATCH v4 04/10] Add a script to extract VSS SDK headers on POSIX system, Tomoki Sekiyama, 2013/06/06
[Qemu-devel] [PATCH v4 10/10] QMP/qemu-ga-client: make timeout longer for guest-fsfreeze-freeze command, Tomoki Sekiyama, 2013/06/06
[Qemu-devel] [PATCH v4 07/10] qemu-ga: Add Windows VSS requester to quiesce applications and filesystems, Tomoki Sekiyama, 2013/06/06
Re: [Qemu-devel] [PATCH v4 00/10] qemu-ga: fsfreeze on Windows using VSS, Stefan Hajnoczi, 2013/06/10
Re: [Qemu-devel] [PATCH v4 00/10] qemu-ga: fsfreeze on Windows using VSS, Tomoki Sekiyama, 2013/06/24
- Re: [Qemu-devel] [PATCH v4 06/10] qemu-ga: Add Windows VSS provider to quiesce applications on fsfreeze, (continued)