Cygwin: Compatibility Issue

Cygwin: Compatibility Issue

It appears from your question and comments that you may have been lead to believe that Cygwin was the same as Linux. That isn't the case. Cygwin is a unix-like posix compatible environment that runs natively on Windows:

Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment. Thus it is possible to launch Windows applications from the Cygwin environment, as well as to use Cygwin tools and applications within the Windows operating context.

In particular all the Linux specific code that uses int 80h system call will fail when run on Windows, as it doesn't apply to the Windows environment.

If you want to create code that runs on Linux, then you'll need to install Linux. You can do that by running Virtual Machine software on Windows and install a flavor of Linux into it (Ubuntu is the choice for a lot of people).

Why do the Cygwin installer update so frequently?

I have been using the same cygwin version since years now and not faced any issues.
If the application is working as expected then you dont need an update unless you face some trouble or you are migrating to a new windows Os which might have some compatibility issues.

Note : There is no guarantee that there will not be any problems with applying updates and also the cygwin faq section says that after updates issues should be reported to the project or product supplier for remedial action.

https://cygwin.com/faq/

Problem with cygnetcdf-13.dll needed to use new versions of CDO with Cygwin

Use cygcheck to find the proper package:

$ cygcheck -p cygnetcdf-13.dll
Found 4 matches for cygnetcdf-13.dll
libnetcdf13-4.6.0-1 - libnetcdf13: NetCDF (network Common Data Form)
libnetcdf13-4.6.1-1 - libnetcdf13: NetCDF (network Common Data Form)
libnetcdf13-4.6.1-2 - libnetcdf13: NetCDF (network Common Data Form)
netcdf-debuginfo-4.6.1-2 - netcdf-debuginfo: Debug info for netcdf

so you need to install the libnetcdf13 package.

If you need to look which programs are needed for it, there is
a proper line in

https://cygwin.com/packages/summary/libnetcdf13.html

depends: cygwin, libcurl4, libgcc1 (x86), libhdf5_101, libhdf5hl_100

Issues using cmake on cygwin

As suggested by Fred, I used --trace to get more info --> there was absolutely nothing after Configuring done.

Then, as suggested by Tsyvarev, I simplified the CMakeLists to the bare minimum, where it was ok. Then I added things bit by bit until I identified the issue.

It came from cmake path variables that contained drive letters (like "E:/...") that made cmake go nuts and get stuck.

I made a small macro to patch all path variable, replacing drive letters by "/cygdrive/[drive letter]/..." and after patching them all, everything went back to normal. For those interested:

macro(PatchPath PATHTOPATCH OUTPUT_VAR)
if(${TARGET_SYSTEM_TYPE} MATCHES "cygwin")
string(SUBSTRING ${PATHTOPATCH} 0 1 CYG_DRIVE)
string(TOLOWER ${CYG_DRIVE} CYG_DRIVE)
string(SUBSTRING ${PATHTOPATCH} 2 -1 TMP_END_OF_PATH)
set(${OUTPUT_VAR} "/cygdrive/${CYG_DRIVE}${TMP_END_OF_PATH}")
endif()
endmacro()

Thanks everyone!

How to fix error: Cygwin gcc cannot be used with --compiler=mingw32

A similar problem occured. I fixed it by changing mingw32 by gcc like @phd said.



Related Topics



Leave a reply



Submit