Strange problem with C++ standard library


New Member

Messages: 1


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....


Well-Known Member

Reaction score: 126
Messages: 270

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).


Staff member

Reaction score: 11,612
Messages: 37,947

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”.