[repost please help me] python setup.py build for 32-bits on x86_64 machine

Discussion in 'Python' started by Sérgio Monteiro Basto, Nov 23, 2009.

  1. Hi,
    I am in x86_64 arch , but I need
    compile things on 32 bits with
    python setup.py build

    Can't change the fact that distutils creates x86_64
    directories:
    build/temp.linux-x86_64-2.3/

    Also if I try with a python compile in 32bits and installed
    in system .

    how I force distutils build to 32-bits on x86_64 arch?

    Thanks in advance,
     
    Sérgio Monteiro Basto, Nov 23, 2009
    #1
    1. Advertising

  2. Sérgio Monteiro Basto wrote:

    > Hi,
    > I am in x86_64 arch , but I need
    > compile things on 32 bits with
    > python setup.py build
    >
    > Can't change the fact that distutils creates x86_64
    > directories:
    > build/temp.linux-x86_64-2.3/
    >
    > Also if I try with a python compile in 32bits and installed
    > in system .


    I doubt that. Distutils will always build based on the architecture of the
    interpreter you used when building an external module.

    Are you sure that the python you used to build the extension was the right
    one? What does

    <your-32-bit-python> -c "from distutils.util import get_platform; print
    get_platform()"

    return?

    Diez
     
    Diez B. Roggisch, Nov 23, 2009
    #2
    1. Advertising

  3. Diez B. Roggisch wrote:

    Hi, Thanks,
    > Sérgio Monteiro Basto wrote:
    >
    >> Hi,
    >> I am in x86_64 arch , but I need
    >> compile things on 32 bits with
    >> python setup.py build
    >>
    >> Can't change the fact that distutils creates x86_64
    >> directories:
    >> build/temp.linux-x86_64-2.3/
    >>
    >> Also if I try with a python compile in 32bits and installed
    >> in system .

    >
    > I doubt that. Distutils will always build based on the architecture of the
    > interpreter you used when building an external module.
    >
    > Are you sure that the python you used to build the extension was the right
    > one? What does
    >
    > <your-32-bit-python> -c "from distutils.util import get_platform; print
    > get_platform()"

    python32 -c "from distutils.util import get_platform; print get_platform()"
    linux-x86_64

    ldd ~/bin/python32
    linux-gate.so.1 => (0xffffe000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00326000)
    libdl.so.2 => /lib/libdl.so.2 (0x0033f000)
    libutil.so.1 => /lib/libutil.so.1 (0x006b3000)
    libm.so.6 => /lib/libm.so.6 (0x00345000)
    libc.so.6 => /lib/libc.so.6 (0x001e0000)
    /lib/ld-linux.so.2 (0x001c2000)

    this a python 2.3, that's make any difference ?



    >
    > return?
    >
    > Diez
     
    Sérgio Monteiro Basto, Nov 23, 2009
    #3
  4. Re: [repost please help me] python setup.py build for 32-bits onx86_64 machine

    Sérgio Monteiro Basto schrieb:
    > Diez B. Roggisch wrote:
    >
    > Hi, Thanks,
    >> Sérgio Monteiro Basto wrote:
    >>
    >>> Hi,
    >>> I am in x86_64 arch , but I need
    >>> compile things on 32 bits with
    >>> python setup.py build
    >>>
    >>> Can't change the fact that distutils creates x86_64
    >>> directories:
    >>> build/temp.linux-x86_64-2.3/
    >>>
    >>> Also if I try with a python compile in 32bits and installed
    >>> in system .

    >> I doubt that. Distutils will always build based on the architecture of the
    >> interpreter you used when building an external module.
    >>
    >> Are you sure that the python you used to build the extension was the right
    >> one? What does
    >>
    >> <your-32-bit-python> -c "from distutils.util import get_platform; print
    >> get_platform()"

    > python32 -c "from distutils.util import get_platform; print get_platform()"
    > linux-x86_64
    >
    > ldd ~/bin/python32
    > linux-gate.so.1 => (0xffffe000)
    > libpthread.so.0 => /lib/libpthread.so.0 (0x00326000)
    > libdl.so.2 => /lib/libdl.so.2 (0x0033f000)
    > libutil.so.1 => /lib/libutil.so.1 (0x006b3000)
    > libm.so.6 => /lib/libm.so.6 (0x00345000)
    > libc.so.6 => /lib/libc.so.6 (0x001e0000)
    > /lib/ld-linux.so.2 (0x001c2000)
    >
    > this a python 2.3, that's make any difference ?


    Ok, next try:

    import distutils
    print distutils.sysconfig.get_config_var('SIZEOF_VOID_P')

    What does that yield?

    Diez

    Diez
     
    Diez B. Roggisch, Nov 23, 2009
    #4
  5. Diez B. Roggisch wrote:

    > Sérgio Monteiro Basto schrieb:
    >> Diez B. Roggisch wrote:
    >>
    >> Hi, Thanks,
    >>> Sérgio Monteiro Basto wrote:
    >>>
    >>>> Hi,
    >>>> I am in x86_64 arch , but I need
    >>>> compile things on 32 bits with
    >>>> python setup.py build
    >>>>
    >>>> Can't change the fact that distutils creates x86_64
    >>>> directories:
    >>>> build/temp.linux-x86_64-2.3/
    >>>>
    >>>> Also if I try with a python compile in 32bits and installed
    >>>> in system .
    >>> I doubt that. Distutils will always build based on the architecture of
    >>> the interpreter you used when building an external module.
    >>>
    >>> Are you sure that the python you used to build the extension was the
    >>> right one? What does
    >>>
    >>> <your-32-bit-python> -c "from distutils.util import get_platform; print
    >>> get_platform()"

    >> python32 -c "from distutils.util import get_platform; print
    >> get_platform()" linux-x86_64
    >>
    >> ldd ~/bin/python32
    >>linux-gate.so.1 => (0xffffe000)
    >>libpthread.so.0 => /lib/libpthread.so.0 (0x00326000)
    >>libdl.so.2 => /lib/libdl.so.2 (0x0033f000)
    >>libutil.so.1 => /lib/libutil.so.1 (0x006b3000)
    >>libm.so.6 => /lib/libm.so.6 (0x00345000)
    >>libc.so.6 => /lib/libc.so.6 (0x001e0000)
    >>/lib/ld-linux.so.2 (0x001c2000)
    >>
    >> this a python 2.3, that's make any difference ?

    >
    > Ok, next try:
    >
    > import distutils
    > print distutils.sysconfig.get_config_var('SIZEOF_VOID_P')
    >
    > What does that yield?


    >>> import distutils.sysconfig
    >>> print distutils.sysconfig.get_config_var('SIZEOF_VOID_P')

    None

    Thanks, I found the problem, python doesn't have devel stuff like
    config/Makefile. A complete python3.5 with config/Makefile solved the
    problem .

    "distutils gets its compiler options from Python's Makefile", and I don't
    have config/Makefile correctly build ...

    Big thanks,
     
    Sérgio Monteiro Basto, Nov 24, 2009
    #5
    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:
    601
    Vagif Abilov
    Jul 7, 2004
  2. Christopher Taylor

    Install from source on a x86_64 machine

    Christopher Taylor, Oct 18, 2006, in forum: Python
    Replies:
    4
    Views:
    336
    Christopher Taylor
    Oct 19, 2006
  3. Christopher Taylor

    Help: Python2.3 & Python2.4 on RHEL4 x86_64

    Christopher Taylor, Oct 18, 2006, in forum: Python
    Replies:
    15
    Views:
    530
    Christopher Taylor
    Oct 24, 2006
  4. mauro
    Replies:
    0
    Views:
    442
    mauro
    Oct 10, 2007
  5. Sérgio Monteiro Basto

    python setup.py build 32-bits on x86_64 machine

    Sérgio Monteiro Basto, Nov 22, 2009, in forum: Python
    Replies:
    1
    Views:
    748
Loading...

Share This Page