Mike, `make`, `gcc`, `javac`, `mvn`, and `bash` are bare-bones build tools I think it is more than reasonable to expect developers to have installed.
`make`, as well as `gcc` are required to build and test critical functionality of Accumulo: native maps. You can't run `mvn clean verify -Psunny` without testing native maps. Furthermore, we actually ship a small tarball and Makefile for users to build their own native maps locally according to their own CPU architecture, as part of our distribution tarball. In order to test that artifact that we ship, we need `make`. Running `make` on our shipped Makefile is effectively what we're doing for the integration tests anyway. So, I don't think this is a problem to address. However, if we were to address it, we'd have to categorize all our ITs to determine which ones require native maps and which don't. We could also separate out the native map library to its own repo on its own release schedule. However, I don't think it's worth it. It's trivial to install `make` on any modern operating system that we can expect contributors to be developing on. It's far more effort to cater to the edge case of a developer not having these installed than it is to simply provide instructions for installing them. On Thu, Jul 1, 2021 at 11:59 AM Michael Wall <mjw...@apache.org> wrote: > > As much as I love make, I had the thought that maybe we shouldn't require > devs to have it installed to build and contribute to Accumulo. Didn't see > an existing ticket, can write one tonight. > > On Thu, Jul 1, 2021 at 11:10 AM Christine Buss <christine.buss...@gmx.de> > wrote: > > > > > > > Thanks so much! Yes that was the problem. And thanks to everyone else that > > took their time to help me. > > > > > > Gesendet: Donnerstag, 01. Juli 2021 um 16:38 Uhr > > Von: "Christopher" <ctubb...@apache.org> > > An: "accumulo-dev" <dev@accumulo.apache.org> > > Betreff: Re: Cannot run program "make" > > The error message looks like it's saying you don't have the `make` > > command installed on your machine. Based on the word "ubuntu" in your > > OpenJDK build version, I think you're on an Ubuntu-based machine. I > > found a StackOverflow answer (https://askubuntu.com/a/272020) that > > said you can do: > > > > sudo apt-get install build-essential > > > > On Thu, Jul 1, 2021 at 10:24 AM Christine Buss <christine.buss...@gmx.de> > > wrote: > > > > > > the directory does exist: > > > > > > > > > > > accumulo/server/native/target/accumulo-native-2.1.0-SNAPSHOT/accumulo-native-2.1.0-SNAPSHOT$ > > ls > > > javah LICENSE Makefile nativeMap NOTICE testNativeMap > > > > > > So why can the program "make" not be run? > > > What file or directory is missing? > > > > > > > > > Hello, > > > I am trying to learn how to contribute. > > > However I cloned and forked the accumulo repository. > > > When I run the command : > > > mvn clean verify -DskipITs > > > I am getting this Error: > > > > > > [ERROR] Failed to execute goal > > org.codehaus.mojo:exec-maven-plugin:3.0.0:exec (test-native-libs) on > > project accumulo-native: Command execution failed.: Cannot run program > > "make" (in directory > > "/home/christine/accumulo/server/native/target/accumulo-native-2.1.0-SNAPSHOT/accumulo-native-2.1.0-SNAPSHOT"): > > error=2, No such file or directory -> [Help 1] > > > > > > I can't find the reason. How can I solve this? > > > Thanks so much in advanve for any and all help. > > > > > > > > > I am using Java 11 > > > >java -version > > > openjdk version "11.0.11" 2021-04-20 > > > OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) > > > OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed > > mode, sharing) > > > > >