Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-9037

cmake/ninja/ccache cannot handle commas in directory name

      I accidentally made a typo in a tree I was creating today and the build failed because it had a comma in it. I did not notice because I was using shell args and not retyping the directory name for the cd command.

      Steps to reproduce:

      1. Create a fresh clone/tree and call it wt,.test.
      2. cd wt,.test
      3. mkdir build; cd build
      4. cmake -DHAVE_BUILTIN_EXTENSION_ZLIB=1 -DHAVE_BUILTIN_EXTENSION_ZSTD=1 -DHAVE_DIAGNOSTIC=1 -DENABLE_STRICT=1 -DENABLE_PYTHON=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DCC_OPTIMIZE_LEVEL=-O0 -G Ninja ../. && ninja

      Ninja will compile the modules but then fails linking the wt utility:

      [256/528] Linking C executable wt
      FAILED: wt 
      : && ccache /usr/bin/cc -D_GNU_SOURCE -DHAVE_X86INTRIN_H -g -O0   src/utilities/CMakeFiles/wt.dir/util_main.c.o 
      ...
      src/utilities/CMakeFiles/wt.dir/util_verify.c.o src/utilities/CMakeFiles/wt.dir/util_write.c.o  -o wt  -Wl,-rpath,/mnt/data0/sue/wt,.test/build: libwiredtiger.so.10.0.2 -lpthread /usr/lib/x86_64-linux-gnu/librt.so /usr/lib/x86_64-linux-gnu/libdl.so && :
      /usr/bin/ld: cannot find .test/build:: No such file or directory
      collect2: error: ld returned 1 exit status
      

      In particular, notice the /usr/bin/ld: cannot find .test/build piece where it stripped off the wt,.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            sue.loverso@mongodb.com Susan LoVerso
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: