0

My goal: Install karambola on my Windows 10 maschine.

To install karambola I need the make command, which was never found with any programm. The only thing that worked was using GnuWin32 (when I was in the karambola directory):

& 'C:\Program Files (x86)\GnuWin32\bin\make.exe'

but then it only said:

 -Wall -O2 -DNDEBUG  -DVERSION_NUMBER=2.0 -o karambola.o -c karambola.cpp
 process_begin: CreateProcess(NULL, g++ -Wall -O2 -DNDEBUG -DVERSION_NUMBER=2.0 -o karambola.o -c karambola.cpp, ...) failed.
 make (e=2): Das System kann die angegebene Datei nicht finden.
 make: *** [karambola.o] Fehler 2

("Das System kann die angegebene Datei nicht finden" means "the system can't find the given file" and "Fehler 2" means "error 2")

Also using an Linux console would allways result in not finding the "g++" command, which I thought would be included in the programs I used.

It says I need gsl but that's not available for Windows so I tried Microsoft Visual Studios, then Gnuwin32 (together with the make.exe), then Cygwin, then msys and MinGW (basicly every solution I could find). I did not even know which packages I needed for each of them or what in detail there were actually used for. I used Windows Powershell to do the commands since it looked like all other consoles did not work as intended by installation manuals.

I tried everthing for several days and it just won't work. Please help :(

melon_lord
  • 63
  • 8
  • You seem to invoke make.exe through a Windows command shell. I would run this from a Cygwin environment (for instance a bash or zsh) . Also ensure that you have the C++ compiler and the necessary libraries installed. – user1934428 Apr 24 '23 at 09:28
  • 1
    BTW: On the Karambola website you linked to, I can't find any system requirements for recompiling the software. Before wasting time experimenting various installs, I would contact the provider, what you minimum requirements you need when compiling it under Cygwin. – user1934428 Apr 24 '23 at 09:32

2 Answers2

0

Whatever distribution you are trying to use (Cygwin, Mingw, Linux Debian, Fedora..) some programs are NOT installed by default. As not anyone is a C++ programmer, you need to install/add the dedicated packages that contails the tools, compiler, header, libraries you need for your task.

For example Cygwin has almost 10000 packages:
https://cygwin.com/packages/package_list.html

So you need make, g++ and at least the gsl development package.
Use cygcheck -p to find the package that contains the program:

$ cygcheck -p usr/bin/make.exe
Found 6 matches for usr/bin/make.exe
..
make-debuginfo-4.3-1 - make-debuginfo: Debug info for make
..
make-4.3-1 - make: The GNU version of the 'make' utility

so you need to install the package make. You can skip the debuginfo

$ cygcheck -p usr/bin/g++.exe
Found 5 matches for usr/bin/g++.exe
gcc-g++-10.2.0-1 - gcc-g++: GNU Compiler Collection (C++)
...
gcc-g++-9.3.0-2 - gcc-g++: GNU Compiler Collection (C++)

and you need to install the package gcc-g++.
For gsl, we look at the import library. It is probably libgsl.dll.a but we ask the Cygwin webserver in a more generic way

$ cygcheck -p usr/lib/libgsl
Found 3 matches for usr/lib/libgsl
libgsl-devel-1.16-2 - libgsl-devel: the GNU Scientific Library (installed binaries and support files
)
libgsl-devel-2.3-1 - libgsl-devel: the GNU Scientific Library
libgsl-devel-2.3-2 - libgsl-devel: the GNU Scientific Library

Install libgsl-devel

Do not forget to install also cygwin-devel

See documentation for installing the additionals packages
https://cygwin.com/install.html

matzeri
  • 8,062
  • 2
  • 15
  • 16
0

I figured it out :) The solution is using the allready implemented Linux feature in windows.

  1. Enable Linux in the windows settings and install an ubunto console from where I could continue. This helped me with that.

(I had some problems in the following steps, but 2 things helped me: working as a root user and this fix.)

  1. Then I had to install g++ which can be done by just one command (it will tell you which one if you try to use it).

The following is only following the instalation instructions:

  1. install gsl by "configure && make && make install"
  2. install karambola by "make" and "make test" (is the second one nessessary? probably not)
  3. use karambola (in root user mode) by "karambola myfile.poly --nolabels" or "karambola myfile.poly --labels".
melon_lord
  • 63
  • 8
  • This is the solution to a different question, as you are using WSL and not Cygwin. In any case you need to installl the compiler and other libraries, as they are not present by default – matzeri May 19 '21 at 11:35
  • Why is this a solution to a different question? It worked and karambola is working now. I also can use 'make' and 'g++'. I never said I had to use Cygwin. It's just one thing I tried. – melon_lord May 20 '21 at 15:49
  • You tagged Cygwin not WSL. My answer is for Cygwin, your for WSL so a different enviroment – matzeri May 20 '21 at 16:24
  • ok sry, but I don't even know enough about that to understand that. I tagged Cygwin, because I thought it was the only way, but it wasn't. If you want to I can remove the tag :) – melon_lord May 26 '21 at 16:57