# Strange problem with C++ standard library



## sergiodev (Jun 6, 2021)

Hello,

When compiling the virtualbox-ose-additions port today I ran into a strange issue with the C++ standard library:

It looks like Clang can't find the "version" header inside /usr/include/c++/v1 as I'm getting this error:


```
/usr/include/c++/v1/cstddef:37:10: fatal error: 'version' file not found
```

Doing `find /usr/include/c++/v1 -name version` finds the header file successfully, but I can't open it with vim for example, or can't use file/stat/rm on it - everything says that there is "No such file or directory".  readlink returns nothing (no error).

Does anyone know how to fix this? I've tried reinstalling clang but it did not work.

I'm running FreeBSD 13.0-RELEASE inside a VirtualBox VM. Upgraded to it from 12.0-RELEASE and installed all updates afterwards. Not sure what else to do except a full reinstall....


----------



## decuser (Jun 10, 2021)

Try checking permissions. If find works - try `find blah | xargs ls -l` or extended attributes (I can't remember the command off the top of my head).


----------



## SirDice (Jun 10, 2021)

decuser said:


> try `find blah | xargs ls -l`


You can do `find . blah -ls`

```
-ls     This primary always evaluates to true.  The following information
             for the current file is written to standard output: its inode
             number, size in 512-byte blocks, file permissions, number of hard
             links, owner, group, size in bytes, last modification time, and
             pathname.  If the file is a block or character special file, the
             device number will be displayed instead of the size in bytes.  If
             the file is a symbolic link, the pathname of the linked-to file
             will be displayed preceded by “->”.  The format is identical to
             that produced by “ls -dgils”.
```


----------

