Bug 1375429

Summary: relocation error: libspice-client-gtk-3.0.so.5: symbol spice_display_get_gl_scanout, version spicegtk_1 not defined in file libspice-client-glib-2.0.so.8 with link time refrence
Product: [Community] Virtualization Tools Reporter: Jai Abishek <jjanarthanam>
Component: virt-viewerAssignee: Daniel Berrangé <berrange>
Status: CLOSED NOTABUG QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: jjanarthanam, pgrunt, rbalakri, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: arm   
OS: Other   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-11 06:43:41 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:
Attachments:
Description Flags
spicegtk-virtviewer-compile none

Description Jai Abishek 2016-09-13 06:05:46 UTC
After installing Virt-viewer 4.0 with spice-gtk 3.0, i am running the application through an script, the resultant is this error.

Most appreciated on the quickest reply, please help.

(remote-viewer:23630): virt-viewer-DEBUG: Opening display to spiceproxy
(remote-viewer:23630): virt-viewer-DEBUG: Guest (null) has a spice display
(remote-viewer:23630): virt-viewer-DEBUG: After open connection callback fd=-1
(remote-viewer:23630): virt-viewer-DEBUG: Opening connection to display at spiceproxy
(remote-viewer:23630): virt-viewer-DEBUG: New spice channel 0x119f450 SpiceMainChannel 0

(remote-viewer:23630): GLib-GObject-WARNING **: /build/glib2.0-NyxCB6/glib2.0-2.48.1/./gobject/gsignal.c:2417: signal 'new-file-transfer' is invalid for instance '0x119f450' of type 'SpiceMainChannel'
(remote-viewer:23630): virt-viewer-DEBUG: notebook show status 0x1088160
(remote-viewer:23630): virt-viewer-DEBUG: main channel: opened
(remote-viewer:23630): virt-viewer-DEBUG: notebook show status 0x1088160
(remote-viewer:23630): virt-viewer-DEBUG: virt_viewer_app_set_uuid_string: UUID changed to 175893e9-dacc-4d37-8523-4596551338e6
(remote-viewer:23630): virt-viewer-DEBUG: app is not in full screen
(remote-viewer:23630): virt-viewer-DEBUG: app is not in full screen
(remote-viewer:23630): virt-viewer-DEBUG: New spice channel 0x11eb9c8 SpiceRecordChannel 0
(remote-viewer:23630): virt-viewer-DEBUG: New spice channel 0x11f66c8 SpicePlaybackChannel 0
(remote-viewer:23630): virt-viewer-DEBUG: new audio channel
(remote-viewer:23630): virt-viewer-DEBUG: New spice channel 0x12268d0 SpiceCursorChannel 0
(remote-viewer:23630): virt-viewer-DEBUG: New spice channel 0x11f7760 SpiceDisplayChannel 0
(remote-viewer:23630): virt-viewer-DEBUG: New spice channel 0x11d7ec8 SpiceInputsChannel 0
(remote-viewer:23630): virt-viewer-DEBUG: new inputs channel

(remote-viewer:23630): GLib-GObject-WARNING **: /build/glib2.0-NyxCB6/glib2.0-2.48.1/./gobject/gsignal.c:2417: signal 'gl-draw' is invalid for instance '0x11f7760' of type 'SpiceDisplayChannel'
(remote-viewer:23630): virt-viewer-DEBUG: creating spice display (#:0)
(remote-viewer:23630): virt-viewer-DEBUG: Insert display 0 0x1053980
(remote-viewer:23630): virt-viewer-DEBUG: Found a window without a display, reusing for display #0
(remote-viewer:23630): virt-viewer-DEBUG: notebook show display 0x1088160

(remote-viewer:23630): GSpice-WARNING **: Warning no automount-inhibiting implementation available
libEGL warning: DRI2: failed to authenticate
remote-viewer: relocation error: /usr/local/lib/libspice-client-gtk-3.0.so.5: symbol spice_display_get_gl_scanout, version SPICEGTK_1 not defined in file libspice-client-glib-2.0.so.8 with link time reference
root@netpulz-desktop:/usr/local# ./vdiclient.sh 100 pve 10.1.3.20 > text

(remote-viewer:23726): GLib-GObject-WARNING **: /build/glib2.0-NyxCB6/glib2.0-2.48.1/./gobject/gsignal.c:2417: signal 'new-file-transfer' is invalid for instance '0x1b9a050' of type 'SpiceMainChannel'

(remote-viewer:23726): GLib-GObject-WARNING **: /build/glib2.0-NyxCB6/glib2.0-2.48.1/./gobject/gsignal.c:2417: signal 'gl-draw' is invalid for instance '0x1be3ae0' of type 'SpiceDisplayChannel'

(remote-viewer:23726): GSpice-WARNING **: Warning no automount-inhibiting implementation available
libEGL warning: DRI2: failed to authenticate
remote-viewer: relocation error: /usr/local/lib/libspice-client-gtk-3.0.so.5: symbol spice_display_get_gl_scanout, version SPICEGTK_1 not defined in file libspice-client-glib-2.0.so.8 with link time reference

Comment 1 Pavel Grunt 2016-09-13 08:54:35 UTC
What is the version of spice-gtk ? You need spice-gtk v0.31

To me it looks like virt-viewer is linked to a wrong library. Check:
ldd `which virt-viewer` | grep spice

Comment 2 Jai Abishek 2016-09-13 09:01:10 UTC
(In reply to Pavel Grunt from comment #1)
> What is the version of spice-gtk ? You need spice-gtk v0.31
> 
> To me it looks like virt-viewer is linked to a wrong library. Check:
> ldd `which virt-viewer` | grep spice

hi Pavel Grunt,

Thanks for the quick reply,

Spice-GTK - 0.32 compiled using --enable-maintainer-mode --enable-gtk-doc --enable-smartcard=no --enable-introspection=auto --with-gtk=3.0

And the resultant for the search
>ldd `which virt-viewer` | grep spice
libspice-client-gtk-3.0.so.5 => /usr/local/lib/libspice-client-gtk-3.0.so.5 (0x76c58000)
libspice-client-glib-2.0.so.8 => /usr/lib/arm-linux-gnueabihf/libspice-client-glib-2.0.so.8 (0x76599000) 

Regards,
Jai Abishek

Comment 3 Pavel Grunt 2016-09-13 09:08:29 UTC
(In reply to Jai Abishek from comment #2)
> (In reply to Pavel Grunt from comment #1)
> > What is the version of spice-gtk ? You need spice-gtk v0.31
> > 
> > To me it looks like virt-viewer is linked to a wrong library. Check:
> > ldd `which virt-viewer` | grep spice
> 
> hi Pavel Grunt,
> 
> Thanks for the quick reply,
> 
> Spice-GTK - 0.32 compiled using --enable-maintainer-mode --enable-gtk-doc
> --enable-smartcard=no --enable-introspection=auto --with-gtk=3.0
> 
> And the resultant for the search
> >ldd `which virt-viewer` | grep spice
> libspice-client-gtk-3.0.so.5 => /usr/local/lib/libspice-client-gtk-3.0.so.5
> (0x76c58000)
> libspice-client-glib-2.0.so.8 =>
> /usr/lib/arm-linux-gnueabihf/libspice-client-glib-2.0.so.8 (0x76599000) 
> 

It should link to /usr/local/lib/libspice-client-glib-2.0.so.8 


> Regards,
> Jai Abishek

Comment 4 Jai Abishek 2016-09-13 09:17:35 UTC
(In reply to Pavel Grunt from comment #3)
> (In reply to Jai Abishek from comment #2)
> > (In reply to Pavel Grunt from comment #1)
> > > What is the version of spice-gtk ? You need spice-gtk v0.31
> > > 
> > > To me it looks like virt-viewer is linked to a wrong library. Check:
> > > ldd `which virt-viewer` | grep spice
> > 
> > hi Pavel Grunt,
> > 
> > Thanks for the quick reply,
> > 
> > Spice-GTK - 0.32 compiled using --enable-maintainer-mode --enable-gtk-doc
> > --enable-smartcard=no --enable-introspection=auto --with-gtk=3.0
> > 
> > And the resultant for the search
> > >ldd `which virt-viewer` | grep spice
> > libspice-client-gtk-3.0.so.5 => /usr/local/lib/libspice-client-gtk-3.0.so.5
> > (0x76c58000)
> > libspice-client-glib-2.0.so.8 =>
> > /usr/lib/arm-linux-gnueabihf/libspice-client-glib-2.0.so.8 (0x76599000) 
> > 
> 
> It should link to /usr/local/lib/libspice-client-glib-2.0.so.8 
> 
> 
> > Regards,
> > Jai Abishek

how can i redirect the file location?

Regards,
Jai Abishek

Comment 5 Pavel Grunt 2016-09-13 09:25:52 UTC
(In reply to Jai Abishek from comment #4)
> (In reply to Pavel Grunt from comment #3)
> > (In reply to Jai Abishek from comment #2)
> > > (In reply to Pavel Grunt from comment #1)
> > > > What is the version of spice-gtk ? You need spice-gtk v0.31
> > > > 
> > > > To me it looks like virt-viewer is linked to a wrong library. Check:
> > > > ldd `which virt-viewer` | grep spice
> > > 
> > > hi Pavel Grunt,
> > > 
> > > Thanks for the quick reply,
> > > 
> > > Spice-GTK - 0.32 compiled using --enable-maintainer-mode --enable-gtk-doc
> > > --enable-smartcard=no --enable-introspection=auto --with-gtk=3.0
> > > 
> > > And the resultant for the search
> > > >ldd `which virt-viewer` | grep spice
> > > libspice-client-gtk-3.0.so.5 => /usr/local/lib/libspice-client-gtk-3.0.so.5
> > > (0x76c58000)
> > > libspice-client-glib-2.0.so.8 =>
> > > /usr/lib/arm-linux-gnueabihf/libspice-client-glib-2.0.so.8 (0x76599000) 
> > > 
> > 
> > It should link to /usr/local/lib/libspice-client-glib-2.0.so.8 
> > 
> > 
> > > Regards,
> > > Jai Abishek
> 
> how can i redirect the file location?
> 

How did you build virt-viewer ? You need to use both pc files: spice-client-glib-2.0.pc  spice-client-gtk-3.0.pc

I would configure spice-gtk:
./autogen.sh --prefix=/folder && make && make install

virt-viewer:
PKG_CONFIG_PATH=/folder/lib/pkgconfig ./autogen.sh && make

Comment 6 Jai Abishek 2016-09-13 09:58:11 UTC
(In reply to Pavel Grunt from comment #5)
> (In reply to Jai Abishek from comment #4)
> > (In reply to Pavel Grunt from comment #3)
> > > (In reply to Jai Abishek from comment #2)
> > > > (In reply to Pavel Grunt from comment #1)
> > > > > What is the version of spice-gtk ? You need spice-gtk v0.31
> > > > > 
> > > > > To me it looks like virt-viewer is linked to a wrong library. Check:
> > > > > ldd `which virt-viewer` | grep spice
> > > > 
> > > > hi Pavel Grunt,
> > > > 
> > > > Thanks for the quick reply,
> > > > 
> > > > Spice-GTK - 0.32 compiled using --enable-maintainer-mode --enable-gtk-doc
> > > > --enable-smartcard=no --enable-introspection=auto --with-gtk=3.0
> > > > 
> > > > And the resultant for the search
> > > > >ldd `which virt-viewer` | grep spice
> > > > libspice-client-gtk-3.0.so.5 => /usr/local/lib/libspice-client-gtk-3.0.so.5
> > > > (0x76c58000)
> > > > libspice-client-glib-2.0.so.8 =>
> > > > /usr/lib/arm-linux-gnueabihf/libspice-client-glib-2.0.so.8 (0x76599000) 
> > > > 
> > > 
> > > It should link to /usr/local/lib/libspice-client-glib-2.0.so.8 
> > > 
> > > 
> > > > Regards,
> > > > Jai Abishek
> > 
> > how can i redirect the file location?
> > 
> 
> How did you build virt-viewer ? You need to use both pc files:
> spice-client-glib-2.0.pc  spice-client-gtk-3.0.pc
> 
> I would configure spice-gtk:
> ./autogen.sh --prefix=/folder && make && make install
> 
> virt-viewer:
> PKG_CONFIG_PATH=/folder/lib/pkgconfig ./autogen.sh && make

I already tried to compile using the autogen.sh file from github, i get the following 3 errors under make process.

spice-channel.c: In function âspice_channel_send_linkâ:
spice-channel.c:1266:10: error: cast increases required alignment of target type [-Werror=cast-align]
         *(uint32_t *)p = GUINT32_TO_LE(g_array_index(c->common_caps, uint32_t, i));
          ^
spice-channel.c:1270:10: error: cast increases required alignment of target type [-Werror=cast-align]
         *(uint32_t *)p = GUINT32_TO_LE(g_array_index(c->caps, uint32_t, i));
          ^
spice-channel.c: In function âspice_channel_recv_link_msgâ:
spice-channel.c:1836:12: error: cast increases required alignment of target type [-Werror=cast-align]
     caps = (uint32_t *)((uint8_t *)c->peer_msg + GUINT32_FROM_LE(c->peer_msg->caps_offset));

Comment 7 Pavel Grunt 2016-09-13 10:26:12 UTC
(In reply to Jai Abishek from comment #6)
> (In reply to Pavel Grunt from comment #5)
> > (In reply to Jai Abishek from comment #4)
> > > (In reply to Pavel Grunt from comment #3)
> > > > (In reply to Jai Abishek from comment #2)
> > > > > (In reply to Pavel Grunt from comment #1)
> > > > > > What is the version of spice-gtk ? You need spice-gtk v0.31
> > > > > > 
> > > > > > To me it looks like virt-viewer is linked to a wrong library. Check:
> > > > > > ldd `which virt-viewer` | grep spice
> > > > > 
> > > > > hi Pavel Grunt,
> > > > > 
> > > > > Thanks for the quick reply,
> > > > > 
> > > > > Spice-GTK - 0.32 compiled using --enable-maintainer-mode --enable-gtk-doc
> > > > > --enable-smartcard=no --enable-introspection=auto --with-gtk=3.0
> > > > > 
> > > > > And the resultant for the search
> > > > > >ldd `which virt-viewer` | grep spice
> > > > > libspice-client-gtk-3.0.so.5 => /usr/local/lib/libspice-client-gtk-3.0.so.5
> > > > > (0x76c58000)
> > > > > libspice-client-glib-2.0.so.8 =>
> > > > > /usr/lib/arm-linux-gnueabihf/libspice-client-glib-2.0.so.8 (0x76599000) 
> > > > > 
> > > > 
> > > > It should link to /usr/local/lib/libspice-client-glib-2.0.so.8 
> > > > 
> > > > 
> > > > > Regards,
> > > > > Jai Abishek
> > > 
> > > how can i redirect the file location?
> > > 
> > 
> > How did you build virt-viewer ? You need to use both pc files:
> > spice-client-glib-2.0.pc  spice-client-gtk-3.0.pc
> > 
> > I would configure spice-gtk:
> > ./autogen.sh --prefix=/folder && make && make install
> > 
> > virt-viewer:
> > PKG_CONFIG_PATH=/folder/lib/pkgconfig ./autogen.sh && make
> 
> I already tried to compile using the autogen.sh file from github, i get the
> following 3 errors under make process.

add "--disable-werror" to configure

> 
> spice-channel.c: In function âspice_channel_send_linkâ:
> spice-channel.c:1266:10: error: cast increases required alignment of target
> type [-Werror=cast-align]
>          *(uint32_t *)p = GUINT32_TO_LE(g_array_index(c->common_caps,
> uint32_t, i));
>           ^
> spice-channel.c:1270:10: error: cast increases required alignment of target
> type [-Werror=cast-align]
>          *(uint32_t *)p = GUINT32_TO_LE(g_array_index(c->caps, uint32_t, i));
>           ^
> spice-channel.c: In function âspice_channel_recv_link_msgâ:
> spice-channel.c:1836:12: error: cast increases required alignment of target
> type [-Werror=cast-align]
>      caps = (uint32_t *)((uint8_t *)c->peer_msg +
> GUINT32_FROM_LE(c->peer_msg->caps_offset));

Comment 8 Jai Abishek 2016-09-13 11:29:48 UTC
(In reply to Pavel Grunt from comment #7)
> (In reply to Jai Abishek from comment #6)
> > (In reply to Pavel Grunt from comment #5)
> > > (In reply to Jai Abishek from comment #4)
> > > > (In reply to Pavel Grunt from comment #3)
> > > > > (In reply to Jai Abishek from comment #2)
> > > > > > (In reply to Pavel Grunt from comment #1)
> > > > > > > What is the version of spice-gtk ? You need spice-gtk v0.31
> > > > > > > 
> > > > > > > To me it looks like virt-viewer is linked to a wrong library. Check:
> > > > > > > ldd `which virt-viewer` | grep spice
> > > > > > 
> > > > > > hi Pavel Grunt,
> > > > > > 
> > > > > > Thanks for the quick reply,
> > > > > > 
> > > > > > Spice-GTK - 0.32 compiled using --enable-maintainer-mode --enable-gtk-doc
> > > > > > --enable-smartcard=no --enable-introspection=auto --with-gtk=3.0
> > > > > > 
> > > > > > And the resultant for the search
> > > > > > >ldd `which virt-viewer` | grep spice
> > > > > > libspice-client-gtk-3.0.so.5 => /usr/local/lib/libspice-client-gtk-3.0.so.5
> > > > > > (0x76c58000)
> > > > > > libspice-client-glib-2.0.so.8 =>
> > > > > > /usr/lib/arm-linux-gnueabihf/libspice-client-glib-2.0.so.8 (0x76599000) 
> > > > > > 
> > > > > 
> > > > > It should link to /usr/local/lib/libspice-client-glib-2.0.so.8 
> > > > > 
> > > > > 
> > > > > > Regards,
> > > > > > Jai Abishek
> > > > 
> > > > how can i redirect the file location?
> > > > 
> > > 
> > > How did you build virt-viewer ? You need to use both pc files:
> > > spice-client-glib-2.0.pc  spice-client-gtk-3.0.pc
> > > 
> > > I would configure spice-gtk:
> > > ./autogen.sh --prefix=/folder && make && make install
> > > 
> > > virt-viewer:
> > > PKG_CONFIG_PATH=/folder/lib/pkgconfig ./autogen.sh && make
> > 
> > I already tried to compile using the autogen.sh file from github, i get the
> > following 3 errors under make process.
> 
> add "--disable-werror" to configure
> 
> > 
> > spice-channel.c: In function âspice_channel_send_linkâ:
> > spice-channel.c:1266:10: error: cast increases required alignment of target
> > type [-Werror=cast-align]
> >          *(uint32_t *)p = GUINT32_TO_LE(g_array_index(c->common_caps,
> > uint32_t, i));
> >           ^
> > spice-channel.c:1270:10: error: cast increases required alignment of target
> > type [-Werror=cast-align]
> >          *(uint32_t *)p = GUINT32_TO_LE(g_array_index(c->caps, uint32_t, i));
> >           ^
> > spice-channel.c: In function âspice_channel_recv_link_msgâ:
> > spice-channel.c:1836:12: error: cast increases required alignment of target
> > type [-Werror=cast-align]
> >      caps = (uint32_t *)((uint8_t *)c->peer_msg +
> > GUINT32_FROM_LE(c->peer_msg->caps_offset));

hi,
After successful compile i have still the same location,
ldd `which virt-viewer` | grep spice
        libspice-client-gtk-3.0.so.5 => /usr/local/lib/libspice-client-gtk-3.0.so.5 (0x76c58000)
        libspice-client-glib-2.0.so.8 => /usr/lib/arm-linux-gnueabihf/libspice-client-glib-2.0.so.8 (0x76599000) 

For reference i have attached the log sheet, please check it out.

Regards,
Jai Abishek.

Comment 9 Jai Abishek 2016-09-13 11:30:36 UTC
Created attachment 1200471 [details]
spicegtk-virtviewer-compile

Comment 10 Pavel Grunt 2016-09-13 11:34:49 UTC
(In reply to Jai Abishek from comment #9)
> Created attachment 1200471 [details]
> spicegtk-virtviewer-compile

since you didn't install virt-viewer I guest the `which virt-viewer` is different from src/virt-viewer

Comment 11 Jai Abishek 2016-09-19 08:34:47 UTC
(In reply to Pavel Grunt from comment #10)
> (In reply to Jai Abishek from comment #9)
> > Created attachment 1200471 [details]
> > spicegtk-virtviewer-compile
> 
> since you didn't install virt-viewer I guest the `which virt-viewer` is
> different from src/virt-viewer

i completely re-initiated with an new OS, and new clone from the github of spice-gtk and virt-viewer, but after successful install, i get application not found.

$ virt-viewer
bash: virt-viewer: command not found

regards,
Jai Abishek.

Comment 12 Jai Abishek 2016-09-19 09:02:38 UTC
(In reply to Jai Abishek from comment #11)
> (In reply to Pavel Grunt from comment #10)
> > (In reply to Jai Abishek from comment #9)
> > > Created attachment 1200471 [details]
> > > spicegtk-virtviewer-compile
> > 
> > since you didn't install virt-viewer I guest the `which virt-viewer` is
> > different from src/virt-viewer
> 
> i completely re-initiated with an new OS, and new clone from the github of
> spice-gtk and virt-viewer, but after successful install, i get application
> not found.
> 
> $ virt-viewer
> bash: virt-viewer: command not found
> $ spicy
spicy: error while loading shared libraries: libspice-client-gtk-3.0.so.5: cannot open shared object file: No such file or directory

> regards,
> Jai Abishek.

Comment 13 Jai Abishek 2016-10-11 06:43:41 UTC
hi thanks for the support, i figrued out the issue, the version of GTK to compile was 2.0 not 3.0 and not it is all working.

Regards,
Jai Abishek