Permissão negada no dl.open () com ipython, mas não com python

Meu objetivo inicial é abrir umdll arquivo no Cygwin usandoctypes. No entanto, eu encontrei alguns problemas com ele. Eu desenterreisys.dl que retorna um desconhecidoPermission denied somente no IPython.

Compython tudo parece bem:

$ ls
my.dll
$ python
Python 2.7.8 (default, Jul 28 2014, 01:34:03)
[GCC 4.8.3] on cygwin
>>> import dl
>>> dl.open('my.dll')
<dl.dl object at 0xfffaa0c0>

Comipython Eu recebo o erro:

$ ipython
Python 2.7.8 (default, Jul 28 2014, 01:34:03)   
In [1]: import dl   
In [2]: dl.open('my.dll')
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-2-c681630fa713> in <module>()
----> 1 dl.open('my.dll')

error: Permission denied

Eu investiguei isso usandostrace. O log de saída para `IPython é enorme, mais de 4 MB. Felizmente, identifiquei algumas coisas estranhas:

symlink.check(C:\Users\user\Home\projects\foo\my.dll, 0x28AB88) (0x4022)
   35 2705178 [main] python2.7 16924 path_conv::check: this->path(C:\Users\user\Home\projects\foo\my.dll), has_acls(1)
   37 2705215 [main] python2.7 16924 cwdstuff::get: posix /cygdrive/c/Users/user/Home/projects/foo
   32 2705247 [main] python2.7 16924 cwdstuff::get: (C:\Users\user\Home\projects\foo) = cwdstuff::get (0x8006ECF0, 32768, 0, 0), errno 11
--- Process 14376, exception c0000138 at 7726163E
 3286 2708533 [main] python2.7 16924 seterrno_from_win_error: /home/corinna/src/cygwin/cygwin-1.7.35/cygwin-1.7.35-1.i686/src/src/winsup/cygwin/dlfcn.cc:174 windows error 182
   42 2708575 [main] python2.7 16924 geterrno_from_win_error: unknown windows error 182, setting errno to 13
   36 2708611 [main] python2.7 16924 dlopen: ret 0x0

Quem é/home/corinna? Não tenho usuário corinna na minha instalação, nem no meu Windows. Corinna não vem da minha instalação. É alguma coisa codificada?

Agora, aqui está o que eu recebostrace parapython:

symlink.check(C:\Users\user\Home\projects\foo\my.dll, 0x28B728) (0x4022)
   26 10440048 [main] python 12604 path_conv::check: this->path(C:\Users\user\Home\projects\foo\my.dll), has_acls(1)
   23 10440071 [main] python 12604 cwdstuff::get: posix /cygdrive/c/Users/user/Home/projects/foo
   25 10440096 [main] python 12604 cwdstuff::get: (C:\Users\user\Home\projects\foo) = cwdstuff::get (0x8006ECF0, 32768, 0, 0), errno 0
 3405 10443501 [main] python 12604 dlopen: ret 0x5B9C0000   

dlopen está retornando 0x0 no IPython enquanto está retornando 0x5B9C0000 para python. eu reparei nissocwdstuff::get está gerando um erro antesdlopen é chamado.

EDITAR Enviei uma mensagem para a lista de endereços de Cygwin e oresposta de Corinna em relação a esse problema é:

Isso não é culpa da Cygwin, AFAICS. Cygwin nunca carrega funções por ordinal. Isso também é um pouco fraco, no que diz respeito às informações. Não se pode ver como o processo chama dlopen, por exemplo. Corinna Como resolver este problema?

Meus testes anteriores usandoctypes

Inicialmente, quando fiz minha pergunta, eu estava apenas brincando comctypes. Estou trabalhando no Cygwin de 32 bits e no Windows 7. Com o IPython, recebi umOSError quando tentei carregar uma dll usandocdll.LoadLibrary.

questionAnswers(3)

yourAnswerToTheQuestion