compile cgal-python - c++

I tried to build cgal-python and had the following errors (just a snippet):
In file included from /opt/local/include/boost/config.hpp:40,
from /opt/local/include/CGAL/config.h:37,
from /opt/local/include/CGAL/basic.h:28,
from Kernel_module.cpp:21,
from All_files_at_once.cpp:1:
/opt/local/include/boost/config/select_stdlib_config.hpp:17:19: error: cstddef: No such file or directory
Where are the header files of standard C library on MacOS Lion?

I upgraded XCode to 4.1 and now the above errors are gone.

Related

IWYU failing/unclear output?

I recently installed include-what-you-use (IWYU) to try it out. I am on version include-what-you-use 0.12 based on clang version 9.0.1-10. (My OS is Ubuntu 20.04 on WSL1)
I tried to do a very simple example on a source code file, but it quickly comes back as an error on the very first include? (Which is just a c standard library file)
After running
include-what-you-use myutils.cpp:
In file included from myutils.cpp:8:
In file included from ./myutils.h:11:
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cfloat:42:10: fatal error: 'float.h' file not found
#include <float.h>
^~~~~~~~~
Why is it error'ing out on a c standard library include?
I cannot post the entire source here, and without extensive testing I am not sure what minimal example would cause this problem.
Am I just mis-using IWYU? I installed it via apt rather than building it and llvm/clang/etc from scratch. Is that fine?

cmsis_compiler.h: No such file or directory while compiling Arduino Tensorflow lite library for Arduino Due

I am trying to compile the Arduino Tensorflow lite Library example file for Arduino Due board, but at the time of compilation I got error of missing cmsis_compiler.h file error. I also tried to compile the code for STM32F103C8 board on Arduino version 1.8.12 with the Arduino_TensorFlowLite at version 2.1.0-ALPHA-precompiled library but still the same error. Here is the complete error
from C:\Users\Strange Lab\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/gemmlowp/fixedpoint/fixedpoint.h:24,
from C:\Users\Strange Lab\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/reference/add.h:18,
from C:\Users\Strange Lab\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\micro\kernels\cmsis-nn\add.cpp:16:
c:\users\strange lab\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\arm-none-eabi\include\c++\4.8.3\bits\c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the \
^
In file included from C:\Users\Strange Lab\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/tools/make/downloads/cmsis/CMSIS/NN/Include/arm_nnsupportfunctions.h:33:0,
from C:\Users\Strange Lab\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/tools/make/downloads/cmsis/CMSIS/NN/Include/arm_nnfunctions.h:163,
from C:\Users\Strange Lab\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\micro\kernels\cmsis-nn\add.cpp:18:
C:\Users\Strange Lab\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/tools/make/downloads/cmsis/CMSIS/DSP/Include/arm_math.h:382:28: fatal error: cmsis_compiler.h: No such file or directory
#include "cmsis_compiler.h"
^
compilation terminated.
Using library Arduino_TensorFlowLite at version 2.1.0-ALPHA-precompiled in folder: C:\Users\Strange Lab\Documents\Arduino\libraries\Arduino_TensorFlowLite
exit status 1
Error compiling for board Generic STM32F103C series.```
I can understand that may be the Arduino Due is not officially supported but I think the STM32F103C8 board is supported. So is there anything which I am missing here?
I hope you have found an answer yourself since posting this question, but for anyone else fumbling their way in here; it seems like the current tensorflow-lite library (as I'm writing this it is: 2.1.0-APLHA-precompiled) only works with MbedOS-boards (Portenta H7 and Nano 33 BLE).
Hope you could use this answer :D

Mosquitto.h not such file or directory

I am working on a c++ project using mosquitto library on github. I am trying to compile the C++ on a windows computer on the command line; however I keep getting error
Fatal error: mosquitto.h: no such file or directory
include "mosquitto.h"
I have installed the mosquitto library in the windows system, underneath:
C:\Program Files\mosquitto\devel\mosquitto.h
Is there something else that I have to do as well in order to compile the cpp from the command line. How do I tell g++ the whereabout of the mosquitto.h file. So I can compile on the command line
Thank for your help I am new to C++.
I managed to solve this question, I had o copy the mosquitto.h into
C:\cygwin64\usr\include
Then when I type g++ nameOfFile it compiled

dsr/linkcache .cc: fatal error: list.h: no such file or directory

I am using NS2.35 and Ubuntu 12.04.5 LTS
I want to run DSR using link cache.
I uesd "make" to recompile NS2. I got the following error:
dsr/linkcache .cc: fatal error: list.h: no such file or directory.
I used locate list.h and this is its directory
/usr/src/linux-headers-3.2.0-29/include/linux/list.h
That means the header file exists
How can I solve this error ?
ns2 : Old files. The gcc 2.95 header list.h is included in a couple of files. And is simply ignored in a stock ns2, when g++ is later than version 3.x :
list.h is also present in gcc 3.2, 3.3, 3.4 : /usr/include/c++/3.4.6/backward/list.h
Besides that, a similar question is answered here make command not working in NS 2.35

Compilation error: "stddef.h: No such file or directory"

Whenever I try to compile this code it always ends up with this error:
In file included from /usr/include/wchar.h:6:0,
from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/cwchar:44,
from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/bits/postypes.h:40,
from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/iosfwd:40,
from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/ios:38,
from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/ostream:38,
from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/iostream:39,
from test.cpp:1:
/usr/include/sys/reent.h:14:20: fatal error: stddef.h: No such file or directory
#include <stddef.h>
^
compilation terminated.
The code I was trying to compile is:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World! :D";
return 0;
}
The error is because your gcc-core package and gcc-g++ are not of the same version. Either downgrade one of them to solve the problem or update both the libraries. Updating both the libraries is the recommended way.
I had this error on a fresh MinGW install, it had nothing to do with the installed packages mentioned in the current accepted answer by "Prasanth Karri". In my case the issue was caused by -nostdinc in my Makefile. I actually only needed that compiler flag when building for a different target platform (not when using MinGW) so I fixed the issue by removing that flag from MinGW builds.
When I was incorporating a software library written in C into an existing demo project(used a C++ mbed library) I encountered this problem. The demo project would compile just fine, but after I replaced the existing main file by my own, this error occurred.
At this point I hadn't yet thought about the fact that the mbed library that I needed was written in C++. My own main file was a .c file that #include the mbed header file. As a result I used my normal C source as if it was a C++ source. Therefore the compiler that was used to compile my main file was the C compiler.
This C compiler then encountered a #include of a module that actually does not exist (within its scope), as it's not a C++ compiler.
Only after I inspected the output of the build log I realised the various source C and C++ files were compiled by more that 1 compiler(the c++ compiler). The project used used compilers arm-none-eabi-c++ and arm-none-eabi-gcc (for embedded systems) as seen below.
Compile log:
Building file: ../anyfile.cpp
Invoking: MCU C++ Compiler
arm-none-eabi-c++ <A lot of arguments> "../anyfile.cpp"
Finished building: ../anyfile.cpp
Building file: ../main.c
Invoking: MCU C Compiler
arm-none-eabi-gcc <A lot of arguments> "../main.c"
In file included from <Project directory>\mbed/mbed.h:21:0,
from ../main.c:16:
<Project directory>\mbed/platform.h:25:19: fatal error: cstddef: No such file or directory
compilation terminated.
Of course in a C++ environment cstddef exists, but in a C environment cstddef doesn't exist, in stead it's just C's implementation of stddef.
In other words, cstddef does not exist in the C compiler.
I resolved this problem by renaming my main.c file to main.cpp and the rest of the code compiled smoothly too.
TLDR/Conclusion: When building a C++ project, avoid mixing C files with C++ files(sources and headers). If possible rename .c files to .cpp files to use the C++ compiler in stead of the C compiler where required.
In order to update it, follow below.
If you are on Windows, just run these on command prompt or powershell
Update the package list: mingw-get update
After updating the package list, run: mingw-get upgrade
Source: How to update GCC in MinGW on Windows?
This problem was solved for me as I installed codeblocks with mingw compiler then I copied the mingw folder from codeblocks to C drive and added
C\mingw\bin to the environment variables.
If you try to compile and see a message like, "fatal error: stddef.h: No such file or directory", the error is because your gcc-core and gcc-g++ packages are not of the same version. Rerun the Cygwin install and make sure that you select the highest numbered versions of gcc-core and gcc-g++.
After installing the C++ compiler with MinGW I encountered this problem as well. Apparently, you have to also install mingw32-base. Go to C:/MinGW/bin/mingw-get.exe (my path) and check it for installation at the Basic Setup tab.