Bug #72185 Relative path for WITH_BOOST doesn't work
Submitted: 1 Apr 2014 13:07 Modified: 30 May 2014 14:01
Reporter: Hartmut Holzgraefe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:mysql-5.7.4-labs-april OS:Linux
Assigned to: Tor Didriksen CPU Architecture:Any

[1 Apr 2014 13:07] Hartmut Holzgraefe
Description:
As I build all MySQL releases from the same master folder
I decided to have my_boost in that folder and just use
the same relative ../../my_boost WITH_BOOST path for all
future builds ... the relative path got accepted, the
directory was created and the boost tarball downloaded
into it, but then things started to fail:

_build > cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../../my_boost
[...]
-- Local boost dir LOCAL_BOOST_DIR-NOTFOUND
-- Local boost zip LOCAL_BOOST_ZIP-NOTFOUND
-- Downloading boost_1_55_0.tar.gz to ../../my_boost
-- [download 0% complete]
[...]
-- [download 100% complete]
-- tar xfz ../../my_boost/boost_1_55_0.tar.gz boost_1_55_0/boost
CMake Error: Problem with archive_read_open_file(): Failed to open '../../my_boost/boost_1_55_0.tar.gz'
CMake Error: Problem extracting tar: ../../my_boost/boost_1_55_0.tar.gz
-- BOOST_VERSION_NUMBER #define BOOST_VERSION 105400
CMake Warning at cmake/boost.cmake:175 (MESSAGE):
  Boost minor version found is 54 we need 55
Call Stack (most recent call first):
  CMakeLists.txt:461 (INCLUDE)

CMake Error at cmake/boost.cmake:36 (MESSAGE):
  Could not find boost.  You can download it with -DDOWNLOAD_BOOST=1
  -DWITH_BOOST=<directory>
Call Stack (most recent call first):
  cmake/boost.cmake:178 (COULD_NOT_FIND_BOOST)
  CMakeLists.txt:461 (INCLUDE)

-- Configuring incomplete, errors occurred!

How to repeat:
Use relative path for -DWITH_BOOST

Suggested fix:
Either work correctly if a relative path is given, or add a check that makes sure that only absolute paths are accepted, but not relative ones ...
[30 May 2014 14:01] Paul DuBois
Fixed in 5.7.5.

Affects no released versions. No changelog entry needed.