[Distutils] Help building module on cygwin
Jason Tishler
jason@tishler.net
Mon Mar 31 07:50:01 2003
Greg,
On Sat, Mar 29, 2003 at 04:20:57PM -0500, Warnes, Gregory R wrote:
> >>> import _rpy.dll
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> ImportError: dlopen: Win32 error 193
^^^^^^^^^^^^^^^
It appears you built a "bad" shared extension module (i.e., DLL):
$ fgrep 193L /usr/include/w32api/winerror.h
#define ERROR_BAD_EXE_FORMAT 193L
> gcc -shared -Wl,--enable-auto-image-base
> build/temp.cygwin-1.3.22-i686-2.2/rpymodule.o
> build/temp.cygwin-1.3.22-i686-2.2/R_eval.o
> build/temp.cygwin-1.3.22-i686-2.2/io.o
> build/temp.cygwin-1.3.22-i686-2.2/setenv.o -LC:/Progra~1/R/rw1062/bin
^^^^^^^^^^^^^^^^^^^^^^^^^^
> -LC:/rpy/bin -L/usr/lib/python2.2/config -lR -lpython2.2 -o
^^^^^^^^^^^^ ^^^
The above raises the following questions/issues:
1. Are you linking directly against the DLL (i.e., R.dll) or the import
library (i.e., R.dll.a or R.a)? Since the flagged -L options above end
in "bin", I'm concerned that it's the former. If my WAG is correct,
then linking against the import library may solve your problem. Note
that you should only link directly against DLLs as a last resort.
2. You should use Posix style paths in Cygwin. Note that this is not
causing your problem, but I find the Win32 style paths aesthetically
unpleasing. :,)
Jason
--
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D 8784 1AFD E4CC ECF4 8EF6