Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #35235 > unrolled thread

Build and runtime dependencies

Started byJack Silver <jacksilver045@gmail.com>
First post2012-12-20 17:11 -0500
Last post2012-12-21 02:42 +0100
Articles 4 — 3 participants

Back to article view | Back to comp.lang.python


Contents

  Build and runtime dependencies Jack Silver <jacksilver045@gmail.com> - 2012-12-20 17:11 -0500
    Re: Build and runtime dependencies Miki Tebeka <miki.tebeka@gmail.com> - 2012-12-20 16:37 -0800
    Re: Build and runtime dependencies Miki Tebeka <miki.tebeka@gmail.com> - 2012-12-20 16:37 -0800
    Re: Build and runtime dependencies Hans Mulder <hansmu@xs4all.nl> - 2012-12-21 02:42 +0100

#35235 — Build and runtime dependencies

FromJack Silver <jacksilver045@gmail.com>
Date2012-12-20 17:11 -0500
SubjectBuild and runtime dependencies
Message-ID<mailman.1116.1356041898.29569.python-list@python.org>

[Multipart message — attachments visible in raw view] — view raw

I have two Linux From Scratch machine.

On the first one (the server), I want to build install python 3.3.0 in a
shared filesystem and access it from the second one (the client). These
machines are fairly minimal in term of the number of software installed. I
just want to install python on this filesystem and anything else.

I would like to know what are the build and runtime dependencies that are
needed on both machine.

My understanding is that the core CPython interpreter only needs a C
compiler to be built. For the extension modules, I think that only the
development headers of some additional libraries are needed on the server
machine. Hence, I do not need to install all those libraries on the client
machine. Right ?

I would like to build as much module I can, so I have a complete python
installation. Here is the list of dependecies I think I need to install on
the server machine :

expat
bzip2
gdbm
openssl
libffi
zlib
tk
sqlite
valgrind
bluez

anything ? Is there anything I need to install on the client too ?

Thanks

Jack

[toc] | [next] | [standalone]


#35244

FromMiki Tebeka <miki.tebeka@gmail.com>
Date2012-12-20 16:37 -0800
Message-ID<d1aecfc6-0e38-4903-850c-b36158af90c4@googlegroups.com>
In reply to#35235
On Thursday, December 20, 2012 2:11:45 PM UTC-8, Jack Silver wrote:
> I have two Linux From Scratch machine.
> Hence, I do not need to install all those libraries on the client machine. Right ?
It depends on what the client needs. For example if you use zlib compression in the protocol, you'll need this in the client as well to uncompress.

I suggest you use the exact same Python builds on both machines, it'll save you some headache in the future.

[toc] | [prev] | [next] | [standalone]


#35245

FromMiki Tebeka <miki.tebeka@gmail.com>
Date2012-12-20 16:37 -0800
Message-ID<mailman.1122.1356050232.29569.python-list@python.org>
In reply to#35235
On Thursday, December 20, 2012 2:11:45 PM UTC-8, Jack Silver wrote:
> I have two Linux From Scratch machine.
> Hence, I do not need to install all those libraries on the client machine. Right ?
It depends on what the client needs. For example if you use zlib compression in the protocol, you'll need this in the client as well to uncompress.

I suggest you use the exact same Python builds on both machines, it'll save you some headache in the future.

[toc] | [prev] | [next] | [standalone]


#35255

FromHans Mulder <hansmu@xs4all.nl>
Date2012-12-21 02:42 +0100
Message-ID<50d3be88$0$6946$e4fe514c@news2.news.xs4all.nl>
In reply to#35235
On 20/12/12 23:11:45, Jack Silver wrote:
> I have two Linux From Scratch machine.
> 
> On the first one (the server), I want to build install python 3.3.0 in a
> shared filesystem and access it from the second one (the client). These
> machines are fairly minimal in term of the number of software installed.
> I just want to install python on this filesystem and anything else.
> 
> I would like to know what are the build and runtime dependencies that
> are needed on both machine.
> 
> My understanding is that the core CPython interpreter only needs a C
> compiler to be built.

You need the whole C toolchain: compiler, linker, make, etc.

> For the extension modules, I think that only the
> development headers of some additional libraries are needed on the
> server machine. Hence, I do not need to install all those libraries on
> the client machine. Right ?

Wrong.

Those libraries are typically shared libraries (i.e. .so files). You'll
have to install the shared libraries on both the server and the clients.

The development headers are used only at build time, so they are only
needed on the server.

I don't know the package naming conventions on your distro, but on
Debian the packages you only need on the server tend to contain the
word "dev".  For example, 'sqlite' would be installed on the client
and bots 'sqlite' and 'sqlite-dev' on the server.

> I would like to build as much module I can, so I have a complete python
> installation. Here is the list of dependecies I think I need to install
> on the server machine :
> 
> expat
> bzip2
> gdbm
> openssl
> libffi
> zlib
> tk
> sqlite
> valgrind
> bluez
> 
> anything ?

The source comes with a script named "configure" that tries to find
the headers it needs to build as many extensions modules as possible.

When the script is done, it prints a list of modules it could not
find the headers for.  When this list contains modules you'd like
to build, that means that you're still missing some depencency.

Keep in mind that some modules cannot be built on Linux (for example,
the MacOS module can only be built on MacOS Classic), so you shouldn't
expect to be able to build everything.

> Is there anything I need to install on the client too ?

Yes, the .so files, the actual shared libraries used by these
extensions.


Hope this helps,

-- HansM

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web