getting Cygwin to know about microsoft cl and nmake? - visual-c++

I am trying to compile the Fortran runtime library (f2c) in Cygwin using this command: nmake -f makefile.vc all
Per instruction given in the package, first I have to let Cygwin know about Microsoft cl compiler and nmake. How can I do this in Cygwin?
I already added vcvarsall.bat to the Cygwin.bat file but I don't know what I can do for nmake. At this moment, I get this error: -bash nmake: command not found

nmake executable path should be present in your $PATH environment variable. You should edit .bashrc file to achieve this. It could be found here: /home/user/.bashrc Or if you prefer a windows editor then: c:\cygwin\home\user\.bashrc
Add this line with the correct path to the end of the file:
export PATH="$PATH:/cygdrive/c/Program Files/path_to_dir_which_contains_nmake.exe"
After that a new cygwin terminal should be started, in which you can use nmake command.

Related

libtbb.so.2 library does not exist when sourcing `compilervars.sh intel64`

I am trying to run a file using the make command. But when I do this, I get the message:
make: ifort: Command not found
I know that I must set the ifort environment using the following command:
/opt/intel/parallel_studio_xe_2020.1.102/compilers_and_libraries_2020/linux/bin/compilervars.sh intel64
But when I do this, I get the message:
ERROR: libtbb.so.2 library does not exist in SUBSTITUTE_INSTALL_DIR_HERE/lib/intel64/gcc4.8.
Does anyone know what should I do? It looks to me that I must somehow modify the usual variable LD_LIBRARY_PATH to inform where gcc4.8 is.
I can manually find it at:/opt/intel/tbb/lib/intel64/gcc4.8
Where should I put this information?
I am currently using Parallel Studio XE 2020.
Open
/opt/intel/parallel_studio_xe_2020.1.102/compilers_and_libraries_2020/linux/bin/compilervars.sh
with your favorite editor, and look for the line with tbb/bin/tbbvars.sh.
Find the full path for that script. It should be something like
/opt/intel/parallel_studio_xe_2020.1.102/compilers_and_libraries_2020/linux/tbb/bin/tbbvars.sh.
Open that, and look for the line
TBBROOT=SUBSTITUTE_INSTALL_DIR_HERE
and replace with
TBBROOT="/opt/intel/tbb"

Cygwin - Error Running Program on Windows 8.1

Operating System: Windows 8.1
Cygwin Version: Latest version, as of Sept. 9, 2014.
Guile Version: 1.8
Background:
My overall goal is to install a program called "MIT Photonics Band (MPB)" on Windows 8.1 using Cygwin. I am a new user, as I started using Cygwin a few days ago. I was able to install all required packages successfully after some troubleshooting. Eventually, I installed the MPB program using the generic ./configure, make, make install commands with slight modifications. All of this appeared to be successful.
The Problem:
When I try to run the executable program, I get the following error:
ERROR: In procedure primitive-load-path:
ERROR: Unable to find file "ice-9/boot-9.scm" in load path
Attempt At Solution:
The following is a page of the MPB installation manual:
MPB Installation Manual - Shared Libraries.
It appears to address my issue. Note that it mentions LIBDIR and foobar. For my operating system, foobar is PATH. The LIBDIR, however, I do not know explicitly because my "make install" output did not indicate it, as the manual suggests it should have. Anyhow, I found the location of ice-9/boot-9.scm through a computer search and its directory happens to be here:
C:\cygwin64\usr\share\guile\1.8\ice-9
Hence, I ran the following command (again, for a Windows 8.1 operating system) in bash:
$ export PATH="/usr/share/guile/1.8/ice-9:$PATH"
However, note that when I run $PATH, I get this message:
-bash: /usr/share/guile/1.8/ice-9:/usr/local/bin:/usr/bin:/cygdrive/c/Program: No such file or directory
I also tried:
$ export GUILE_LOAD_PATH="/usr/share/guile/1.8/ice-9:$GUILE_LOAD_PATH"
That yielded:
-bash: /usr/share/guile/1.8/ice-9:: No such file or directory
Furthermore, I tried to copy and paste the "ice-9" folder in various locations for a quick and sloppy solution, but it was to no avail. I searched online for answers as some users have had an issue with the program not finding the ice-9/boot-9.scm file in the past. I could not get my problem solved.
Please let me know if I need to provide more information. I appreciate the help!
EDIT: In response to the first user's post, I used the command echo $PATH and the following was the output:
/usr/share/guile/1.8:/usr/local/bin:/usr/bin:/cygdrive/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/cygdrive/c/Program Files (x86)/AMD APP/bin/x86_64:/cygdrive/c/Program Files (x86)/AMD APP/bin/x86:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Windows Live/Shared:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files/MATLAB/R2013a/runtime/win64:/cygdrive/c/Program Files/MATLAB/R2013a/bin:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/c/Program Files/Microsoft SQL Server/110/Tools/Binn:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/MATLAB/MATLAB Compiler Runtime/v81/runtime/win64:/usr/lib/lapack
Note that the problem still persists.
EDIT 2:
So I opened the "load.scm" file for GUILE and I found this line:
(define load-path '("/usr/share/emacs/20.7/lisp/"
"/usr/share/emacs/20.7/lisp/emacs-lisp/"))
I tried to add /usr/share/guile/1.8/ to these directories, but that didn't do anything either. Can't tell what's wrong.

Installing Linux Library on Windows Using Mingw

I am attempting to install GTKExtra on windows. The package comes in a Tar.Gz and contains a Configure file. So its necessary to install the package using MinGw because the package is designed to be installed on Linux.
I have installed MinGW and MSYS. I have made sure that C:\MinGW\msys\1.0\etc\fstab contains the line C:\MinGW /mingw (plus an empty line below it).
My Problem: I still cant get windows run the Configure file. When I type in ./Configure into CMD I get the error '.' is not recognized as an internal or external command, operable program or batch file.
The steps I am taking are:
Open cmd.exe
Navigate to the folder that contains the configure file using cd C:/...
Type in ./configure (as per the instructions found in INSTALL. But this causes the error I described above
How can I run the configure file on windows? What have I done wrong?
You have to run the command in unix command prompt. For starting unix command prompt execute "msys.bat" in msys installation.

Cygwin compiler path

I have installed cygwin 64 bit, and have the path variable set up for its bin directory too. In command prompt "cygcheck -c cygwin" command also successfully displays
Cygwin Package Information
Package Version Status
cygwin 1.7.23-1 OK
But wen I start cygwin terminal it displays this
C:\PROGRA~2\RATIONAL\RATION~1\NUTCROOT\mksnt\sh.exe: No such file or directory
Also netbeans (7.3) does not automatically detect this compiler. What can be the problem here?
The path for /usr/bin/ should already be set when you install cygwin, so by resetting it you may have actually removed the correct path.
You can see your path like this:
echo $PATH
I'd first try to remove your custom path statement, and if that doesn't work, you may have to uninstall and reinstall.

make: pwd: Command not found

I am new to using make files. I have cygwin and MinGW. I'm still looking into their differences.
Anyway, I have a makefile that is used to create a project for an FPGA, which I have never done before. I have included C:\cygwin\bin and C:\MinGW\msys\1.0\bin in my PATH, but I always get this error.
make: pwd: Command not found
I typed pwd into the cmd prompt and get a correct response. Any pointers? Am I missing something? Not sure what else I can try. Most forums I have found pertaining to this error never have a resolution.
Let me know what information you'd like.
pwd is commonly both a shell built-in command and a standalone executable, provided by GNU coreutils (which Cygwin installs by default).
If you're invoking make from the Cygwin environment (say, typing make at a bash shell prompt), then C:\cygwin\bin is the wrong way to specify the directory. That's the path as seen from Windows. From within Cygwin, it's /bin -- and it should be in your default $PATH. The Cygwin equivalent of C:\MinGW\msys\1.0\bin would be /cygdrive/c/mingw/msys/1.0/bin
If you're doing this directly from Windows rather than in the Cygwin subsystem, then C:\cygwin\bin is the path to the Cygwin bin directory -- but running C:\cygwin\bin\pwd is going to give you a Cygwin-specific directory name that's not going to be meaningful to Windows.
I have encountered the same issue in my mingw environment. It turned out in my case to be a missing 'pwd'executable in the msys/bin directory. Once the copying was done properly, everything fell into place. Hope this helps

Resources