bloomberg / bde

Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.
Apache License 2.0
1.67k stars 316 forks source link

Problem configuring BDE with BDE-Tools #291

Open tcanabrava opened 1 year ago

tcanabrava commented 1 year ago

I have only the opensource version of BDE.

➜  bde git:(master) git remote -v
origin  https://github.com/bloomberg/bde.git (fetch)
origin  https://github.com/bloomberg/bde.git (push)

The repository is clean:

➜  bde git:(master) git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

I'm using the latest master of bde-tools to configure the project.

➜  bde git:(master) eval `bde_build_env.py -t cpp17`
Using compiler: gcc-12.2.0
Using ufid: cpp17
Using install directory: /home/tcanabrava/Projects/bde/_install

But I'm unable to configure it:

➜  bde git:(master) cmake_build.py configure        
Configuration cmd:
cmake /home/tcanabrava/Projects/bde -G Ninja -DCMAKE_MODULE_PATH:PATH=/home/tcanabrava/Projects/bde-tools/cmake -DUFID:STRING=cpp17 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBDE_LOG_LEVEL=QUIET -DBUILD_BITNESS=32 -DBDE_USE_WAFSTYLEOUT=OFF -DBDE_CPP11_VERIFY_NO_CHANGE=OFF -DCMAKE_INSTALL_PREFIX=/opt/bb -DCMAKE_INSTALL_LIBDIR=lib -DBDE_TEST_REGEX:STRING= -DCMAKE_TOOLCHAIN_FILE=/home/tcanabrava/Projects/bde-tools/cmake/toolchains/linux/gcc-default.cmake -DCMAKE_PREFIX_PATH:PATH=///opt/bb
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0") 
-- Found Python3: /usr/bin/python3.10 (found version "3.10.9") found components: Interpreter 
-- Found Perl: /usr/bin/perl (found version "5.36.0") 
-- Found sim_cpp11_features.pl in /home/tcanabrava/Projects/bde-tools/contrib/sim_cpp11/sim_cpp11_features.pl
CMake Error at /home/tcanabrava/Projects/bde-tools/cmake/bde_ufid.cmake:212 (message):
  The build type is not set in UFID: cpp17
Call Stack (most recent call first):
  /home/tcanabrava/Projects/bde-tools/cmake/bde_ufid.cmake:755 (bde_parse_ufid)
  /home/tcanabrava/Projects/bde-tools/cmake/layers/ufid.cmake:3 (bde_process_ufid)
  project.cmake:7 (include)
  /home/tcanabrava/Projects/bde-tools/cmake/bde_virtual_function.cmake:12 (include)
  /home/tcanabrava/Projects/bde-tools/cmake/bde_workspace.cmake:29 (bde_load_local_customization)
  CMakeLists.txt:20 (bde_process_workspace)

-- Configuring incomplete, errors occurred!
See also "/home/tcanabrava/Projects/bde/_build/unix-linux-x86_64-6.1.6-gcc-12.2.0-cpp17/CMakeFiles/CMakeOutput.log".
Error: Command '['cmake', '/home/tcanabrava/Projects/bde', '-G', 'Ninja', '-DCMAKE_MODULE_PATH:PATH=/home/tcanabrava/Projects/bde-tools/cmake', '-DUFID:STRING=cpp17', '-DCMAKE_EXPORT_COMPILE_COMMANDS=ON', '-DBDE_LOG_LEVEL=QUIET', '-DBUILD_BITNESS=32', '-DBDE_USE_WAFSTYLEOUT=OFF', '-DBDE_CPP11_VERIFY_NO_CHANGE=OFF', '-DCMAKE_INSTALL_PREFIX=/opt/bb', '-DCMAKE_INSTALL_LIBDIR=lib', '-DBDE_TEST_REGEX:STRING=', '-DCMAKE_TOOLCHAIN_FILE=/home/tcanabrava/Projects/bde-tools/cmake/toolchains/linux/gcc-default.cmake', '-DCMAKE_PREFIX_PATH:PATH=///opt/bb']' returned non-zero exit status 1.
➜  bde git:(master) 

Any help is appreciated.

tcanabrava commented 1 year ago

Ah, the "ufid needs more flags than just cpp17" issue. I have opened a patch here https://github.com/bloomberg/bde-tools/pull/48 that fixes the issue by defaulting to Debug if not set.