Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!newsfeed.kamp.net!newsfeed.kamp.net!news.qsc.de!zen.net.uk!hamilton.zen.co.uk!prichard.zen.co.uk.POSTED!not-for-mail From: Nobody Subject: Re: Compile 32bit C-lib on 64 bit Date: Mon, 02 May 2011 03:20:40 +0100 User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.) Message-Id: Newsgroups: comp.lang.python References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lines: 23 Organization: Zen Internet NNTP-Posting-Host: 3b40a35c.news.zen.co.uk X-Trace: DXC=LYK\];ddCf3MkMMdX^n^O<0g@SS;SF6n7RiiCXJE[K>7EU5a\bFaf>7Yo[@=aWRTI2CHmCCO@[8U8 X-Complaints-To: abuse@zen.co.uk Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:4432 On Sun, 01 May 2011 22:14:14 +0200, Hegedüs Ervin wrote: > When I'm compiling it on 64bit, gcc says: > > /usr/bin/ld: skipping incompatible /lib32/lib3rdpartyCrypt.so when > searching for -l3rdpartyCrypt > > There _is_ the .so in /lib32 directory: > > ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically > linked, stripped > > > What is the correct solution? You need to build your module for a 32-bit version of Python. On a 64-bit system, each process is either 32-bit or 64-bit process. You can't mix 32-bit code and 64-bit code in a single process. If you have to use that library and you only have a 32-bit version of it, then everything else must also be 32-bit: the Python interpreter, your binary module, and all of the libraries which it uses.