Compiling libvirt on ubuntu

Or Ozeri ORO at il.ibm.com
Mon Sep 13 01:36:57 UTC 2021


Hi,


I'm trying to compile libvirt on ubuntu machine.
I installed meson 0.59.1 using pip.
Then installed a few more packages that were required by meson build:
sudo apt-get install libxml2-utils xsltproc libpciaccess-dev ninja-build



Finally, I followed the simple instructions over here: https://libvirt.org/compiling.html

xz -dc libvirt-7.7.0.tar.xz | tar xvf -
cd libvirt-7.7.0
meson build
ninja -C build

The last command fails with:

FAILED: src/libvirt-admin.so.0.7007.0
cc  -o src/libvirt-admin.so.0.7007.0 src/libvirt_probes.o src/libvirt-admin.so.0.7007.0.p/meson-generated_.._admin_admin_protocol.c.o src/libvirt-admin.so.0.7007.0.p/admin_libvirt-admin.c.o src/libvirt-admin.so.0.7007.0.p/datatypes.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libvirt-admin.so.0 '-Wl,-rpath,$ORIGIN/:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' -Wl,-rpath-link,/home/oro/ozeri/libvirt-7.7.0/build/src src/libvirt.so.0.7007.0 -Wl,--version-script=/home/oro/ozeri/libvirt-7.7.0/build/src/admin/libvirt_admin.syms -Wl,-z,nodelete /usr/lib/x86_64-linux-gnu/libcap-ng.so /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libdevmapper.so /usr/lib/x86_64-linux-gnu/libgnutls.so -Wl,-z,relro -Wl,-z,now -Wl,--no-copy-dt-needed-entries /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libxml2.so /usr/lib/x86_64-linux-gnu/libyajl.so -Wl,--end-group
/usr/bin/ld: src/libvirt-admin.so.0.7007.0.p/admin_libvirt-admin.c.o: in function `callFull':
/home/oro/ozeri/libvirt-7.7.0/build/../src/admin/admin_remote.c:99: undefined reference to `virNetClientProgramCall'
/usr/bin/ld: src/libvirt-admin.so.0.7007.0.p/admin_libvirt-admin.c.o: in function `remoteAdminConnectClose':
/home/oro/ozeri/libvirt-7.7.0/build/../src/admin/admin_remote.c:197: undefined reference to `virNetClientSetCloseCallback'
/usr/bin/ld: /home/oro/ozeri/libvirt-7.7.0/build/../src/admin/admin_remote.c:199: undefined reference to `virNetClientClose'
/usr/bin/ld: src/libvirt-admin.so.0.7007.0.p/admin_libvirt-admin.c.o: in function `remoteAdminPrivNew':
/home/oro/ozeri/libvirt-7.7.0/build/../src/admin/admin_remote.c:225: undefined reference to `virNetClientNewUNIX'
/usr/bin/ld: /home/oro/ozeri/libvirt-7.7.0/build/../src/admin/admin_remote.c:228: undefined reference to `virNetClientProgramNew'
/usr/bin/ld: /home/oro/ozeri/libvirt-7.7.0/build/../src/admin/admin_remote.c:233: undefined reference to `virNetClientAddProgram'
/usr/bin/ld: src/libvirt-admin.so.0.7007.0.p/admin_libvirt-admin.c.o: in function `remoteAdminConnectOpen':
/home/oro/ozeri/libvirt-7.7.0/build/../src/admin/admin_remote.c:159: undefined reference to `virNetClientRegisterAsyncIO'
/usr/bin/ld: /home/oro/ozeri/libvirt-7.7.0/build/../src/admin/admin_remote.c:166: undefined reference to `virNetClientSetCloseCallback'
/usr/bin/ld: src/libvirt-admin.so.0.7007.0.p/admin_libvirt-admin.c.o: in function `virAdmConnectIsAlive':
/home/oro/ozeri/libvirt-7.7.0/build/../src/admin/libvirt-admin.c:397: undefined reference to `virNetClientIsOpen'
collect2: error: ld returned 1 exit status
[2/11] Linking target tests/virsystemdtest
FAILED: tests/virsystemdtest
cc  -o tests/virsystemdtest src/libvirt_probes.o tests/virsystemdtest.p/virsystemdtest.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-export-dynamic -pie -Wl,--whole-archive -Wl,--start-group tests/libtest_utils.a -Wl,--no-whole-archive '-Wl,-rpath,$ORIGIN/../src' -Wl,-rpath-link,/home/oro/ozeri/libvirt-7.7.0/build/src src/libvirt.so.0.7007.0 -Wl,--no-copy-dt-needed-entries -Wl,-export-dynamic -ldl /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libgnutls.so /lib/x86_64-linux-gnu/libnl-3.so /usr/lib/x86_64-linux-gnu/libnl-route-3.so /usr/lib/x86_64-linux-gnu/libxml2.so /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libselinux.so /usr/lib/x86_64-linux-gnu/libyajl.so -Wl,--end-group -Wl,-export-dynamic
/usr/bin/ld: tests/virsystemdtest.p/virsystemdtest.c.o: in function `testActivationCreateFDs':
/home/oro/ozeri/libvirt-7.7.0/build/../tests/virsystemdtest.c:506: undefined reference to `virNetSocketNewListenUNIX'
/usr/bin/ld: /home/oro/ozeri/libvirt-7.7.0/build/../tests/virsystemdtest.c:513: undefined reference to `virNetSocketNewListenTCP'
/usr/bin/ld: tests/virsystemdtest.p/virsystemdtest.c.o: in function `testActivation':
/home/oro/ozeri/libvirt-7.7.0/build/../tests/virsystemdtest.c:548: undefined reference to `virNetSocketGetPath'
/usr/bin/ld: /home/oro/ozeri/libvirt-7.7.0/build/../tests/virsystemdtest.c:570: undefined reference to `virNetSocketGetPort'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.



I verified that these functions do exist inside libvirt.so.0.7007.0, but for some reason the linker fails.
What am I doing wrong here?

Thanks,
Or





More information about the libvirt-users mailing list