[Bug 1900076] Re: file globbing broken on armhf

Gianfranco Costamagna 1900076 at bugs.launchpad.net
Wed Jul 7 11:04:31 UTC 2021


Hello, I can't reproduce with cmake 3.18 on impish...

CMake Warning (dev) in //CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - 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/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
//./path/1: //./path/1/2: //./path/1/2/3
CMake Warning (dev) in //CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 3.18)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /


same with paths created under /foo/
CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - 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/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
/foo/./path/1: /foo/./path/1/2: /foo/./path/1/2/3
CMake Warning (dev) in CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 3.18)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /foo/bar


** Changed in: cmake (Ubuntu)
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to cmake in Ubuntu.
https://bugs.launchpad.net/bugs/1900076

Title:
  file globbing broken on armhf

Status in cmake package in Ubuntu:
  Fix Released

Bug description:
  Running cmake on ubuntu armhf fails compiler ID detection with errors
  like:

  CMake Error at /usr/share/cmake-3.16/Modules/CMakeCompilerIdDetection.cmake:26 (list):
   list sub-command REMOVE_ITEM requires two or more arguments.
  Call Stack (most recent call first):
   /usr/share/cmake-3.16/Modules/CMakeDetermineCompilerId.cmake:211 (compiler_id_detection)
   /usr/share/cmake-3.16/Modules/CMakeDetermineCompilerId.cmake:230 (CMAKE_DETERMINE_COMPILER_ID_WRITE)
    /usr/share/cmake-3.16/Modules/CMakeDetermineCompilerId.cmake:32 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
    /usr/share/cmake-3.16/Modules/CMakeDetermineCCompiler.cmake:116 (CMAKE_DETERMINE_COMPILER_ID)

  Looking in more detail, the `file(GLOB ...)`s regularly (though not always?) return empty results. For example, with 
  #: mkdir -p path/1/2/3
  #: cat CMakeLists.txt
  file(GLOB p1 "./path/*")
  file(GLOB p2 "./path/1/*")
  file(GLOB p3 "./path/1/2/*")
  message("${p1}: ${p2}: ${p3}")
  #: cmake .

  .. I see on amd64
  /root/./path/1: /root/./path/1/2/: /root/./path/1/2/3

  but on ARMHF just
  : :

  For different choices of path, sometimes I'll get results at some
  depth but not at others.

  tested on Docker amd64/ubuntu:latest and arm32v7/ubuntu:latest +
  build-essential + cmake (3.16.3-1ubuntu1)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cmake/+bug/1900076/+subscriptions



More information about the foundations-bugs mailing list