Brian Millett [12/10/04 14:53 -0500]: > Hello, I have an inline::c app that works just fine on a 32-bit linux > box. The problem I have is trying to get it installed/working on a > x86-64 SuSE 9.1 pro box. The inline::c app is a wrapper around a > 32-bit third party library (closed source)
I've never had the pleasure of playing on a 64-bit Linux machine, but my desktop at work is a 64-bit Solaris 9 machine. It can build and run both 32- and 64-bit code, but not in the same application. IOW, a 64-bit perl cannot load a 32-bit shared library. We had very much the same problem as you, it seems: we had a third-party 32-bit library and a 64-bit perl, and we were trying to get them to talk. In the end, Sun documentation convinced us it was impossible, and we gave up. We now talk through a socket. We have a tiny 32-bit C executable linked against the library that implements a socket and an accept() loop. On the other side is our 64-bit perl, with a correspondingly tiny perl module doing a connect/send loop. If you have the luxury of requiring an additional 32-bit perl installation, you could always write the bindings in the 32-bit perl, and talk through a socket to the 64-bit perl. That makes it slightly simpler. I hope that helps! Cheers, Neil