> > After using 'python sdist', can't you use the
tarball (in python/dist)
> > in order to create a venv directly?
>
> I think I will be able to install the python library in the venv using
> the tarball. However, won't my liguestfs application require some of
> the binaries installed as part of 'make install' for running? I am
> trying to not have libguestfs installed outside of the venv.
Yes, it'll require only the following files and directory (using their
normal install location):
/usr/lib64/libguestfs.so.0 -> libguestfs.so.0.<N>.0
/usr/lib64/libguestfs.so.0.<N>.0
/usr/lib64/guestfs/supermin.d
I noticed that these files are already present in the venv, at the end
of the failed "make install".
(venv)apxeng@virt:~/devel/venv/lib$ ls
guestfs libguestfs.a libguestfs.la libguestfs.so libguestfs.so.0
libguestfs.so.0.423.0 pkgconfig python2.7 x86_64-linux-gnu
So I went to the next step of building the python bindings. I untarred
guestfs-1.28.5.tar.gz and ran:
(venv)apxeng@virt:~/devel/libguestfs/python/dist/guestfs-1.28.5
(ba8179d...)$ python setup.py build
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying guestfs.py -> build/lib.linux-x86_64-2.7
running build_ext
building 'libguestfsmod' extension
creating build/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g
-fstack-protector-strong -Wformat -Werror=format-security -fPIC
-DGUESTFS_PRIVATE=1 -I. -I../src -I/usr/include/python2.7 -c
guestfs-py-byhand.c -o build/temp.linux-x86_64-2.7/guestfs-py-byhand.o
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g
-fstack-protector-strong -Wformat -Werror=format-security -fPIC
-DGUESTFS_PRIVATE=1 -I. -I../src -I/usr/include/python2.7 -c
guestfs-py.c -o build/temp.linux-x86_64-2.7/guestfs-py.o
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g
-fstack-protector-strong -Wformat -Werror=format-security -fPIC
-DGUESTFS_PRIVATE=1 -I. -I../src -I/usr/include/python2.7 -c utils.c
-o build/temp.linux-x86_64-2.7/utils.o
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
-Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g
-fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g
-fstack-protector-strong -Wformat -Werror=format-security
-Wl,-Bsymbolic-functions -Wl,-z,relro -D_FORTIFY_SOURCE=2 -g
-fstack-protector-strong -Wformat -Werror=format-security
build/temp.linux-x86_64-2.7/guestfs-py-byhand.o
build/temp.linux-x86_64-2.7/guestfs-py.o
build/temp.linux-x86_64-2.7/utils.o -lguestfs -o
build/lib.linux-x86_64-2.7/libguestfsmod.so
/usr/bin/ld: cannot find -lguestfs
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
I did set the LD_LIBRARY_PATH to the one in the venv.
"export LD_LIBRARY_PATH=~/devel/venv/lib/"
BTW, the command complained about not finding guestfs.h, so I copied
it over to that directory.
Do I need to do something for the python build process to find the
libguestfs library?
Thanks,
AP