Boost logo

Boost-Build :

Subject: [Boost-build] problem with package.install
From: Shridhar Daithankar (ghodechhap_at_[hidden])
Date: 2010-05-01 09:53:40


Hello,

I have a project built with boost build and the install target using package.install was working fine. Sometime back an 'svn update' of boost build broke that. Sadly, since I don't test install frequently, I don't know exactly when it happened.

The jamfile, in $(TOPDIR)/utils,
--------------------
project cameoutils : usage-requirements <include>include ;

lib dl ;
lib ssl ;
lib cmsutils : filebuffer.cpp library.cpp executor.cpp
        dl ssl
        /boost//filesystem/<variant>release
        : <include>include ;

build-project test ;

import package ;
package.install install : : : cmsutils ;
explicit install ;

--------------------

The error
--------------------
$(BOOST_BUILD_PATH)/build/virtual-target.jam:1066: in virtual-target.register-actual-name from module virtual-target
error: Duplicate name of actual target: <p/home/shridhar/lib>libcmsutils.so
error: previous virtual target { common%common.copy-libcmsutils.so.SHARED_LIB { gcc%gcc.link.dll-libcmsutils.so.SHARED_LIB { gcc%gcc.compile.c++-filebuffer.o.OBJ { filebuffer.cpp.CPP } } { gcc%gcc.compile.c++-library.o.OBJ { library.cpp.CPP } } { gcc%gcc.compile.c++-executor.o.OBJ { executor.cpp.CPP } } } }
error: created from utils/install-lib-shared-universe
error: another virtual target { gcc%gcc.link.dll-libcmsutils.so.SHARED_LIB { gcc%gcc.compile.c++-filebuffer.o.OBJ { filebuffer.cpp.CPP } } { gcc%gcc.compile.c++-library.o.OBJ { library.cpp.CPP } } { gcc%gcc.compile.c++-executor.o.OBJ { executor.cpp.CPP } } }
error: created from utils/cmsutils
error: added properties: <dll-path>/usr/lib
error: removed properties: none
$(BOOST_BUILD_PATH)/build/virtual-target.jam:490: in actualize-no-scanner from module object(file-target)@919
$(BOOST_BUILD_PATH)/build/virtual-target.jam:135: in object(file-target)@919.actualize from module object(file-target)@919
$(BOOST_BUILD_PATH)/build-system.jam:748: in load from module build-system
$(BOOST_BUILD_PATH)/kernel/modules.jam:283: in import from module modules
$(BOOST_BUILD_PATH)/kernel/bootstrap.jam:142: in boost-build from module
$(BOOST_BUILD_PATH)/boost-build.jam:8: in module scope from module
--------------------

Hence I tried a simple project that uses install target and it works. The library is installed as expected?
--------------------
using gcc ;
lib testlib : lib.cpp ;

import package ;
package.install install : : : testlib ;
explicit install ;
--------------------

I am using bjam 3.1.17, as shipped with boost-1.41 but svn boost-build(I know this could cause problems but it has worked for me so far and I need project-config support, which I believe is a later improvement).

Thanks for the help :)

-- 
Regards 
 Shridhar

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk