[odb-users] libodb-mysql: no rule to update odb\mysql\details\(c|i|h)xx{options}

Feiyun Wang feiyunw at yahoo.com
Thu May 31 11:04:21 EDT 2018


Hi, 

I got some error when building libodb-mysql with build2 and VS2017: 
```` 
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community>set PATH=C:\build2\bin;%PATH% 

D:\Program Files (x86)\Microsoft Visual Studio\2017\Community>cd /d d:\prj\odb\ 

d:\prj\odb>mkdir libodb-vs2017-release 

d:\prj\odb>b config.cxx=cl config.cc.coptions=/O2 "configure(libodb/@libodb-vs2017-release/)" 
... 

d:\prj\odb>b libodb-vs2017-release/ 
... 

d:\prj\odb>mkdir libmysqlclient-vs2017-release 

d:\prj\odb>b config.cxx=cl config.cc.coptions="/O2 /wd4819" "configure(libmysqlclient/@libmysqlclient-vs2017-release/)" 
... 

d:\prj\odb>b libmysqlclient-vs2017-release/ 
... 

d:\prj\odb>mkdir libodb-mysql-vs2017-release 

d:\prj\odb>b config.cxx=cl config.cc.coptions=/O2 config.import.libmysqlclient=libmysqlclient-vs2017-release/ config.import.libodb=libodb-vs2017-release/ "configure(libodb-mysql/@libodb-mysql-vs2017-release/)" 
mkdir -p libodb-mysql-vs2017-release\build\ 
save libodb-mysql-vs2017-release\build\config.build 
mkdir -p libodb-mysql-vs2017-release\tests\build\ 
save libodb-mysql-vs2017-release\tests\build\config.build 

d:\prj\odb>b libodb-mysql-vs2017-release/ 
error: no rule to update libodb-mysql-vs2017-release\odb\mysql\details\cxx{options} 
  info: re-run with --verbose 4 for more information 
  info: while applying rule cxx.compile to update libodb-mysql-vs2017-release\odb\mysql\details\obja{options} 
  info: while applying rule cxx.link to update libodb-mysql-vs2017-release\odb\mysql\liba{odb-mysql} 
  info: while applying rule bin.lib to update libodb-mysql-vs2017-release\odb\mysql\lib{odb-mysql} 
  info: while applying rule alias to update libodb-mysql-vs2017-release\odb\dir{mysql\} 
  info: while applying rule alias to update libodb-mysql-vs2017-release\dir{odb\} 
  info: while applying rule alias to update dir{libodb-mysql-vs2017-release\} 
mkdir libodb-mysql-vs2017-release\fsdir{odb\} 
mkdir libodb-mysql-vs2017-release\odb\fsdir{mysql\} 
error: no rule to update libodb-mysql-vs2017-release\odb\mysql\details\ixx{options} 
  info: re-run with --verbose 4 for more information 
  info: while applying rule cxx.link to update libodb-mysql-vs2017-release\odb\mysql\liba{odb-mysql} 
  info: while applying rule bin.lib to update libodb-mysql-vs2017-release\odb\mysql\lib{odb-mysql} 
  info: while applying rule alias to update libodb-mysql-vs2017-release\odb\dir{mysql\} 
  info: while applying rule alias to update libodb-mysql-vs2017-release\dir{odb\} 
  info: while applying rule alias to update dir{libodb-mysql-vs2017-release\} 
error: no rule to update libodb-mysql-vs2017-release\odb\mysql\details\hxx{options} 
  info: re-run with --verbose 4 for more information 
  info: while applying rule cxx.link to update libodb-mysql-vs2017-release\odb\mysql\liba{odb-mysql} 
  info: while applying rule bin.lib to update libodb-mysql-vs2017-release\odb\mysql\lib{odb-mysql} 
  info: while applying rule alias to update libodb-mysql-vs2017-release\odb\dir{mysql\} 
  info: while applying rule alias to update libodb-mysql-vs2017-release\dir{odb\} 
  info: while applying rule alias to update dir{libodb-mysql-vs2017-release\} 
ver libodb-mysql\odb\mysql\version-build2.hxx.in 
info: failed to update dir{libodb-mysql-vs2017-release\} 

d:\prj\odb>b --verbose 4 libodb-mysql-vs2017-release/ 
... 
cl -ID:\prj\odb\libodb-vs2017-release -ID:\prj\odb\libodb -DLIBODB_BUILD2 -DLIBODB_SHARED -ID:\prj\odb\libmysqlclient-vs2017-release -ID:\prj\odb\libmysqlclient -ID:\prj\odb\libodb-mysql-vs2017-release -ID:\prj\odb\libodb-mysql -DLIBODB_MYSQL_BUILD2 -DLIBODB_MYSQL_SHARED_BUILD /O2 /nologo /EHsc /MD /P /showIncludes /C /WX /Fi: D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\traits.dll.obj.ii /TP D:\prj\odb\libodb-mysql\odb\mysql\traits.cxx 
trace: cxx::compile_rule::extract_headers: non-existent header 'odb/mysql/details/options.hxx' 
trace: cxx::compile_rule::append_prefixes: overriding dependency prefix odb\ 
  existing mapping to D:\prj\odb\libodb-mysql-vs2017-release\ priority 1 
  new mapping to      D:\prj\odb\libodb-vs2017-release\ priority 0 
trace: cxx::compile_rule::extract_headers: mapped as auto-generated D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\options.hxx 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\hxx{options.hxx} 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\hxx{options.hxx} 
trace: file_rule::match: no existing file for target D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\hxx{options.hxx} 
error: no rule to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\hxx{options.hxx} 
  info: while extracting header dependencies from D:\prj\odb\libodb-mysql\odb\mysql\cxx{database.cxx}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\ 
  info: while applying rule cxx.compile to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\objs{database.dll.obj} 
  info: while applying rule cxx.link to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\libs{odb-mysql.dll} 
  info: while applying rule bin.lib to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\lib{odb-mysql} 
  info: while applying rule alias to update D:\prj\odb\libodb-mysql-vs2017-release\odb\dir{mysql\} 
  info: while applying rule alias to update D:\prj\odb\libodb-mysql-vs2017-release\dir{odb\} 
  info: while applying rule alias to update D:\prj\odb\dir{libodb-mysql-vs2017-release\} 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\build2\h{config.h}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\build2\ 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\build2\h{config.h}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\build2\ 
cl -ID:\prj\odb\libodb-vs2017-release -ID:\prj\odb\libodb -DLIBODB_BUILD2 -DLIBODB_STATIC -ID:\prj\odb\libmysqlclient-vs2017-release -ID:\prj\odb\libmysqlclient -ID:\prj\odb\libodb-mysql-vs2017-release -ID:\prj\odb\libodb-mysql -DLIBODB_MYSQL_BUILD2 -DLIBODB_MYSQL_STATIC_BUILD /O2 /nologo /EHsc /MD /P /showIncludes /C /WX /Fi: D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\traits.lib.obj.ii /TP D:\prj\odb\libodb-mysql\odb\mysql\traits.cxx 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\build2\h{config-vc.h}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\build2\ 
cl -ID:\prj\odb\libodb-vs2017-release -ID:\prj\odb\libodb -DLIBODB_BUILD2 -DLIBODB_STATIC -ID:\prj\odb\libmysqlclient-vs2017-release -ID:\prj\odb\libmysqlclient -ID:\prj\odb\libodb-mysql-vs2017-release -ID:\prj\odb\libodb-mysql -DLIBODB_MYSQL_BUILD2 -DLIBODB_MYSQL_STATIC_BUILD /O2 /nologo /EHsc /MD /P /showIncludes /C /WX /Fi: D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\transaction-impl.lib.obj.ii /TP D:\prj\odb\libodb-mysql\odb\mysql\transaction-impl.cxx 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\build2\h{config-vc.h}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\build2\ 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\cxx{transaction.cxx}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\ 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\build2\h{config-vc-stub.h}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\build2\ 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\cxx{transaction.cxx}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\ 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\build2\h{config-vc-stub.h}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\build2\ 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\hxx{config.hxx}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ 
cl -ID:\prj\odb\libodb-vs2017-release -ID:\prj\odb\libodb -DLIBODB_BUILD2 -DLIBODB_STATIC -ID:\prj\odb\libmysqlclient-vs2017-release -ID:\prj\odb\libmysqlclient -ID:\prj\odb\libodb-mysql-vs2017-release -ID:\prj\odb\libodb-mysql -DLIBODB_MYSQL_BUILD2 -DLIBODB_MYSQL_STATIC_BUILD /O2 /nologo /EHsc /MD /P /showIncludes /C /WX /Fi: D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\transaction.lib.obj.ii /TP D:\prj\odb\libodb-mysql\odb\mysql\transaction.cxx 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\build2\h{config-stub.h}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\build2\ 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\hxx{config.hxx}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\build2\h{config-stub.h}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\build2\ 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\hxx{conversion.hxx}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ 
trace: search_existing_file: no existing file for prerequisite D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\:details\cxx{options.?} 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\hxx{export.hxx}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\hxx{conversion.hxx}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\cxx{options.?} 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql\odb\mysql\details\hxx{export.hxx}@D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ 
trace: version::in_rule::match: no manifest prerequisite for target D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ixx{options.?} 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\cxx{options.?} 
trace: version::in_rule::match: no in file prerequisite for target D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ixx{options.?} 
trace: file_rule::match: no existing file for target D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\cxx{options.cxx} 
trace: file_rule::match: no existing file for target D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ixx{options.ixx} 
error: no rule to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\cxx{options.cxx} 
  info: while applying rule cxx.compile to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\obja{options.lib.obj} 
  info: while applying rule cxx.link to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\liba{odb-mysql.lib} 
  info: while applying rule bin.lib to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\lib{odb-mysql} 
  info: while applying rule alias to update D:\prj\odb\libodb-mysql-vs2017-release\odb\dir{mysql\} 
  info: while applying rule alias to update D:\prj\odb\libodb-mysql-vs2017-release\dir{odb\} 
  info: while applying rule alias to update D:\prj\odb\dir{libodb-mysql-vs2017-release\} 
error: no rule to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\ixx{options.ixx} 
  info: while applying rule cxx.link to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\liba{odb-mysql.lib} 
  info: while applying rule bin.lib to update D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\lib{odb-mysql} 
  info: while applying rule alias to update D:\prj\odb\libodb-mysql-vs2017-release\odb\dir{mysql\} 
  info: while applying rule alias to update D:\prj\odb\libodb-mysql-vs2017-release\dir{odb\} 
  info: while applying rule alias to update D:\prj\odb\dir{libodb-mysql-vs2017-release\} 
cl -ID:\prj\odb\libodb-vs2017-release -ID:\prj\odb\libodb -DLIBODB_BUILD2 -DLIBODB_SHARED -ID:\prj\odb\libmysqlclient-vs2017-release -ID:\prj\odb\libmysqlclient -ID:\prj\odb\libodb-mysql-vs2017-release -ID:\prj\odb\libodb-mysql -DLIBODB_MYSQL_BUILD2 -DLIBODB_MYSQL_SHARED_BUILD /O2 /nologo /EHsc /MD /P /showIncludes /C /WX /Fi: D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\transaction.dll.obj.ii /TP D:\prj\odb\libodb-mysql\odb\mysql\transaction.cxx 
trace: cxx::compile_rule::extract_headers: non-existent header 'odb/mysql/details/options.hxx' 
trace: cxx::compile_rule::append_prefixes: overriding dependency prefix odb\ 
  existing mapping to D:\prj\odb\libodb-mysql-vs2017-release\ priority 1 
  new mapping to      D:\prj\odb\libodb-vs2017-release\ priority 0 
trace: cxx::compile_rule::extract_headers: mapped as auto-generated D:\prj\odb\libodb-mysql-vs2017-release\odb\mysql\details\options.hxx 
info: failed to update D:\prj\odb\dir{libodb-mysql-vs2017-release\} 

d:\prj\odb> 
```` 

My test versions are:
- libodb-mysql 
Revision: dcd4b078c8da2ab68cb8fdadac52cae4499dd502 
Author: Boris Kolpackov <boris at codesynthesis.com> 
Date: 2018/5/29 21:18:38 
Message: 
Adjust external dependencies to use ^-constraint 

- libodb 
Revision: 0930b3a28774175e3a984b6d77e3f7587f2844af 
Author: Boris Kolpackov <boris at codesynthesis.com> 
Date: 2018/5/29 20:46:09 
Message: 
Bump version to 2.5.0-b.7 

- libmysqlclient 
Revision: a3852af60947ee6073818b70783f0b82b4813001 
Author: Boris Kolpackov <boris at codesynthesis.com> 
Date: 2018/5/31 15:10:07 
Message: 
Bump version to 5.7.20+1, master is open for business 

Sincerely, 
Feiyun Wang



More information about the odb-users mailing list