mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Forsythe <dforsy...@gmail.com>
Subject Re: Review Request 66314: Fix 3rdparty build commands for FreeBSD.
Date Thu, 29 Mar 2018 06:43:50 GMT


> On March 28, 2018, 8:06 a.m., Benjamin Bannier wrote:
> > 3rdparty/CMakeLists.txt
> > Lines 58-63 (patched)
> > <https://reviews.apache.org/r/66314/diff/1/?file=1989124#file1989124line58>
> >
> >     Like discussed offline, I don't think there is a reason we need to bolt such
logic on the used system, at least currently.
> >     
> >     Let's instead use `find_program` to find a `make` and use it to set this variable.
> >     
> >     Unless I miss something, we do not depend on GNU make here, so let's maybe reflect
that in a more general name, e.g., just `MAKE` if it is available.
> 
> David Forsythe wrote:
>     I took a look at find_program, but I don't think that will solve the problem.
>     
>     We actually *do* depend on gmake here (even on darwin). On FreeBSD GHU make is a
3rd party application and is actually called and installed as `gmake`, whereas the system
make is actually Pmake (which is incompatible).

I should clarify that there is incompability in a 3rdparty Makefile, not that the two makes
are completely incompatible.

Particularly there are three issues - LevelDB, libev, and glog.

LevelDB is always going to fail without `gmake`, because it does not use autotools. I don't
know how we can get around that.

libev and glog do use autotools. They have some strange behavior when building, though --
If I use `cmake --build` they both fail on a bad target (because of an incompatible Makefile).
If I use (bsd) `make`, they build fine.
If I use `gmake` they both fail (bad target).

For both the first and third scenario, I can run the commands that are failing outside of
the build and they succeed.

Accordng to the cache, cmake is using `gmake` as `CMAKE_MAKE_PROGRAM` in these cases, so it's
not clear to me why anything would fail when I do the whole build with `gmake`. It seems like
the build can go make -> gmake, but not gmake -> make.

I think the baseline should be having `cmake --build` work, and the only way I have gotten
everything to work as expected is by forcing `gmake` everywhere. I'm learning Cmake as I go
so I could be missing something obvious to fix this.


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66314/#review200098
-----------------------------------------------------------


On March 27, 2018, 7:10 p.m., David Forsythe wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66314/
> -----------------------------------------------------------
> 
> (Updated March 27, 2018, 7:10 p.m.)
> 
> 
> Review request for mesos and Benjamin Bannier.
> 
> 
> Bugs: MESOS-4176
>     https://issues.apache.org/jira/browse/MESOS-4176
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Fix 3rdparty build commands for FreeBSD.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 2b63b58f7d6a88c9986b746283dcfa79b7bcb270 
>   cmake/CompilationConfigure.cmake 64cc56ee4208afe05df0f28af5890157e4c7d82c 
> 
> 
> Diff: https://reviews.apache.org/r/66314/diff/1/
> 
> 
> Testing
> -------
> 
> cmake --build on FreeBSD
> 
> 
> Thanks,
> 
> David Forsythe
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message