From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Bavier Subject: Re: [PATCH] gnu: boost: Update to 1.61.0. Date: Mon, 19 Sep 2016 16:09:48 -0500 Message-ID: <79cd9857b728801cd6721dcd8c15882e@openmailbox.org> References: <8737kw2tp8.fsf@gnu.org> <871t0g2o7m.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55409) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bm5pF-0002n3-9a for guix-devel@gnu.org; Mon, 19 Sep 2016 17:10:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bm5pB-0004Bz-0d for guix-devel@gnu.org; Mon, 19 Sep 2016 17:10:04 -0400 Received: from smtp6.openmailbox.org ([62.4.1.40]:47907) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bm5pA-0004Al-Jj for guix-devel@gnu.org; Mon, 19 Sep 2016 17:10:00 -0400 In-Reply-To: <871t0g2o7m.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Roel Janssen Cc: guix-devel@gnu.org, Guix-devel On 2016-09-19 05:11, Roel Janssen wrote: > Roel Janssen writes: > >> Dear Guix, >> >> I don't know what the impact of the following upgrade is, but I think >> it >> would be good to update Boost to the latest stable version that was >> released on May 13th, 2016. >> >> What do you think? >> >> Kind regards, >> Roel Janssen >> >>> From a6409b0648352cac86a3ceb205ee183c034085f5 Mon Sep 17 00:00:00 >>> 2001 >> From: Roel Janssen >> Date: Mon, 19 Sep 2016 10:08:52 +0200 >> Subject: [PATCH] gnu: boost: Update to 1.61.0. >> >> * gnu/packages/boost.scm (boost): Update to 1.61.0. >> --- >> gnu/packages/boost.scm | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm >> index 8fe8c8e..ccc1f06 100644 >> --- a/gnu/packages/boost.scm >> +++ b/gnu/packages/boost.scm >> @@ -34,7 +34,7 @@ >> (define-public boost >> (package >> (name "boost") >> - (version "1.60.0") >> + (version "1.61.0") >> (source (origin >> (method url-fetch) >> (uri (string-append >> @@ -43,7 +43,7 @@ >> ".tar.bz2")) >> (sha256 >> (base32 >> - >> "0fzx6dwqbrkd4bcd8pjv0fpapwmrxxwr8yx9g67lihlsk3zzysk8")))) >> + >> "0h5nk7pgxf7xsvvshj9qfpsfp9wx6gq9r78n3nx736pxq83bsix5")))) >> (build-system gnu-build-system) >> (inputs `(("zlib" ,zlib))) >> (native-inputs > > It looks like an upgrade to 1.61.0 causes a build failure for MySQL: > > -------------------------- BUILD OUTPUT LOG FOR MYSQL > -------------------------- > -- BOOST_VERSION_NUMBER is #define BOOST_VERSION 106100 > CMake Warning at cmake/boost.cmake:266 (MESSAGE): > Boost minor version found is 61 we need 60 > Call Stack (most recent call first): > CMakeLists.txt:455 (INCLUDE) > > > -- BOOST_INCLUDE_DIR /gnu/store/...fzzl-boost-1.61.0/include > -- LOCAL_BOOST_DIR > -- LOCAL_BOOST_ZIP > -- Could not find (the correct version of) boost. > -- MySQL currently requires boost_1_60_0 > > CMake Error at cmake/boost.cmake:81 (MESSAGE): > You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST= > ------------------------ END BUILD OUTPUT LOG FOR MYSQL > ------------------------ > > So I guess the impact is too large to just go for it. > > Do we have a Guix command to find out which packages are dependent on > a package (in this case Boost)? > > Kind regards, > Roel Janssen I looked at this upgrade a few weeks ago. I took a stab at building the complete dependency set, and, for the most part, mysql is the only package that breaks. I fixed this with the below patch (which also enable parallel builds that can improve build times significantly): diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index bb123d3..f3288d1 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -34,7 +34,7 @@ (define-public boost (package (name "boost") - (version "1.60.0") + (version "1.61.0") (source (origin (method url-fetch) (uri (string-append @@ -43,7 +43,7 @@ ".tar.bz2")) (sha256 (base32 - "0fzx6dwqbrkd4bcd8pjv0fpapwmrxxwr8yx9g67lihlsk3zzysk8")))) + "0h5nk7pgxf7xsvvshj9qfpsfp9wx6gq9r78n3nx736pxq83bsix5")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (native-inputs @@ -53,6 +53,7 @@ (arguments (let ((build-flags `("threading=multi" "link=shared" + (format #f "-j~a" (parallel-job-count)) ;; Set the RUNPATH to $libdir so that the libs find each other. (string-append "linkflags=-Wl,-rpath=" diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index e05232d..5d7fe13 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -202,7 +202,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") "11qbib1xpy0zkki7j9ip17hks5kp5zgpcj7x8gy3a4m66lb1mgsh")))) (build-system cmake-build-system) (arguments - '(#:configure-flags + `(#:configure-flags '("-DBUILD_CONFIG=mysql_release" "-DWITH_SSL=system" "-DWITH_ZLIB=system" @@ -229,7 +229,9 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (lambda _ ;; Mysql wants boost-1.59.0 specifically (substitute* "cmake/boost.cmake" - (("59") "60")))) + (("59") + ,(match (string-split (package-version boost) #\.) + ((_ minor . _) minor)))))) (add-after 'install 'remove-extra-binaries (lambda* (#:key outputs #:allow-other-keys) -- `~Eric