[libvirt] [PATCH] util: Compile error

From: Eli Qiao <taget@linux.vnet.ibm.com> Add virnetdev.h,virnetdevbridge.h,virnetdevtap.h to private symbols Signed-off-by: Eli Qiao <taget@linux.vnet.ibm.com> --- src/libvirt_private.syms | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 81de6b4..ebe34c9 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1195,6 +1195,35 @@ virFileRewrite; # virnetclient.h virNetClientHasPassFD; +# virnetdev.h +virNetDevClearIPv4Address; +virNetDevExists; +virNetDevGetMAC; +virNetDevGetMTU; +virNetDevIsOnline; +virNetDevSetIPv4Address; +virNetDevSetMAC; +virNetDevSetMTU; +virNetDevSetMTUFromDevice; +virNetDevSetOnline; + + +# virnetdevbridge.h +virNetDevBridgeAddPort; +virNetDevBridgeCreate; +virNetDevBridgeDelete; +virNetDevBridgeGetSTP; +virNetDevBridgeGetSTPDelay; +virNetDevBridgeRemovePort; +virNetDevBridgeSetSTP; +virNetDevBridgeSetSTPDelay; + + +# virnetdevtap.h +virNetDevTapCreate; +virNetDevTapCreateInBridgePort; +virNetDevTapDelete; + # virnetmessage.h virNetMessageClear; -- 1.7.4.4

Sorry, the title is "util: Compile error", what's the usage of this patch? Without applying this, it will cause error while compiling? 2011/11/11 <taget@linux.vnet.ibm.com>:
From: Eli Qiao <taget@linux.vnet.ibm.com>
Add virnetdev.h,virnetdevbridge.h,virnetdevtap.h to private symbols
Signed-off-by: Eli Qiao <taget@linux.vnet.ibm.com> --- src/libvirt_private.syms | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 81de6b4..ebe34c9 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1195,6 +1195,35 @@ virFileRewrite; # virnetclient.h virNetClientHasPassFD;
+# virnetdev.h +virNetDevClearIPv4Address; +virNetDevExists; +virNetDevGetMAC; +virNetDevGetMTU; +virNetDevIsOnline; +virNetDevSetIPv4Address; +virNetDevSetMAC; +virNetDevSetMTU; +virNetDevSetMTUFromDevice; +virNetDevSetOnline; + + +# virnetdevbridge.h +virNetDevBridgeAddPort; +virNetDevBridgeCreate; +virNetDevBridgeDelete; +virNetDevBridgeGetSTP; +virNetDevBridgeGetSTPDelay; +virNetDevBridgeRemovePort; +virNetDevBridgeSetSTP; +virNetDevBridgeSetSTPDelay; + + +# virnetdevtap.h +virNetDevTapCreate; +virNetDevTapCreateInBridgePort; +virNetDevTapDelete; +
# virnetmessage.h virNetMessageClear; -- 1.7.4.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

于 2011年11月11日 16:33, Dong Xu Wang 写道:
Sorry, the title is "util: Compile error", what's the usage of this patch? Without applying this, it will cause error while compiling? yes , when run make ,it will cause undefined symbols error. 2011/11/11<taget@linux.vnet.ibm.com>:
From: Eli Qiao<taget@linux.vnet.ibm.com>
Add virnetdev.h,virnetdevbridge.h,virnetdevtap.h to private symbols
Signed-off-by: Eli Qiao<taget@linux.vnet.ibm.com> --- src/libvirt_private.syms | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 81de6b4..ebe34c9 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1195,6 +1195,35 @@ virFileRewrite; # virnetclient.h virNetClientHasPassFD;
+# virnetdev.h +virNetDevClearIPv4Address; +virNetDevExists; +virNetDevGetMAC; +virNetDevGetMTU; +virNetDevIsOnline; +virNetDevSetIPv4Address; +virNetDevSetMAC; +virNetDevSetMTU; +virNetDevSetMTUFromDevice; +virNetDevSetOnline; + + +# virnetdevbridge.h +virNetDevBridgeAddPort; +virNetDevBridgeCreate; +virNetDevBridgeDelete; +virNetDevBridgeGetSTP; +virNetDevBridgeGetSTPDelay; +virNetDevBridgeRemovePort; +virNetDevBridgeSetSTP; +virNetDevBridgeSetSTPDelay; + + +# virnetdevtap.h +virNetDevTapCreate; +virNetDevTapCreateInBridgePort; +virNetDevTapDelete; +
# virnetmessage.h virNetMessageClear; -- 1.7.4.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
-- best regards eli

On 11/11/2011 01:36 AM, Eli Qiao wrote:
于 2011年11月11日 16:33, Dong Xu Wang 写道:
Sorry, the title is "util: Compile error", what's the usage of this patch? Without applying this, it will cause error while compiling? yes , when run make ,it will cause undefined symbols error.
Can you post those actual errors, and which platform you were on when you encountered them? -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

On 11/11/2011 04:23 PM, Eric Blake wrote:
On 11/11/2011 01:36 AM, Eli Qiao wrote:
于 2011年11月11日 16:33, Dong Xu Wang 写道:
Sorry, the title is "util: Compile error", what's the usage of this patch? Without applying this, it will cause error while compiling? yes , when run make ,it will cause undefined symbols error.
Can you post those actual errors, and which platform you were on when you encountered them?
Never mind; I reproduced the failure on Ubuntu. ../src/.libs/libvirt_driver_qemu.a(libvirt_driver_qemu_la-qemu_command.o): In function `qemuNetworkIfaceConnect': /home/eblake/libvirt/src/qemu/qemu_command.c:259: undefined reference to `virNetDevTapCreateInBridgePort' ... Fedora still allows symbol resolution by transitive dependency, but Ubuntu's default linker settings were recently changed to forbid that (that is, if liba depends on libb depends on libc, Fedora will let liba use symbols from libc, but Ubuntu will not; and you have to either re-export the symbols from libb [this patch], or add another link line to liba [a bit more work in the various Makefile.am files]). Your patch looks correct, so ACK and pushed. I also added you to AUTHORS; let me know if you need any preferred spellings altered. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

于 2011年11月12日 08:08, Eric Blake 写道:
On 11/11/2011 04:23 PM, Eric Blake wrote:
On 11/11/2011 01:36 AM, Eli Qiao wrote:
于 2011年11月11日 16:33, Dong Xu Wang 写道:
Sorry, the title is "util: Compile error", what's the usage of this patch? Without applying this, it will cause error while compiling? yes , when run make ,it will cause undefined symbols error.
Can you post those actual errors, and which platform you were on when you encountered them? Never mind; I reproduced the failure on Ubuntu.
../src/.libs/libvirt_driver_qemu.a(libvirt_driver_qemu_la-qemu_command.o): In function `qemuNetworkIfaceConnect': /home/eblake/libvirt/src/qemu/qemu_command.c:259: undefined reference to `virNetDevTapCreateInBridgePort' ...
Fedora still allows symbol resolution by transitive dependency, but Ubuntu's default linker settings were recently changed to forbid that (that is, if liba depends on libb depends on libc, Fedora will let liba use symbols from libc, but Ubuntu will not; and you have to either re-export the symbols from libb [this patch], or add another link line to liba [a bit more work in the various Makefile.am files]).
Your patch looks correct, so ACK and pushed. I also added you to AUTHORS; let me know if you need any preferred spellings altered. Thanks Eric.
-- best regards eli

On 11/11/2011 06:23 PM, Eric Blake wrote:
On 11/11/2011 01:36 AM, Eli Qiao wrote:
于 2011年11月11日 16:33, Dong Xu Wang 写道:
Sorry, the title is "util: Compile error", what's the usage of this patch? Without applying this, it will cause error while compiling? yes , when run make ,it will cause undefined symbols error.
Can you post those actual errors, and which platform you were on when you encountered them?
I have a FC14 installation with ~200 patches that need to be installed. I think these are the errors that others must be seeing. My other FC14 systems are ok. CCLD libvirtd ../src/.libs/libvirt_driver_qemu.a(libvirt_driver_qemu_la-qemu_command.o): In function `qemuNetworkIfaceConnect': /root/libvirt/src/qemu/qemu_command.c:259: undefined reference to `virNetDevTapCreateInBridgePort' ../src/.libs/libvirt_driver_lxc.a(libvirt_driver_lxc_la-lxc_driver.o): In function `lxcSetupInterfaces': /root/libvirt/src/lxc/lxc_driver.c:1272: undefined reference to `virNetDevBridgeAddPort' ../src/.libs/libvirt_driver_uml.a(libvirt_driver_uml_la-uml_driver.o): In function `umlCleanupTapDevices': /root/libvirt/src/uml/uml_driver.c:965: undefined reference to `virNetDevTapDelete' ../src/.libs/libvirt_driver_uml.a(libvirt_driver_uml_la-uml_conf.o): In function `umlConnectTapDevice': /root/libvirt/src/uml/uml_conf.c:138: undefined reference to `virNetDevTapCreateInBridgePort' ../src/.libs/libvirt_driver_network.a(libvirt_driver_network_la-bridge_driver.o): In function `networkShutdownNetworkVirtual': /root/libvirt/src/network/bridge_driver.c:1865: undefined reference to `virNetDevSetOnline' /root/libvirt/src/network/bridge_driver.c:1869: undefined reference to `virNetDevBridgeDelete' /root/libvirt/src/network/bridge_driver.c:1860: undefined reference to `virNetDevTapDelete' ../src/.libs/libvirt_driver_network.a(libvirt_driver_network_la-bridge_driver.o): In function `networkStartNetworkVirtual': /root/libvirt/src/network/bridge_driver.c:1704: undefined reference to `virNetDevBridgeCreate' /root/libvirt/src/network/bridge_driver.c:1719: undefined reference to `virNetDevTapCreateInBridgePort' /root/libvirt/src/network/bridge_driver.c:1727: undefined reference to `virNetDevBridgeSetSTPDelay' /root/libvirt/src/network/bridge_driver.c:1731: undefined reference to `virNetDevBridgeSetSTP' ../src/.libs/libvirt_driver_network.a(libvirt_driver_network_la-bridge_driver.o): In function `networkAddAddrToBridge': /root/libvirt/src/network/bridge_driver.c:1682: undefined reference to `virNetDevSetIPv4Address' ../src/.libs/libvirt_driver_network.a(libvirt_driver_network_la-bridge_driver.o): In function `networkStartNetworkVirtual': /root/libvirt/src/network/bridge_driver.c:1818: undefined reference to `virNetDevTapDelete' /root/libvirt/src/network/bridge_driver.c:1825: undefined reference to `virNetDevBridgeDelete' /root/libvirt/src/network/bridge_driver.c:1760: undefined reference to `virNetDevSetOnline' /root/libvirt/src/network/bridge_driver.c:1806: undefined reference to `virNetDevSetOnline' /root/libvirt/src/network/bridge_driver.c:1825: undefined reference to `virNetDevBridgeDelete' ../src/.libs/libvirt_driver_network.a(libvirt_driver_network_la-bridge_driver.o): In function `networkFindActiveConfigs': /root/libvirt/src/network/bridge_driver.c:216: undefined reference to `virNetDevExists' collect2: ld returned 1 exit status make[3]: *** [libvirtd] Error 1 make[3]: Leaving directory `/root/libvirt/daemon' make[2]: *** [all] Error 2 make[2]: Leaving directory `/root/libvirt/daemon' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/libvirt' make: *** [all] Error 2 Stefan

On Fri, Nov 11, 2011 at 01:50:46PM +0800, taget@linux.vnet.ibm.com wrote:
From: Eli Qiao <taget@linux.vnet.ibm.com>
Add virnetdev.h,virnetdevbridge.h,virnetdevtap.h to private symbols
Signed-off-by: Eli Qiao <taget@linux.vnet.ibm.com> --- src/libvirt_private.syms | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-)
What platform are you seeing compile errors on ? Everything works fine in my tests ? Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
participants (6)
-
Daniel P. Berrange
-
Dong Xu Wang
-
Eli Qiao
-
Eric Blake
-
Stefan Berger
-
taget@linux.vnet.ibm.com