I can no longer compile Widelands-build17 against boost since it's rebuild
on Aug. 9, 2012.
Code:
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1200 (message):
Unable to find the requested Boost libraries.
Boost version: 1.49.0
Boost include path: /usr/include
The following Boost libraries could not be found:
boost_signals
No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
I noticed /usr/lib64/libboost_signals.a is lost with the recent rebuild.
(This might cause the error?)
These are the changes boost.SlackBuild received on Aug. 9:
Code:
--- a/boost.SlackBuild 2012-05-14 08:12:23.596011305 -0400
+++ b/boost.SlackBuild 2012-07-28 17:05:40.000000000 -0400
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2007, 2008, 2012 Eric Hameleers, Eindhoven, NL
-# Copyright 2007-2008 Heinz Wiesinger
+# Copyright 2007-2008, 2012 Heinz Wiesinger, Amsterdam, NL
# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -29,10 +29,11 @@
PKGNAM=boost
VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z* | rev | cut -f 3- -d . | rev | cut -f 2- -d _)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
ICU=${ICU:-no}
PKG_VERSION=$(echo $VERSION | tr _ .) # Leave this alone
+NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -100,19 +101,10 @@
# Create build subdirectory
mkdir obj
-# Change the build options from 'minimal' to what we want, since adding
-# "-sBUILD=<optimization>speed <inlining>full <threading>single/multi
-# <link>shared <runtime-link>shared" to $BJAM command no longer seems to work.
-FLAGS="<threading>multi <threading>single <optimization>speed <inlining>full"
-sed -i "s/ <threading>multi/ $FLAGS/" Jamroot
-# Disable static libraries ( the only software that *requires* the static libs,
-# is Microsoft's CW compiler (CW or Comega is an experimental language which
-# extends C# )
-sed -i "s/<link>shared <link>static/<link>shared/" Jamroot
-
# Next, we build boost using bjam
$BJAM \
release \
+ $NUMJOBS \
"-sNO_COMPRESSION=0" \
"-sZLIB_INCLUDE=/usr/include" \
"-sZLIB_LIBPATH=/usr/lib${LIBDIRSUFFIX}" \
@@ -120,12 +112,16 @@
"-sBZIP2_LIBPATH=/usr/lib${LIBDIRSUFFIX}" \
"-sEXPAT_INCLUDE=/usr/include" \
"-sEXPAT_LIBPATH=/usr/lib${LIBDIRSUFFIX}" \
- --toolset=gcc \
--layout=system \
--builddir=obj \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--build-type=minimal \
+ toolset=gcc \
+ variant=release \
+ link=shared \
+ threading=multi \
+ runtime-link=shared \
$PYTHON_FLAGS \
stage
@@ -136,12 +132,16 @@
release \
"-sEXPAT_INCLUDE=/usr/include" \
"-sEXPAT_LIBPATH=/usr/lib${LIBDIRSUFFIX}" \
- --toolset=gcc \
--layout=system \
--builddir=obj \
--prefix=$PKG/usr \
--libdir=$PKG/usr/lib${LIBDIRSUFFIX} \
--build-type=minimal \
+ toolset=gcc \
+ variant=release \
+ link=shared \
+ threading=multi \
+ runtime-link=shared \
$PYTHON_FLAGS \
install
The game works OK if I recompile boost using the previous Slackbuild.
Incidentally, Widelands requires lua 5.1.5 (not lua52), SDL_gfx (used 2.0.24),
and no longer requires ggz-base-libs.
But does require a simple patch for our gcc 4.7.1.
Code:
diff -up widelands-build17-src/src/main.cc.old widelands-build17-src/src/main.cc
--- widelands-build17-src/src/main.cc.old 2012-04-23 05:46:49.000000000 -0400
+++ widelands-build17-src/src/main.cc 2012-07-23 20:29:13.781873959 -0400
@@ -24,6 +24,7 @@
#include "wlapplication.h"
#include <config.h>
+#include <unistd.h>
#include <iostream>
#include <stdexcept>