[build2] how to build the latest build2 version?

Moldmann Max (DC-MA/ENG52-NA) Max.Moldmann at boschrexroth-us.com
Tue Mar 21 15:05:43 UTC 2017


Hello Boris,



First thanks for making build2!

It looks very promising!



I bootstrapped version 0.4.0 on Windows - though it was a rough ride. I had to resort to the manual steps which you describe in the installation document (https://build2.org/build2-toolchain/doc/build2-toolchain-install.xhtml). And I ran into several problems like these:

* Problem: msys64\usr\bin\gzip.exe: *** fatal error - cygheap base mismatch detected

   Solution: Remove \msys64\usr\bin from path due to some cygwin version incompatibilities (cygwin1.dll)

* Copy missing dll's from the build2-build directory tree to the build2/bin folder


But now I am eager to try out the latest development versions of build2 especially the new parallel build support.
I cloned and updated the toolchain repo with its subrepo's. But I couldn't figure out how to successfully build the latest version of master (aka 0.5.0-a1).

Here is a summary of what I tried:

I first tried to copy the bootstrap folder to have a new build2-toolchain- 0.5.0-a1 filled with updated files from the toolchain Git repo, which didn't work well with the bpkg command.

Then I tried to execute build-mingw.bat in the toolchain Git repo.
First I got errors referring to problems with the doc build targets. Looks like a problem you only get on the Windows platform:

build2\b-boot config.cxx=c:\Tools\mingw-w64\mingw64\bin\g++.exe config.bin.lib=static
error: no rule to update doc{INSTALL}
  info: re-run with --verbose 4 for more information
  info: while applying rule alias to update dir{.\}
error: no rule to update doc\doc{build2-build-system-manual-letter.ps}
  info: re-run with --verbose 4 for more information
  info: while applying rule alias to update dir{doc\}
  info: while applying rule alias to update dir{.\}
[...]
info: failed to update dir{.\}

Then I manually removed the doc targets out of every buildfile.
Then options.*xx files were missing inside the libodb-sqlite folder and had to be substituted from the folder containing the 0.4.0 bootstrap. E.g. see below.
Also lots of files were missing in the bpkg folder.

build2\build2\b-boot --verbose 4 install
[...]
error: no rule to update (for install) C:\build2-toolchain\libodb-sqlite\odb\sqlite\details\hxx{options.hxx}
  info: while applying rule cxx.link to update (for install) C:\build2-toolchain\libodb-sqlite\odb\sqlite\libs{odb-sqlite.dll}
  info: while applying rule bin.lib to update (for install) C:\build2-toolchain\libodb-sqlite\odb\sqlite\lib{odb-sqlite}
  info: while applying rule install.alias to update (for install) dir{C:\build2-toolchain\libodb-sqlite\odb\sqlite\}
  info: while applying rule install.alias to update (for install) dir{C:\build2-toolchain\libodb-sqlite\}
  info: while applying rule install.alias to update (for install) dir{C:\build2-toolchain\}
c:\Tools\mingw-w64\mingw64\bin\g++.exe -IC:\build2-toolchain\libodb -DLIBODB_BUILD2 -DLIBODB_SHARED -IC:\build2-toolchain\libsqlite3\sqlite3 -DSQLITE_API=__declspec(dllimport) -IC:\build2-toolchain\libodb-sqlite -IC:\build2-toolchain\libodb-sqlite -DLIBODB_SQLITE_BUILD2 -DLIBODB_SQLITE_SHARED_BUILD -std=c++0x -M -MG -MQ ^ C:\build2-toolchain\libodb-sqlite\odb\sqlite\database.cxx
c:\Tools\mingw-w64\mingw64\bin\g++.exe -IC:\build2-toolchain\libodb -DLIBODB_BUILD2 -DLIBODB_STATIC -IC:\build2-toolchain\libsqlite3\sqlite3 -IC:\build2-toolchain\libodb-sqlite -IC:\build2-toolchain\libodb-sqlite -DLIBODB_SQLITE_BUILD2 -DLIBODB_SQLITE_STATIC_BUILD -std=c++0x -M -MG -MQ ^ C:\build2-toolchain\libodb-sqlite\odb\sqlite\database.cxx
trace: cxx::compile::inject: non-existent header 'odb\sqlite\details\options.hxx'
trace: cxx::compile::inject: mapped as auto-generated C:\build2-toolchain\libodb-sqlite\odb\sqlite\details\options.hxx
trace: cxx::compile::inject: non-existent header 'odb\sqlite\details\options.hxx'
trace: cxx::compile::inject: mapped as auto-generated C:\build2-toolchain\libodb-sqlite\odb\sqlite\details\options.hxx
info: failed to update (for install) dir{C:\build2-toolchain\}

Still remaining problems:
I got lots of errors like this: #error ODB runtime version mismatch
And some of the substituted files from 0.4.0 obviously need newer versions.

Could you please include a section in the installation manual on how to build the latest development version on the master branch!?

Thanks and kind regards,

Max
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.build2.org/archives/users/attachments/20170321/96ba8887/attachment.html>


More information about the users mailing list