Anonymous
Knowledge Base Documents Articles & FAQs Software Updates Feature Requests Trouble Reports Support Enquiries
 
NX Client Products
 
Search
Advanced Search
My Account
Containing:
 
Article:  #AR12B00117
Added on: 2004-12-20
Last Modified: 2009-03-09
Applies to: NX Client Products
How to solve Cygwin DLL conflicts
The root cause of this issues lies in the fact that there are multiple versions of
Cygwin DLL's resident on the system.

A symptom can be that the NX client installation suddenly ceased to work after
having installed another Unix interoperability software. This issue, for example,
is known to happen when the OpenSSH package for Windows is installed.

NX Client 3.0.0 allows  to choose if replacing cygwin1.dll present on the system with the version included in the client package or renaming the cygwin1.dll provided by the client installation. More details are available at:

http://www.nomachine.com/ar/view.php?ar_id=AR03E00449

NX Client 2.0.0 is also able to detect a possible Cygwin conflict but allows only to rename the cygwin1.dll provided by the client installation. In this way, the NX client components will try to use the other cygwin1.dll present on the system. If the version of this DLL is compatible, the application will work properly.

In both cases, the original DLL will be preserved and renamed as cygwin1.dll.backup.Please, note that rebooting is also suggested if you are still unable to run your application.

However, in some circumstances, this could be not enough to handle the conflict and the NX session can fail to start with errors similar to:

Error: Function fork failed with result '-1'. Error is 11 'Resource
temporarily unavailable'.
Error: Failed to execute the X auth command. Error is 11 'Resource temporarily unavailable'.

In this case, you could try to solve the conflict by hand. You should find the dll
versions, using the Windows OS tools to search for files named cygwin1.dll.

After searching, you will need to compare the version levels of the dll's found by right-clicking on each of them and checking the properties. Let's say that version of cygwin1.dll provided by the NX Client installation is for example 1.x.yz.

If your Cygwin supplied file is version is older than 1.x.yz, you will need to:

  • - Make a back-up of the original DLLs present on the system, usually in x:\cygwin\bin,  where 'x' is the drive on which you have installed Cygwin.

  • Copy the NX versions of the following DLLs from C:Program Files/NX Client for Windows/bin  (or from the correspondent directory where you installed NX client) to x:\cygwin\bin:    

    - cygwin1.dll
    - cygcrypto-0.9.8.dll
    - cygjpeg-62.dll
    - cygminires.dll
    - cygpng12.dll
    - cygz.dll

This is usually enough to ensure that the Cygwin subsystem will be able to find a unique copy of its DLLs and that you are using the latest cygwin1.dll.
Reeboting may be suggested.

If your Cygwin supplied file version is older than 1.x.yz, you will need instead
to copy the same DLLs listed above from your Cygwin installation directory to
the C:Program Files/NX Client for Windows/bin, or in the correspondent directory where you installed NX client.

Please note also that Cygwin's inability to handle multiple versions of its DLLs is a known problem. While this problem can be minimized by shipping modified Cygwin libraries and by using tools like 'rebase' and similar, NoMachine looks forward to building the NX software for Windows as native Win32 components.

Related Feature Request:
- Removing the Cygwin compatibility layer used to run NX components on Windows
  http://www.nomachine.com/fr/view.php?id=FR03F02034
Other Support Options
Contact NoMachine

Phone Numbers, Support Options and Pricing, Online Help, and more.

Customer Service

For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.

Print this document
Send this page




Home | News | About Us | Partners | Contact Us
Products | Download | Support | Documents | Customers
Copyright 2002-2013, NoMachine S.à r.l - VAT LU25935711