From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40047) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UrnJ4-0005j6-P5 for qemu-devel@nongnu.org; Wed, 26 Jun 2013 06:50:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UrnJ1-00022K-L8 for qemu-devel@nongnu.org; Wed, 26 Jun 2013 06:50:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:6758) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UrnJ1-00022E-DA for qemu-devel@nongnu.org; Wed, 26 Jun 2013 06:50:31 -0400 Message-ID: <51CAC7E0.5080304@redhat.com> Date: Wed, 26 Jun 2013 12:52:16 +0200 From: Laszlo Ersek MIME-Version: 1.0 References: <20130606150618.10486.60669.stgit@hds.com> <20130606150638.10486.36820.stgit@hds.com> <51C9B0E5.6040306@redhat.com> <51C9B0B1.7000508@redhat.com> In-Reply-To: <51C9B0B1.7000508@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4 04/10] Add a script to extract VSS SDK headers on POSIX system List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: libaiqing@huawei.com, qemu-devel@nongnu.org, stefanha@gmail.com, mdroth@linux.vnet.ibm.com, lcapitulino@redhat.com, vrozenfe@redhat.com, Tomoki Sekiyama , seiji.aguchi@hds.com, areis@redhat.com 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 >>> +fi >> >> (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 [1] 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 , GDataInputStream implements GSeekable. The NEWS file in glib states, Overview of changes from GLib 2.32.1 to 2.33.1 ============================================== [...] * GIO: - implement GSeekable for the data and buffered stream classes Commits: 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 Bug: https://bugzilla.gnome.org/show_bug.cgi?id=673034 GDataOutputStream and GBufferedOutputStream are both direct descendants of GFilterOutputStream, and they both implement the GSeekable interface in isolation. 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... Thanks! Laszlo