delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/06/18/09:19:42

X-Spam-Check-By: sourceware.org
Message-ID: <46768651.82231835@dessent.net>
Date: Mon, 18 Jun 2007 06:19:13 -0700
From: Brian Dessent <brian AT dessent DOT net>
X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: mysql.so: Permission denied (Ruby under Cygwin)
References: <387E9FC1619C0849BA8934938037E54F0884D2 AT sv-muc-004 DOT venyon-mail DOT local> <46767F03 DOT 48C33276 AT dessent DOT net> <387E9FC1619C0849BA8934938037E54F0884D7 AT sv-muc-004 DOT venyon-mail DOT local> <20070618130340 DOT GO4179 AT calimero DOT vinschen DOT de> <387E9FC1619C0849BA8934938037E54F0884DA AT sv-muc-004 DOT venyon-mail DOT local>
X-IsSubscribed: yes
Reply-To: cygwin AT cygwin DOT com
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Ronald Fischer wrote:

> There is none. I was told by Ruby-Talk people that I should use the
> Windows
> gem - it would work fine.

Ugh.

> This is funny: Although ls shows that mysql.so exists in $PWD, I get
> 
> /usr/lib/ruby/gems/1.8/gems/mysql-2.7.3-mswin32/ext $ cygcheck mysql.so
> Error: could not find mysql.so

cygcheck is designed to check things on the PATH just as you would if
you were invoking a command, so unless you have . in PATH it isn't
expected to find anything in the PWD.

> But at least it works when I supply a path:
> 
> /usr/lib/ruby/gems/1.8/gems/mysql-2.7.3-mswin32/ext $ cygcheck
> ./mysql.so
> .\mysql.so
>   c:\ruby185\bin\msvcrt-ruby18.dll
>     C:\WINDOWS\system32\USER32.dll
>       C:\WINDOWS\system32\GDI32.dll
>         C:\WINDOWS\system32\KERNEL32.dll
>           C:\WINDOWS\system32\ntdll.dll
>     C:\WINDOWS\system32\ADVAPI32.dll
>       C:\WINDOWS\system32\RPCRT4.dll
>     C:\WINDOWS\system32\WS2_32.dll
>       C:\WINDOWS\system32\msvcrt.dll
>       C:\WINDOWS\system32\WS2HELP.dll
>   c:\Programme\MySQL\MySQL Server 5.0\bin\LIBMYSQL.dll
>     C:\WINDOWS\system32\WSOCK32.dll
> 
> So this seems to look well, doesn't it?

Well that at least answers the question of unresolved library
dependencies, but no it doesn't look well at all.

You're mixing native win32 stuff with Cygwin stuff.  You're trying to
load the module into a running copy of a Cygwin ruby but this module
imports symbols from the other copy of ruby in in C:\ruby185\.  This
means it probably expects data structures of the native build, and most
likely will crash or act with very unpredictable behavior when used
elsewhere.  In general this kind of cross-polination is never a good
idea.

The *right* way to do it is to either stick to the win32 build (only) or
to build all the components that you want to use as Cygwin modules.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019