ext/atomicity.h bits/c++config.h

Otacílio otacilio.neto at bsd.com.br
Fri Jul 14 05:05:05 UTC 2017

Em 13/07/2017 17:47, Dimitry Andric escreveu:
> On 13 Jul 2017, at 20:50, Otacílio <otacilio.neto at bsd.com.br> wrote:
>> I'm trying to make a port for personal use of the rmtp library. However I'm having some problems that I can not solve with just the help of google. Among other things, the compilation is breaking at this point
>> In file included from /usr/ports/science/mrpt/work/.build/libs/base/cotire/mrpt-base_CXX_prefix.hxx:4:
>> In file included from /usr/ports/science/mrpt/work/.build/libs/base/cotire/mrpt-base_CXX_prefix.cxx:4:
>> In file included from /usr/ports/science/mrpt/work/mrpt-752b211/libs/base/src/base-precomp.h:17:
>> In file included from /usr/ports/science/mrpt/work/mrpt-752b211/libs/base/include/mrpt/utils/CObject.h:17:
>> In file included from /usr/ports/science/mrpt/work/mrpt-752b211/libs/base/include/mrpt/otherlibs/stlplus/smart_ptr.hpp:49:
>> /usr/ports/science/mrpt/work/mrpt-752b211/libs/base/include/mrpt/synch/atomic_incr.h:20:12: fatal error: 'ext / atomicity.h' file not found
>> #include <ext / atomicity.h>
> This header is a GNU libstdc++ specific extension, e.g. it is non-portable.  If the program insists on having this header, you should probably use one of the gcc ports to build it.  In most cases, the program can be changed to use a portable header instead.
>> I have found this library in /usr/src/contrib/libstdc ++/include and I do not know the correct way to include it in the project because I expected to find it in /usr/include or /usr/local/include. I even added this line in the configuration: -I/usr/src/contrib/libstdc++/include but now went on to complain that this other head file is missing
>> /usr/src/contrib/libstdc++/include/ext/atomicity.h:38:10: fatal error: 'bits/c++config.h' file not found
> You can't do that, most headers under /usr/src are not suitable for direct inclusion, they have to be installed in the right locations.  Again, try using one of the gcc ports instead, they will automatically find their own libstdc++ headers (usually under /usr/local/lib/gccX/include/c++/ext).
> -Dimitry


Reading the source of the program I realized that the author had already 
prepared to compile for OSX using clang. So I just needed to modify some 
#ifdef tests to make it work.

Thank you by your answer.



More information about the freebsd-ports mailing list