On Sun, Jul 23, 2017 at 2:10 AM, Justin Cinkelj <justin.cink...@gmail.com>
wrote:

> I didn't want to include every it-might-be-actually-required library from
> the build system.
>

But did you, or did you not?


> Complete list from my system is:
> justin_cinkelj@jcpc:~/devel/mikelangelo/osv-fc25/osv/apps/python27$ ldd
> ROOTFS/lib/python2.7/lib-dynload/*so | grep -v -e '^ROOTFS/' | sed
> 's/(0x.*)//' | sort | uniq | awk '{print $3}'
>
> /lib64/libbz2.so.1
> /lib64/libcom_err.so.2
> /lib64/libcrypto.so.10
> /lib64/libcrypt.so.1
>

We had the same issue with Java. Each of these libraries are needed to
support some specific feature of python - e.g., "libcrypto" is probably
needed only if you use some encryption function, but you can write a fully
functional Python program which never calls any of this encryption stuff.

What we did in Java is to upload *all* the libraries that could possibly be
needed into the image. The result is not small, but is comprehensive. A
user which wants a smaller image for running only a specific Python program
can try to remove various things from the image and see what is the
smallest set which is enough.



> /lib64/libc.so.6
> /usr/lib64/libc.so.6
> /usr/lib64/libdb-5.3.so
> /lib64/libdl.so.2
> /usr/lib64/libdl.so.2
> /lib64/libfreebl3.so
> /lib64/libgdbm_compat.so.4
> /lib64/libgdbm.so.4
> /lib64/libgssapi_krb5.so.2
> /lib64/libk5crypto.so.3
> /lib64/libkeyutils.so.1
> /lib64/libkrb5.so.3
> /lib64/libkrb5support.so.0
> /lib64/libm.so.6
> /usr/lib64/libm.so.6
> /lib64/libncursesw.so.6
> /lib64/libnsl.so.1
> /lib64/libpanelw.so.6
> /lib64/libpcre.so.1
> /lib64/libpthread.so.0
> /usr/lib64/libpthread.so.0
> /lib64/libpython2.7.so.1.0
> /usr/lib64/libpython2.7.so.1.0
>

Hmm, so you *are* taking libpython2.7.so from your build machine - not the
one which you built yourself in the Makefile?
This means you don't need to build it yourself in the Makefile - just the
tiny "python" executable.


> /lib64/libreadline.so.6
> /lib64/libresolv.so.2
> /lib64/libselinux.so.1
> /lib64/libssl.so.10
> /lib64/libtinfo.so.6
> /lib64/libutil.so.1
> /usr/lib64/libutil.so.1
> /lib64/libz.so.1
>
> I'm not sure if there is anything absolutely required.
>
> --
> You received this message because you are subscribed to the Google Groups
> "OSv Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to osv-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to