[Bug 280828] Missing C++ include directories

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 15 Aug 2024 10:45:31 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280828

            Bug ID: 280828
           Summary: Missing C++ include directories
           Product: Base System
           Version: 14.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Keywords: pkgbase, toolchain
          Severity: Affects Many People
          Priority: ---
         Component: conf
          Assignee: bugs@FreeBSD.org
          Reporter: feh@fehcom.de

Hi,

I've recently updated my development server from 13.3. to 14.1:

[sqmail@bigchief /usr/include/c++/v1]$ uname -a
FreeBSD bigchief.fehnet.de 14.1-RELEASE-p3 FreeBSD 14.1-RELEASE-p3 GENERIC
amd64

Under /usr/include/c++/v1 I observe (among many others) the following list of
include directories:

...
drwxr-xr-x   2 root wheel    512 Aug  7 19:51 __numeric
drwxr-xr-x   2 root wheel   1536 Aug  7 19:51 __random
drwxr-xr-x   2 root wheel   1024 Aug  7 19:51 __ranges
-r--r--r--   1 root wheel  24532 Aug  7 19:51 __split_buffer
-r--r--r--   1 root wheel   5178 Aug  7 19:51 __std_clang_module
-r--r--r--   1 root wheel  10567 Jun  9  2022 __std_stream
-r--r--r--   1 root wheel  47182 Aug 30  2023 __string
drwxr-xr-x   2 root wheel    512 Aug  7 19:51 __thread
-r--r--r--   1 root wheel  15242 Aug  7 19:51 __threading_support
-r--r--r--   1 root wheel  93685 Aug  7 19:51 __tree
-r--r--r--   1 root wheel  20564 Aug 30  2023 __tuple
-r--r--r--   1 root wheel   1047 Aug 30  2023 __undef_macros
drwxr-xr-x   2 root wheel    512 Aug  7 19:51 __utility
drwxr-xr-x   2 root wheel    512 Aug  7 19:51 __variant
..

I assume, those are part of llvm16, which is successfull installed:

root@bigchief:/usr/include/c++/v1 # pkg check -s llvm16
Checking llvm16: 100%
--

On a FreeBSD 14.1 natively installed 

[erwin@amr5:v1] $ uname -a
FreeBSD amr5 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8
GENERIC amd64

I get the following list of include directories under /usr/include/c++/v1:

drwxr-xr-x   2 root wheel     18  5 Juni 11:38 __numeric
drwxr-xr-x   2 root wheel     39  5 Juni 11:38 __random
drwxr-xr-x   2 root wheel     45  5 Juni 11:56 __ranges
-r--r--r--   1 root wheel  24532  5 Juni 11:38 __split_buffer
-r--r--r--   1 root wheel   5178  5 Juni 11:38 __std_clang_module
-r--r--r--   1 root wheel    829  5 Juni 11:38 __std_mbstate_t.h
drwxr-xr-x   2 root wheel      9  5 Juni 11:38 __stop_token
drwxr-xr-x   2 root wheel      5  5 Juni 11:38 __string
drwxr-xr-x   2 root wheel      7  5 Juni 11:38 __system_error
drwxr-xr-x   2 root wheel      9  5 Juni 11:38 __thread
-r--r--r--   1 root wheel  15242  5 Juni 11:38 __threading_support
-r--r--r--   1 root wheel  93685  5 Juni 11:38 __tree
drwxr-xr-x   2 root wheel     11  5 Juni 11:38 __tuple
drwxr-xr-x   2 root wheel    139  5 Juni 11:38 __type_traits
-r--r--r--   1 root wheel    558  5 Juni 11:38 __undef_macros
drwxr-xr-x   2 root wheel     26  5 Juni 11:38 __utility
drwxr-xr-x   2 root wheel      3  5 Juni 11:38 __variant
-r--r--r--   1 root wheel   2241  5 Juni 11:38 __verbose_abort

In particular "__type_traits" is missing in the first sample, which is required
by <string> and make my compile fail:

In file included from /usr/include/c++/v1/string:571:
In file included from /usr/include/c++/v1/__algorithm/max.h:12:
/usr/include/c++/v1/__algorithm/comp.h:13:10: fatal error:
'__type_traits/integral_constant.h' file not found
   13 | #include <__type_traits/integral_constant.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
*** Error code 1

Any ideas to retrieve the correct set of C++ includes after an upgrade?

Regards.
--eh.

-- 
You are receiving this mail because:
You are the assignee for the bug.