You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Till Toenshoff <to...@me.com> on 2014/03/10 11:36:45 UTC

Review Request 18957: Added --without-included-leveldb flag

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

Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas Nielsen, Timothy St. Clair, and Vinod Kone.


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description
-------

Allows preventing the use of the currently bundled leveldb in favor of a preinstalled version.


Diffs
-----

  3rdparty/Makefile.am 8e1d915 
  configure.ac 390f11b 
  src/Makefile.am 384b312 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing
-------

../configure
make check

OSX: brew installed leveldb comes with activated libsnappy
../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS="-lleveldb -lsnappy"
make check

linux: manually installed leveldb without libsnappy
../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS=-lleveldb
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --without-included-leveldb flag

Posted by Mesos ReviewBot <de...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review36634
-----------------------------------------------------------


Patch looks great!

Reviews applied: [18957]

All tests passed.

- Mesos ReviewBot


On March 10, 2014, 10:36 a.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 10, 2014, 10:36 a.m.)
> 
> 
> Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas Nielsen, Timothy St. Clair, and Vinod Kone.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of the currently bundled leveldb in favor of a preinstalled version.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 8e1d915 
>   configure.ac 390f11b 
>   src/Makefile.am 384b312 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> OSX: brew installed leveldb comes with activated libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS="-lleveldb -lsnappy"
> make check
> 
> linux: manually installed leveldb without libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS=-lleveldb
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by "Timothy St. Clair" <ts...@redhat.com>.

> On March 20, 2014, 4:46 p.m., Benjamin Hindman wrote:
> > Just so I understand clearly, do we not want to allow people to try and use system installed libraries but fall back on what's bundled otherwise? Consider someone who has leveldb installed with snappy, so they'd like to use the system installed leveldb but use everything else that is bundled so they don't have to go install all those things, can they do that?
> > 
> > Also, I agree with Adam that --enable-proper isn't as descriptive as say, --with-installed-dependencies.

The point that Vinod made on the ticket was: "I would prefer to also have an option to always use bundled dependencies irrespective of system installed ones. In fact this could be the default so as to not break users that are already expect this behavior. After a deprecation period we could change the default to prefer system installed dependencies." That is how the patch was setup.  

I personally like --disable-bundled, but I don't have strong opinions on the matter.


- Timothy


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


On March 17, 2014, 7:51 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 7:51 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.

> On March 20, 2014, 4:46 p.m., Benjamin Hindman wrote:
> > Just so I understand clearly, do we not want to allow people to try and use system installed libraries but fall back on what's bundled otherwise? Consider someone who has leveldb installed with snappy, so they'd like to use the system installed leveldb but use everything else that is bundled so they don't have to go install all those things, can they do that?
> > 
> > Also, I agree with Adam that --enable-proper isn't as descriptive as say, --with-installed-dependencies.
> 
> Timothy St. Clair wrote:
>     The point that Vinod made on the ticket was: "I would prefer to also have an option to always use bundled dependencies irrespective of system installed ones. In fact this could be the default so as to not break users that are already expect this behavior. After a deprecation period we could change the default to prefer system installed dependencies." That is how the patch was setup.  
>     
>     I personally like --disable-bundled, but I don't have strong opinions on the matter.

"--disable-bundled" sounds great to me.


- Till


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


On March 17, 2014, 7:51 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 7:51 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Adam B <ad...@mesosphere.io>.

> On March 20, 2014, 9:46 a.m., Benjamin Hindman wrote:
> > Just so I understand clearly, do we not want to allow people to try and use system installed libraries but fall back on what's bundled otherwise? Consider someone who has leveldb installed with snappy, so they'd like to use the system installed leveldb but use everything else that is bundled so they don't have to go install all those things, can they do that?
> > 
> > Also, I agree with Adam that --enable-proper isn't as descriptive as say, --with-installed-dependencies.
> 
> Timothy St. Clair wrote:
>     The point that Vinod made on the ticket was: "I would prefer to also have an option to always use bundled dependencies irrespective of system installed ones. In fact this could be the default so as to not break users that are already expect this behavior. After a deprecation period we could change the default to prefer system installed dependencies." That is how the patch was setup.  
>     
>     I personally like --disable-bundled, but I don't have strong opinions on the matter.
> 
> Till Toenshoff wrote:
>     "--disable-bundled" sounds great to me.

Naming rant: I think we've agreed that 'Proper' isn't descriptive enough. Here are my thoughts on alternatives.
* Bundled: disable-bundled or without-bundled implies no fallback to bundled. Since the fallback /is/ to use the bundled libs, the enable/disable or with/without naming should really apply to the unbundled, preinstalled, external, system dependencies.
* [Pre]installed: If I'm passing a path, the dependency isn't necessarily "installed" somewhere. "Installed" also has too many other potential meanings (e.g. to-be-installed by mesos).
* External: Could be too generic if there are other external dependencies that are not covered by these --with-foo flags.
* System: With the new logic, this parameter only applies to dependencies that already exist on the lib-path, and is ignored for libs that pass an explicit --with-foo=path, so "system" may be more appropriate that "external".
* Dependencies vs. Libraries: Since installed/external/system is too vague by itself, it needs an object to describe. I prefer "dependencies" over "libraries", since it's a little more general and can express dependencies that are more than just libraries.

TL;DR: I vote for: --with[out]-system-dependencies.


- Adam


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


On March 23, 2014, 4:18 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 23, 2014, 4:18 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries. For this specific flag, the configuration phase will attempt to locate a preinstalled dependency. If that was not found, we show a warning and fall back to using the bundled version.
> If --disable-bundled is supplied or --with-leveldb=DIR was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb=DIR was given, the bundled library is built and used.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review37907
-----------------------------------------------------------


Just so I understand clearly, do we not want to allow people to try and use system installed libraries but fall back on what's bundled otherwise? Consider someone who has leveldb installed with snappy, so they'd like to use the system installed leveldb but use everything else that is bundled so they don't have to go install all those things, can they do that?

Also, I agree with Adam that --enable-proper isn't as descriptive as say, --with-installed-dependencies.

- Benjamin Hindman


On March 17, 2014, 7:51 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 7:51 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by "Timothy St. Clair" <ts...@redhat.com>.

> On March 19, 2014, 12:42 a.m., Adam B wrote:
> > How did we decide on "--enable-proper"? Why not --disable-bundled (or --disable-bundled-libs)? Or enable-preinstalled-libs?
> > What parameters do I have to use to make it search for the preinstalled lib and fallback to bundled if it can't find it?
> > What do I have to use to make it search for the preinstalled lib and fail if it can't find it?
> > What do I have to use to make it use the preinstalled lib for the one (or more) that I specify and use bundled for the rest?

Thanks for the comment Adam.  All the details are spelled out in the JIRA. 

Names don't really matter to me vs. behavior.
If you have opinions, perhaps writing a case on https://issues.apache.org/jira/browse/MESOS-1071 might help.  


- Timothy


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


On March 17, 2014, 7:51 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 7:51 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by Adam B <ad...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review37669
-----------------------------------------------------------


How did we decide on "--enable-proper"? Why not --disable-bundled (or --disable-bundled-libs)? Or enable-preinstalled-libs?
What parameters do I have to use to make it search for the preinstalled lib and fallback to bundled if it can't find it?
What do I have to use to make it search for the preinstalled lib and fail if it can't find it?
What do I have to use to make it use the preinstalled lib for the one (or more) that I specify and use bundled for the rest?

- Adam B


On March 17, 2014, 12:51 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 12:51 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Mesos ReviewBot <de...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38608
-----------------------------------------------------------


Bad patch!

Reviews applied: [18957]

Failed command: ./configure

Error:
 checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
configure: creating ./config.lt
config.lt: creating libtool
configure: Setting up build environment for x86_64 linux-gnu
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking leveldb/db.h usability... no
checking leveldb/db.h presence... no
checking for leveldb/db.h... no
configure: error: cannot find LevelDB
-------------------------------------------------------------------
LevelDB is required for Mesos to build.

You may want specify the location of LevelDB by providing a prefix
path via --with-leveldb=DIR.
-------------------------------------------------------------------



- Mesos ReviewBot


On March 26, 2014, 1:58 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 26, 2014, 1:58 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries.
> 
> If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.
> 
> --without-included-leveldb and --with-leveldb without a path are semantically equal.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 47d03b3 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --with-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --without-included-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by "Timothy St. Clair" <ts...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38611
-----------------------------------------------------------



configure.ac
<https://reviews.apache.org/r/18957/#comment70866>

    Looks like there are some hard-tabs here.


- Timothy St. Clair


On March 26, 2014, 3:26 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 26, 2014, 3:26 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries.
> 
> If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.
> 
> --without-included-leveldb and --with-leveldb without a path are semantically equal.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 47d03b3 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --with-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --without-included-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Adam B <ad...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38665
-----------------------------------------------------------


A couple of potential bugs and a couple of renaming/logic changes


configure.ac
<https://reviews.apache.org/r/18957/#comment70925>

    shouldn't the default be with_bundled_leveldb=yes for now?



configure.ac
<https://reviews.apache.org/r/18957/#comment70926>

    Remove the 'x' so it's just test -n "$with_leveldb"



configure.ac
<https://reviews.apache.org/r/18957/#comment70931>

    test "x$with_included_leveldb" != "xyes" || test "x$enable_bundled" != "xyes"
    so they both have the same logic. Or use disable_bundled and without_included.



configure.ac
<https://reviews.apache.org/r/18957/#comment70932>

    s/==/=/



configure.ac
<https://reviews.apache.org/r/18957/#comment70933>

    WITH_BUNDLED_LEVELDB?


- Adam B


On March 26, 2014, 8:50 a.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 26, 2014, 8:50 a.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries.
> 
> If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.
> 
> --without-included-leveldb and --with-leveldb without a path are semantically equal.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 47d03b3 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --with-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --without-included-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Vinod Kone <vi...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38624
-----------------------------------------------------------


I'm still a bit confused about the preference order here. I'm assuming the description on this review is out of date after the latest changes. Can you update it?

Talking with BenH, he suggested getting rid of --with-foo="/path" in favor of explicitly setting CPP and LD flags. That would definitely make it simpler to reason about the preferences.

Ultimately the most flexible would be having the ability to specify these preferences both globally (default) and per package (overrides default):
--> system-only
--> bundled-only
--> prefer system over bundled
--> prefer bundled over system

Is this easy to accomplish?







configure.ac
<https://reviews.apache.org/r/18957/#comment70878>

    looking at how zookeeper is setup above shouldn't this be
    
    s/without/with/ ?



configure.ac
<https://reviews.apache.org/r/18957/#comment70879>

    is this correct?



configure.ac
<https://reviews.apache.org/r/18957/#comment70882>

    s/attempt/to attempt/



configure.ac
<https://reviews.apache.org/r/18957/#comment70892>

    Instead of saving and restoring, can you just use INSTALLED_{CPP|LD}FLAGS here?
    
    INSTALLED_CPPFLAGS=$CPPFLAGS
    INSTALLED_LDFLAGS=$LDFLAGS
    
    Or do you need to use CPPFLAGS and LDFLAGS because AC_CHECK_* uses them?



configure.ac
<https://reviews.apache.org/r/18957/#comment70888>

    s/us/us to/


- Vinod Kone


On March 26, 2014, 3:50 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 26, 2014, 3:50 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries.
> 
> If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.
> 
> --without-included-leveldb and --with-leveldb without a path are semantically equal.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 47d03b3 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --with-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --without-included-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Mesos ReviewBot <de...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38705
-----------------------------------------------------------


Bad patch!

Reviews applied: [18957]

Failed command: make -j3 check GTEST_FILTER='' >/dev/null

Error:
 ev.c:1531:31: warning: 'ev_default_loop_ptr' initialized and declared 'extern' [enabled by default]
ev.c: In function 'evpipe_write':
ev.c:2160:17: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
ev.c:2172:17: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
ev.c: In function 'pipecb':
ev.c:2193:16: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result]
ev.c:2207:16: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result]
In file included from /usr/include/c++/4.6/ext/hash_set:61:0,
                 from src/glog/stl_logging.h:54,
                 from src/stl_logging_unittest.cc:34:
/usr/include/c++/4.6/backward/backward_warning.h:33:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
In file included from src/utilities.h:73:0,
                 from src/googletest.h:38,
                 from src/stl_logging_unittest.cc:48:
src/base/mutex.h:137:0: warning: "_XOPEN_SOURCE" redefined [enabled by default]
/usr/include/features.h:166:0: note: this is the location of the previous definition
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'indexsidebar.html' under directory 'docs'
zip_safe flag not set; analyzing archive contents...
log/leveldb.cpp:23:32: fatal error: leveldb/comparator.h: No such file or directory
compilation terminated.
make[2]: *** [log/liblog_la-leveldb.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [check] Error 2
make: *** [check-recursive] Error 1


- Mesos ReviewBot


On March 26, 2014, 3:50 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 26, 2014, 3:50 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries.
> 
> If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.
> 
> --without-included-leveldb and --with-leveldb without a path are semantically equal.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 47d03b3 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --with-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --without-included-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Benjamin Hindman <be...@berkeley.edu>.

> On March 26, 2014, 5:34 p.m., Benjamin Hindman wrote:
> > Sorry I haven't been able to get to this sooner! I'm fine with --disable-bundled not falling back on bundled dependencies since there is an escape hatch where someone can explicitly specify which bundled dependencies _to not_ use (and thus, which ones _to_ use).

To be clear about this escape hatch, this is what I had in mind:

configure --without-bundled-zookeeper # builds with bundled leveldb
configure --without-bundled-leveldb # builds with bundled zookeeper

Alternatively, we could support:

configure --disable-bundled --with-bundled-leveldb # builds with bundled leveldb
configure --disable-bundled --with-bundled-zookeeper # builds with bundled zookeeper

To Tim's point, if someone specifies --disable-bundled and there aren't appropriate system dependencies then failing sounds fine, but it could make sense to be able to 'override' the --disable-bundled explicitly (not automagically as had been proposed via "fallback").


- Benjamin


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


On March 26, 2014, 3:50 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 26, 2014, 3:50 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries.
> 
> If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.
> 
> --without-included-leveldb and --with-leveldb without a path are semantically equal.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 47d03b3 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --with-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --without-included-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38626
-----------------------------------------------------------


Sorry I haven't been able to get to this sooner! I'm fine with --disable-bundled not falling back on bundled dependencies since there is an escape hatch where someone can explicitly specify which bundled dependencies _to not_ use (and thus, which ones _to_ use).


configure.ac
<https://reviews.apache.org/r/18957/#comment70890>

    As long as we're going with the word 'bundled' how about s/included-leveldb/bundled-leveldb/. And let's also change this for 'included-zookeeper'.



configure.ac
<https://reviews.apache.org/r/18957/#comment70886>

    ... or asked us to disable the bundled dependencies (--disable-bundled).



configure.ac
<https://reviews.apache.org/r/18957/#comment70889>

    It seems like we're giving people two different ways to specify where leveldb is (and by extension, other dependencies in the future):
    
    (1) Use --with-leveldb=prefix.
    (2) Set CPPFLAGS and LDFLAGS and use --disable-bundled or --without-included-zookeeper.
    
    In either case, we know we need to include '-lleveldb'. But why can't we simplify and just have one way? I'd prefer (2) because then we don't have to have both a --without-included-dependency and --with-dependency=prefix for every single system installed dependency, especially if they're all installed at the same non-standard prefix.



configure.ac
<https://reviews.apache.org/r/18957/#comment70885>

    Why can't we just update CPPFLAGS and LDFLAGS?


- Benjamin Hindman


On March 26, 2014, 3:50 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 26, 2014, 3:50 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries.
> 
> If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.
> 
> --without-included-leveldb and --with-leveldb without a path are semantically equal.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 47d03b3 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --with-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --without-included-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by "Timothy St. Clair" <ts...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38618
-----------------------------------------------------------

Ship it!


Ship It!

- Timothy St. Clair


On March 26, 2014, 3:50 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 26, 2014, 3:50 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries.
> 
> If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.
> 
> --without-included-leveldb and --with-leveldb without a path are semantically equal.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 47d03b3 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --with-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --without-included-leveldb
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 26, 2014, 3:50 p.m.)


Review request for mesos and Benjamin Hindman.


Changes
-------

fixed hard tabs in configure.ac


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--disable-bundled generally switches from bundled to preinstalled libraries.

If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.

--without-included-leveldb and --with-leveldb without a path are semantically equal.

NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs (updated)
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 5404dc2 
  src/Makefile.am 47d03b3 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing
-------

../configure
make check

installed leveldb in custom location
../configure --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --with-leveldb
make check

installed leveldb in common location
../configure --without-included-leveldb
make check

installed leveldb in common location
../configure --disable-bundled
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 26, 2014, 3:26 p.m.)


Review request for mesos and Benjamin Hindman.


Changes
-------

fixed last minute bug.


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--disable-bundled generally switches from bundled to preinstalled libraries.

If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.

--without-included-leveldb and --with-leveldb without a path are semantically equal.

NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs (updated)
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 5404dc2 
  src/Makefile.am 47d03b3 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing
-------

../configure
make check

installed leveldb in custom location
../configure --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --with-leveldb
make check

installed leveldb in common location
../configure --without-included-leveldb
make check

installed leveldb in common location
../configure --disable-bundled
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 26, 2014, 1:58 p.m.)


Review request for mesos and Benjamin Hindman.


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description (updated)
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--disable-bundled generally switches from bundled to preinstalled libraries.

If --disable-bundled is supplied or --with-leveldb[=DIR] or --without-included-leveldb was given but the configuration phase could not locate the dependency, it stops with an error.
If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.

--without-included-leveldb and --with-leveldb without a path are semantically equal.

NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 5404dc2 
  src/Makefile.am 47d03b3 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing
-------

../configure
make check

installed leveldb in custom location
../configure --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --with-leveldb
make check

installed leveldb in common location
../configure --without-included-leveldb
make check

installed leveldb in common location
../configure --disable-bundled
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 26, 2014, 1:57 p.m.)


Review request for mesos and Benjamin Hindman.


Changes
-------

Adapted towards latest discussion results.


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description (updated)
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--disable-bundled generally switches from bundled to preinstalled libraries.

If --disable-bundled is supplied or --with-leveldb=DIR was given but the configuration phase could not locate the dependency, it stops with an error.
If --without-included-leveldb was given, but the configuration phase could not locate the dependency, it stops with an error.
If --disable-bundled is not supplied and no --with-leveldb[=DIR] or --without-included-leveldb was given, the bundled library is built and used.

--without-included-leveldb and --with-leveldb without a path are semantically equal.

NOTE: This review only implements this preinstalled library usage on LevelDB. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs (updated)
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 5404dc2 
  src/Makefile.am 47d03b3 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing (updated)
-------

../configure
make check

installed leveldb in custom location
../configure --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --with-leveldb
make check

installed leveldb in common location
../configure --without-included-leveldb
make check

installed leveldb in common location
../configure --disable-bundled
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Mesos ReviewBot <de...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38265
-----------------------------------------------------------


Patch looks great!

Reviews applied: [18957]

All tests passed.

- Mesos ReviewBot


On March 23, 2014, 11:18 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 23, 2014, 11:18 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries. For this specific flag, the configuration phase will attempt to locate a preinstalled dependency. If that was not found, we show a warning and fall back to using the bundled version.
> If --disable-bundled is supplied or --with-leveldb=DIR was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb=DIR was given, the bundled library is built and used.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 23, 2014, 11:18 p.m.)


Review request for mesos and Benjamin Hindman.


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description (updated)
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--disable-bundled generally switches from bundled to preinstalled libraries. For this specific flag, the configuration phase will attempt to locate a preinstalled dependency. If that was not found, we show a warning and fall back to using the bundled version.
If --disable-bundled is supplied or --with-leveldb=DIR was given but the configuration phase could not locate the dependency, it stops with an error.
If --disable-bundled is not supplied and no --with-leveldb=DIR was given, the bundled library is built and used.

NOTE: This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 5404dc2 
  src/Makefile.am 0775a0d 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing
-------

../configure
make check

installed leveldb in custom location
../configure --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --disable-bundled
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 23, 2014, 11:17 p.m.)


Review request for mesos and Benjamin Hindman.


Changes
-------

oopsi fixed.


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--disable-bundled generally switches from bundled to preinstalled libraries. For this specific flag, the configuration phase will attempt to locate a preinstalled dependency. If that was not found, we show a warning and fall back to using the bundled version.
If --disable-bundled is supplied and --with-leveldb=DIR was given but the configuration phase could not locate the dependency, it stops with an error.
If --disable-bundled is not supplied and no --with-leveldb=DIR was given, the bundled library is built and used.

NOTE: This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs (updated)
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 5404dc2 
  src/Makefile.am 0775a0d 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing (updated)
-------

../configure
make check

installed leveldb in custom location
../configure --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --disable-bundled
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Mesos ReviewBot <de...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38260
-----------------------------------------------------------


Bad patch!

Reviews applied: [18957]

Failed command: ./configure

Error:
 checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
configure: creating ./config.lt
config.lt: creating libtool
configure: Setting up build environment for x86_64 linux-gnu
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
level db prefix: 
checking leveldb/db.h usability... no
checking leveldb/db.h presence... no
checking for leveldb/db.h... no
configure: error: cannot find libleveldb
-------------------------------------------------------------------
libleveldb is required for mesos to build.
-------------------------------------------------------------------



- Mesos ReviewBot


On March 23, 2014, 9:29 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 23, 2014, 9:29 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries. For this specific flag, the configuration phase will attempt to locate a preinstalled dependency. If that was not found, we show a warning and fall back to using the bundled version.
> If --disable-bundled is supplied and --with-leveldb=DIR was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb=DIR was given, the bundled library is built and used.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --disable-bundled --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 23, 2014, 9:29 p.m.)


Review request for mesos and Benjamin Hindman.


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--disable-bundled generally switches from bundled to preinstalled libraries. For this specific flag, the configuration phase will attempt to locate a preinstalled dependency. If that was not found, we show a warning and fall back to using the bundled version.
If --disable-bundled is supplied and --with-leveldb=DIR was given but the configuration phase could not locate the dependency, it stops with an error.
If --disable-bundled is not supplied and no --with-leveldb=DIR was given, the bundled library is built and used.

NOTE: This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 5404dc2 
  src/Makefile.am 0775a0d 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing (updated)
-------

../configure
make check

installed leveldb in custom location
../configure --disable-bundled --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --disable-bundled
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 23, 2014, 9:28 p.m.)


Review request for mesos and Benjamin Hindman.


Changes
-------

Addressed all comments.


Summary (updated)
-----------------

Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description (updated)
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--disable-bundled generally switches from bundled to preinstalled libraries. For this specific flag, the configuration phase will attempt to locate a preinstalled dependency. If that was not found, we show a warning and fall back to using the bundled version.
If --disable-bundled is supplied and --with-leveldb=DIR was given but the configuration phase could not locate the dependency, it stops with an error.
If --disable-bundled is not supplied and no --with-leveldb=DIR was given, the bundled library is built and used.

NOTE: This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs (updated)
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 5404dc2 
  src/Makefile.am 0775a0d 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing
-------

../configure
make check

installed leveldb in custom location
../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --enable-proper
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.

> On March 22, 2014, 8:14 a.m., Adam B wrote:
> > configure.ac, line 250
> > <https://reviews.apache.org/r/18957/diff/2/?file=522715#file522715line250>
> >
> >     +1 on making this easier to read. Just decoded it and here's my pseudocode interpretation:
> >     if (enable-proper) {
> >       if (with-foo) { add path to flags; }
> >       if (canFind(foo, flags-path)) {
> >         disable building the bundled lib;
> >         set -lfoo to use the preinstalled lib;
> >       } else { Error; }
> >       // Ditto for with-bar, etc.
> >     } else {
> >       use only bundled libs;
> >     }
> >     Two problems with this:
> >     1. Right now we always error&abort if --enable-proper and the external leveldb cannot be found. We should fall back to bundled if --with-leveldb=path is not set.
> >     2. Also, it seems weird that the --with-leveldb=path parameter gets ignored unless I also set --enable-proper. I propose that --enable-proper (or whatever we call it) only applies to auto-detecting preinstalled libraries; explicit --with-foo=path parameters are always used, and we won't fall back to auto-detecting or bundled libraries if it can't be found at the provided path.
> >     Here's what I suggest:
> >     if (with-foo) { add path to flags; }
> >     if (with-foo || enable-system-dependencies) {
> >       if (canFind(foo, flags-path)) {
> >         disable building the bundled lib; set -lfoo;
> >       } else if (with-foo) {
> >         Error(Could not find foo in the given path, aborting);
> >       } else { // enable-system-dependencies
> >         Warn(Could not find foo in system paths, using bundled);
> >         use bundled lib;
> >       }
> >     } else {
> >       use bundled lib;
> >     }
> >     // Ditto for with-bar, etc.

I really like this approach and it seems as if it does fit all demands. Awesome comment Adam, thanks!


- Till


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


On March 17, 2014, 7:51 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 7:51 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --disable-bundled flag as well as the first override implementation --with-leveldb[=DIR]

Posted by "Timothy St. Clair" <ts...@redhat.com>.

> On March 22, 2014, 8:14 a.m., Adam B wrote:
> > configure.ac, line 250
> > <https://reviews.apache.org/r/18957/diff/2/?file=522715#file522715line250>
> >
> >     +1 on making this easier to read. Just decoded it and here's my pseudocode interpretation:
> >     if (enable-proper) {
> >       if (with-foo) { add path to flags; }
> >       if (canFind(foo, flags-path)) {
> >         disable building the bundled lib;
> >         set -lfoo to use the preinstalled lib;
> >       } else { Error; }
> >       // Ditto for with-bar, etc.
> >     } else {
> >       use only bundled libs;
> >     }
> >     Two problems with this:
> >     1. Right now we always error&abort if --enable-proper and the external leveldb cannot be found. We should fall back to bundled if --with-leveldb=path is not set.
> >     2. Also, it seems weird that the --with-leveldb=path parameter gets ignored unless I also set --enable-proper. I propose that --enable-proper (or whatever we call it) only applies to auto-detecting preinstalled libraries; explicit --with-foo=path parameters are always used, and we won't fall back to auto-detecting or bundled libraries if it can't be found at the provided path.
> >     Here's what I suggest:
> >     if (with-foo) { add path to flags; }
> >     if (with-foo || enable-system-dependencies) {
> >       if (canFind(foo, flags-path)) {
> >         disable building the bundled lib; set -lfoo;
> >       } else if (with-foo) {
> >         Error(Could not find foo in the given path, aborting);
> >       } else { // enable-system-dependencies
> >         Warn(Could not find foo in system paths, using bundled);
> >         use bundled lib;
> >       }
> >     } else {
> >       use bundled lib;
> >     }
> >     // Ditto for with-bar, etc.
> 
> Till Toenshoff wrote:
>     I really like this approach and it seems as if it does fit all demands. Awesome comment Adam, thanks!

So I like most of the comments, but IMHO I'm against any auto-fallback mechanism.  From a downstream packaging perspective this is forbidden.  So if the user explicitly set --disable-bundled/--enable-proper/etc it *should fail*.


- Timothy


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


On March 23, 2014, 11:18 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 23, 2014, 11:18 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --disable-bundled generally switches from bundled to preinstalled libraries. For this specific flag, the configuration phase will attempt to locate a preinstalled dependency. If that was not found, we show a warning and fall back to using the bundled version.
> If --disable-bundled is supplied or --with-leveldb=DIR was given but the configuration phase could not locate the dependency, it stops with an error.
> If --disable-bundled is not supplied and no --with-leveldb=DIR was given, the bundled library is built and used.
> 
> NOTE: This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH. Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 5404dc2 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --disable-bundled
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by Adam B <ad...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38247
-----------------------------------------------------------



configure.ac
<https://reviews.apache.org/r/18957/#comment70299>

    +1 on making this easier to read. Just decoded it and here's my pseudocode interpretation:
    if (enable-proper) {
      if (with-foo) { add path to flags; }
      if (canFind(foo, flags-path)) {
        disable building the bundled lib;
        set -lfoo to use the preinstalled lib;
      } else { Error; }
      // Ditto for with-bar, etc.
    } else {
      use only bundled libs;
    }
    Two problems with this:
    1. Right now we always error&abort if --enable-proper and the external leveldb cannot be found. We should fall back to bundled if --with-leveldb=path is not set.
    2. Also, it seems weird that the --with-leveldb=path parameter gets ignored unless I also set --enable-proper. I propose that --enable-proper (or whatever we call it) only applies to auto-detecting preinstalled libraries; explicit --with-foo=path parameters are always used, and we won't fall back to auto-detecting or bundled libraries if it can't be found at the provided path.
    Here's what I suggest:
    if (with-foo) { add path to flags; }
    if (with-foo || enable-system-dependencies) {
      if (canFind(foo, flags-path)) {
        disable building the bundled lib; set -lfoo;
      } else if (with-foo) {
        Error(Could not find foo in the given path, aborting);
      } else { // enable-system-dependencies
        Warn(Could not find foo in system paths, using bundled);
        use bundled lib;
      }
    } else {
      use bundled lib;
    }
    // Ditto for with-bar, etc.


- Adam B


On March 17, 2014, 12:51 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 12:51 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 17, 2014, 7:51 p.m.)


Review request for mesos and Benjamin Hindman.


Changes
-------

assigning to @benjaminhindman to shepherd -- Vinod.


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.

If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.

If --enable-proper is not supplied, the bundled library is built and used.

NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 9a6de87 
  src/Makefile.am 0775a0d 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing
-------

../configure
make check

installed leveldb in custom location
../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --enable-proper
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.

> On March 17, 2014, 4:07 p.m., Timothy St. Clair wrote:
> > configure.ac, line 250
> > <https://reviews.apache.org/r/18957/diff/2/?file=522715#file522715line250>
> >
> >     Given that this block has the potential for becoming large it may be easier to read using 'if test' vs. AS_IF around 'enable_proper'

Well, there is a TODO in our configure.ac that clearly suggests using AS_IF instead of shell-style if's. Personally, I got used to using and reading AS_IFs and prefer them. However, since Adam and you prefer shell-style ifs and since most of the bigger if-clauses are done shell-style, I guess it is for the greater good if I adapt.


> On March 17, 2014, 4:07 p.m., Timothy St. Clair wrote:
> > configure.ac, line 263
> > <https://reviews.apache.org/r/18957/diff/2/?file=522715#file522715line263>
> >
> >     I'm not certain the -lleveldb flag needs to be applied to all, or whether we can call out -lleveldb where needed?  Previously, the linkage of .a's automatically did incremental, but if linking system .so's this could cause unused linkage on executable(s) that didn't actually use the library.

It wont make much difference in the results (linker will only bind if missing symbols are resolved). However, it will possibly increase build-time if those flag-extensions are used globally - so I adapted. 


- Till


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


On March 17, 2014, 7:51 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 7:51 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by "Timothy St. Clair" <ts...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review37383
-----------------------------------------------------------


Looks good, thanks for the patch!  Some minor comments are below.


configure.ac
<https://reviews.apache.org/r/18957/#comment68897>

    Given that this block has the potential for becoming large it may be easier to read using 'if test' vs. AS_IF around 'enable_proper'



configure.ac
<https://reviews.apache.org/r/18957/#comment68898>

    I'm not certain the -lleveldb flag needs to be applied to all, or whether we can call out -lleveldb where needed?  Previously, the linkage of .a's automatically did incremental, but if linking system .so's this could cause unused linkage on executable(s) that didn't actually use the library.  


- Timothy St. Clair


On March 17, 2014, 3:16 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 3:16 p.m.)
> 
> 
> Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas Nielsen, Timothy St. Clair, and Vinod Kone.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by Mesos ReviewBot <de...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review37382
-----------------------------------------------------------


Patch looks great!

Reviews applied: [18957]

All tests passed.

- Mesos ReviewBot


On March 17, 2014, 3:16 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 3:16 p.m.)
> 
> 
> Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas Nielsen, Timothy St. Clair, and Vinod Kone.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]

Posted by Till Toenshoff <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/
-----------------------------------------------------------

(Updated March 17, 2014, 3:16 p.m.)


Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas Nielsen, Timothy St. Clair, and Vinod Kone.


Changes
-------

Entirely revised.


Summary (updated)
-----------------

Added --enable-proper flag as well as its first implementation --with-leveldb[=DIR]


Bugs: MESOS-1071
    https://issues.apache.org/jira/browse/MESOS-1071


Repository: mesos-git


Description (updated)
-------

Allows preventing the use of bundled libraries in favor of preinstalled versions, where possible.

--enable-proper generally switches from bundled to preinstalled libraries. This review only implements this preinstalled library usage on LevelDB. For using the preinstalled LevelDB from a location that is not part of the standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.

If --enable-proper is supplied, the configuration phase will attempt to locate the needed headers as well as the library itself.

If --enable-proper is not supplied, the bundled library is built and used.

NOTE: Subsequent review requests for other bundled libraries will follow as soon as this implementation has been accepted.


Diffs (updated)
-----

  3rdparty/Makefile.am 23ff1fa 
  configure.ac 9a6de87 
  src/Makefile.am 0775a0d 
  src/python/setup.py.in 02f00ef 

Diff: https://reviews.apache.org/r/18957/diff/


Testing (updated)
-------

../configure
make check

installed leveldb in custom location
../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
make check

installed leveldb in common location
../configure --enable-proper
make check


Thanks,

Till Toenshoff


Re: Review Request 18957: Added --without-included-leveldb flag

Posted by "Timothy St. Clair" <ts...@redhat.com>.

> On March 10, 2014, 3:10 p.m., Timothy St. Clair wrote:
> > So IMHO, --without-XYZ will become an onerous pattern to follow when building all of Mesos against system dependencies.  It might make more sense to create a --proper=yes flag, where it searches the system for the dependencies, and fails if it can not find them.

You can still leverage the CPPFLAGS & LDFLAGS as before. 


- Timothy


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


On March 10, 2014, 10:36 a.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 10, 2014, 10:36 a.m.)
> 
> 
> Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas Nielsen, Timothy St. Clair, and Vinod Kone.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of the currently bundled leveldb in favor of a preinstalled version.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 8e1d915 
>   configure.ac 390f11b 
>   src/Makefile.am 384b312 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> OSX: brew installed leveldb comes with activated libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS="-lleveldb -lsnappy"
> make check
> 
> linux: manually installed leveldb without libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS=-lleveldb
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --without-included-leveldb flag

Posted by Till Toenshoff <to...@me.com>.

> On March 10, 2014, 3:10 p.m., Timothy St. Clair wrote:
> > So IMHO, --without-XYZ will become an onerous pattern to follow when building all of Mesos against system dependencies.  It might make more sense to create a --proper=yes flag, where it searches the system for the dependencies, and fails if it can not find them.
> 
> Timothy St. Clair wrote:
>     You can still leverage the CPPFLAGS & LDFLAGS as before.
> 
> Timothy St. Clair wrote:
>     Or perhaps --proper could enable --without-*, that seems like the cleanest solution.

I do not have a strong opinion on this particular detail. We might want to discuss this on the linked JIRA ticket ;)


- Till


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


On March 10, 2014, 10:36 a.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 10, 2014, 10:36 a.m.)
> 
> 
> Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas Nielsen, Timothy St. Clair, and Vinod Kone.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of the currently bundled leveldb in favor of a preinstalled version.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 8e1d915 
>   configure.ac 390f11b 
>   src/Makefile.am 384b312 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> OSX: brew installed leveldb comes with activated libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS="-lleveldb -lsnappy"
> make check
> 
> linux: manually installed leveldb without libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS=-lleveldb
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --without-included-leveldb flag

Posted by "Timothy St. Clair" <ts...@redhat.com>.

> On March 10, 2014, 3:10 p.m., Timothy St. Clair wrote:
> > So IMHO, --without-XYZ will become an onerous pattern to follow when building all of Mesos against system dependencies.  It might make more sense to create a --proper=yes flag, where it searches the system for the dependencies, and fails if it can not find them.
> 
> Timothy St. Clair wrote:
>     You can still leverage the CPPFLAGS & LDFLAGS as before.

Or perhaps --proper could enable --without-*, that seems like the cleanest solution. 


- Timothy


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


On March 10, 2014, 10:36 a.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 10, 2014, 10:36 a.m.)
> 
> 
> Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas Nielsen, Timothy St. Clair, and Vinod Kone.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of the currently bundled leveldb in favor of a preinstalled version.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 8e1d915 
>   configure.ac 390f11b 
>   src/Makefile.am 384b312 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> OSX: brew installed leveldb comes with activated libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS="-lleveldb -lsnappy"
> make check
> 
> linux: manually installed leveldb without libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS=-lleveldb
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>


Re: Review Request 18957: Added --without-included-leveldb flag

Posted by "Timothy St. Clair" <ts...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review36642
-----------------------------------------------------------


So IMHO, --without-XYZ will become an onerous pattern to follow when building all of Mesos against system dependencies.  It might make more sense to create a --proper=yes flag, where it searches the system for the dependencies, and fails if it can not find them. 

- Timothy St. Clair


On March 10, 2014, 10:36 a.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 10, 2014, 10:36 a.m.)
> 
> 
> Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas Nielsen, Timothy St. Clair, and Vinod Kone.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of the currently bundled leveldb in favor of a preinstalled version.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 8e1d915 
>   configure.ac 390f11b 
>   src/Makefile.am 384b312 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> OSX: brew installed leveldb comes with activated libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS="-lleveldb -lsnappy"
> make check
> 
> linux: manually installed leveldb without libsnappy
> ../configure --without-included-leveldb CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS=-lleveldb
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>