Date: Thu, 09 Feb 2012 22:08:03 +0200 From: Andriy Gapon <avg@FreeBSD.org> To: Baptiste Daroussin <bapt@FreeBSD.org> Cc: Alexander Churanov <alexanderchuranov@gmail.com>, freebsd-ports@FreeBSD.org Subject: Re: boost 1.48.0 Message-ID: <4F3427A3.6050407@FreeBSD.org> In-Reply-To: <20120124081455.GI72126@azathoth.lan> References: <4F188891.1050204@FreeBSD.org> <20120119224423.GL4729@azathoth.lan> <4F1918B1.6000603@FreeBSD.org> <20120123171803.GC72126@azathoth.lan> <4F1DCF90.9040702@FreeBSD.org> <20120123212554.GF72126@azathoth.lan> <4F1E6662.8050303@FreeBSD.org> <20120124081455.GI72126@azathoth.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
on 24/01/2012 10:14 Baptiste Daroussin said the following: > On Tue, Jan 24, 2012 at 10:05:54AM +0200, Andriy Gapon wrote: >> on 23/01/2012 23:25 Baptiste Daroussin said the following: >>> I agree this was a fast patching to be able to use it for libreoffice, >>> we should for have a closer look at it. >> >> And, just in case, what I did was put the following line into >> tools/build/v2/user-config.jam: using gcc : 4.6 : g++46 ; >> >> But this is not flexible enough, it seems. > > From what I've looked at this is the right solution: modifying > user-config.jam, we should just be able to do it a flexible way :) Another issue. We definitely need a variant of one patch from the current boost version: --- boostcpp.jam.orig 2012-02-09 19:58:58.785939710 +0200 +++ boostcpp.jam 2012-02-09 19:59:27.145935374 +0200 @@ -154,7 +154,7 @@ rule tag ( name : type ? : property-set # suffixes either. Pgi compilers can not accept library with version # suffix. if $(type) = SHARED_LIB && - ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) && + ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix freebsd ) && ! ( [ $(property-set).get <toolset> ] in pgi ) ) { result = $(result).$(BOOST_VERSION) ; Without this patch we get the following: $ readelf -a /usr/local/lib/libboost_program_options.so.4| fgrep SONAME 0x000000000000000e (SONAME) Library soname: [libboost_program_options.so.1.48.0] But the libraries are installed as .so and .so.4 (current BOOST_SHARED_LIB_VER). Because of the SONAME the run-time linker seems to look for .so.1.48.0 files. Another approach to patching this issue could be replacing $(BOOST_VERSION) with a value of BOOST_SHARED_LIB_VER, so that SONAME entry has a .so.4 form. With the above path the do-install target for shared libs should be changed to this: do-install: # Install libraries .for lib in ${BOOST_LIBS} ${INSTALL_LIB} ${WRKSRC}/stage/lib/libboost_${lib}.so ${PREFIX}/lib/libboost_${lib}.so.${BOOST_SHARED_LIB_VER} -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F3427A3.6050407>