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 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.





Home | Main Index | Thread Index | Old Index