tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: boost-libs and option 'icu'



Le 28/08/13 17:46, Richard PALO a écrit :
Le 28/08/13 13:14, Thomas Klausner a écrit :
On Wed, Aug 28, 2013 at 01:07:27AM +0200, Richard PALO wrote:
Hi, this has been lingering for awhile...

On Solaris, when boost-libs is built with the option 'icu', PLIST is
missing the following:
lib/libboost_locale.a
lib/libboost_locale.so
lib/libboost_locale.so.${BOOST_VERSION}

The following PLISTs have the above entries, albeit non parameterised:
PLIST.Darwin
PLIST.DragonFly
PLIST.Linux
PLIST.NetBSD

I have prepared a patch with a global PLIST variable 'icu' at

http://www.netbsd.org/~richard/boost-icu.patch

effectively adding to PLIST:
${PLIST.icu}lib/libboost_locale.a
${PLIST.icu}lib/libboost_locale.so
${PLIST.icu}lib/libboost_locale.so.${BOOST_VERSION}

I'd like to make sure that no platform generates these libs
*without* the 'icu' option, in which case I will simply use
PLIST.SunOS and let the other platform deal with it themselves
(since nobody has parameterised it already :-)

Could I get the above platforms to confirm please?

If I build boost-libs with your patch on NetBSD-6.99.23/amd64, it
fails with:

=> Automatic manual page handling
=> Generating post-install file lists
=> Checking file-check results for boost-libs-1.53.0
ERROR: ************************************************************
ERROR: The following files are in
/scratch/devel/boost-libs/work/.destdir/usr/pkg but not in the PLIST:
ERROR:
/scratch/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_locale.a
ERROR:
/scratch/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_locale.so
ERROR:
/scratch/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_locale.so.1.53.0

*** Error code 1

  Thomas


Well, that confirms that the original package is broke with respect to
locale.

 From the webpage:
http://www.boost.org/doc/libs/1_51_0/libs/locale/doc/html/building_boost_locale.html


Building Boost.Locale
Dependencies

    ICU library 3.6 or above is strongly recommended
    If no ICU library is given, iconv support is required under POSIX
platforms.

and further down:
Build Options

Boost.Locale supports following options with values off or on

    boost.locale.icu=off disable build of ICU backend even if ICU
library exists
    boost.locale.iconv=off or boost.locale.iconv=on enable or disable
use of iconv library. It is off by default on Windows and Solaris
    boost.locale.winapi=off - disable winapi backend, it is on by
default on Windows and Cygwin
    boost.locale.std=off or boost.locale.winapi=on Disable or enable
std backends. std backend is disabled by default when using Sun Studio.
    boost.locale.posix=on or boost.locale.posix=off Enable or disable
support of POSIX backend, it is on by default on Linux and Mac OS X

Also Boost.Locale supports following options

    -sICU_PATH=/path/to/location/of/icu - the location of custom ICU
library
    -sICONV_PATH=/path/to/location/of/iconv - the location of custom
iconv library

It appears that at least three problems exist:
1. 'libiconv' isn't being included, nor is ICONV_PATH specified
2. 'icu' is not disabled by default, but automatically detected
    whereas in pkgsrc an option should either be enabled or disabled in
    accordance to the option selection.
3. ICU_PATH=${PREFIX} seems ok only for a *pkgsrc* icu, as there
    doesn't seem to be any specific builtin support yet.
    This is probably why it works to get the locale libraries on solaris.




I guess I need to add another anomoly:

I seem to always have a file called 'Building' put in pkgsrc/devel/boost-libs when I build. That seems quite unappropriate.



Home | Main Index | Thread Index | Old Index