X-Spam-Check-By: sourceware.org Message-ID: <46768651.82231835@dessent.net> Date: Mon, 18 Jun 2007 06:19:13 -0700 From: Brian Dessent 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> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Reply-To: cygwin AT cygwin DOT com Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , 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/