Build and runtime dependencies

Discussion in 'Python' started by Jack Silver, Dec 20, 2012.

  1. Jack Silver

    Jack Silver Guest

    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
    Jack Silver, Dec 20, 2012
    #1
    1. Advertising

  2. Jack Silver

    Miki Tebeka Guest

    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.
    Miki Tebeka, Dec 21, 2012
    #2
    1. Advertising

  3. Jack Silver

    Miki Tebeka Guest

    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.
    Miki Tebeka, Dec 21, 2012
    #3
  4. Jack Silver

    Hans Mulder Guest

    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
    Hans Mulder, Dec 21, 2012
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Vagif Abilov
    Replies:
    2
    Views:
    559
    Vagif Abilov
    Jul 7, 2004
  2. Pedro Mir
    Replies:
    2
    Views:
    435
    Winista
    Jun 20, 2006
  3. Jarmo Pertman
    Replies:
    8
    Views:
    187
    Uwe Kubosch
    Jan 30, 2011
  4. Chen Qi
    Replies:
    0
    Views:
    149
    Chen Qi
    Dec 21, 2012
  5. Chris Angelico

    Re: Build and runtime dependencies

    Chris Angelico, Dec 21, 2012, in forum: Python
    Replies:
    0
    Views:
    175
    Chris Angelico
    Dec 21, 2012
Loading...

Share This Page