How build and run aws-iot-device-sdk-embedded-C sample? - c

Here is aws-iot-device-sdk-embedded-C sample. But when I invoke make command I got error like:
~/environment/aws-iot-device-sdk-embedded-C/samples/linux/subscribe_publish_sample ((6c99912...)) $ make
make -C ../../../external_libs/mbedTLS
make[1]: Entering directory `/home/ec2-user/environment/aws-iot-device-sdk-embedded-C/external_libs/mbedTLS'
make[1]: *** No targets specified and no makefile found. Stop.
make[1]: Leaving directory `/home/ec2-user/environment/aws-iot-device-sdk-embedded-C/external_libs/mbedTLS'
make: *** [all] Error 2
How build and run this sample? (I am not C developer so please provide detailed answer if possible)

The reason is missing mbedTLS library.
Please go to:
/home/ec2-user/environment/aws-iot-device-sdk-embedded-C/external_libs/mbedTLS
and have a look at it's README:
# Copy source code for mbedTLS into this directory
#
# You'll need to download mbedTLS from the official ARMmbed repository and
# place the files here. We recommend that you pick the latest version of 2.16
# LTS release in order to have up-to-date security fixes.

Related

'absl/meta/type_traits.h' file not found

I am currently trying to build the baresip library in order to use it into an Android application. For that, I use the project libbaresip-android and I follow the instructions of the README file.
I am trying to setup a pipeline running on Ubuntu 20.04. From the README file, the steps 1, 2 and 3 seems to work, but my pipeline failed on the step 4 when the script tries to compile webrtc.
The error:
make[2]: Entering directory '/home/vsts/work/1/s/webrtc'
[armeabi-v7a] Compile++ thumb: webrtc <= aecm_core.cc
In file included from jni/src/webrtc/modules/audio_processing/aecm/aecm_core.cc:24:
jni/src/webrtc/rtc_base/checks.h:57:10: fatal error: 'absl/meta/type_traits.h' file not found
#include "absl/meta/type_traits.h"
^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [/usr/local/lib/android/sdk/ndk/21.4.7075529/build/core/build-binary.mk:478: obj/local/armeabi-v7a/objs/webrtc/src/webrtc/modules/audio_processing/aecm/aecm_core.o] Error 1
make[2]: Leaving directory '/home/vsts/work/1/s/webrtc'
make[1]: *** [Makefile:247: webrtc] Error 2
make[1]: Leaving directory '/home/vsts/work/1/s'
make: *** [Makefile:324: install-all] Error 2
##[error]Bash exited with code '2'.
As you can see, this file has the following instruction:
#include "absl/meta/type_traits.h"
I am not a C developer, so I do not know if this include instruction refered to something standard or to a specific file of the project. But the source code does not contain any "adsl" directory.
Should I install something specific on the machine that builds the project? Thank you for your help.
Download abseil library (https://github.com/abseil/abseil-cpp) and put it under third_party folder.

Trouble Installing CompCert C compiler on Ubuntu

I'm installing CompCert C compiler as instructed here: https://compcert.org/man/manual002.html.
However I'm stuck at the stage where I "Run the configure script with appropriate options: ./configure [option …] target "
The console output is:
~/compcert/CompCert-3.8$ ./configure -use-external-MenhirLib x86_64-linux
Testing assembler support for CFI directives... yes
Testing linker support for '-no-pie' / '-nopie' option... yes, '-no-pie'
Testing Coq... version 8.11.0 -- good!
Testing OCaml... version 4.08.1 -- good!
Testing OCaml native-code compiler...yes
Testing OCaml .opt compilers... yes
Testing Menhir... version 20200123 -- good!
Error: cannot determine the location of the Menhir API library.
This can be due to an incorrect Menhir package.
Consider using the OPAM package for Menhir.
Testing GNU make... version 4.2.1 (command 'make') -- good!
One or several required tools are missing or too old. Aborting.
I'm running Ubuntu 20.04 LTS.
[Edit: I managed to run the ./configure. However I cannot reproduce the exact method how I did it. Now I'm stuck in a different part.]
Follow-up question:
When running make all I receive the following output:
/compcert/CompCert-3.8$ make all
make proof
make[1]: Entering directory '/home/user/compcert/CompCert-3.8'
COQC Axioms.v
Error: Can't find file ./Axioms.v
make[1]: *** [Makefile:226: Axioms.vo] Error 1
make[1]: Leaving directory '/home/user/compcert/CompCert-3.8'
make: *** [Makefile:155: all] Error 2
I fixed that problem by copying lib/Axiom.v to the root. The make all then complained about another library in lib/ so I moved a bunch of them until I received the following error:
~/compcert/CompCert-3.8$ make all
make proof
make[1]: Entering directory '/home/user/compcert/CompCert-3.8'
COQC Ordered.v
File "./Ordered.v", line 90, characters 16-19:
Error: The reference int was not found in the current environment.
make[1]: *** [Makefile:226: Ordered.vo] Error 1
make[1]: Leaving directory '/home/user/compcert/CompCert-3.8'
make: *** [Makefile:155: all] Error 2
And now I'm stuck once again.
It seems that you have an incorrect version of the menhirLib. See these lines in the configure script in the build system which lead to this error. I think the problem is that you installed a different version of menhirLib, possibly using your package manager.
I suggest you to run the following commands to install the latest menhirLib from the opam:
opam update
opam install menhir menhirLib
This should help.

How to compile pmars-0.9.2 on Ubuntu 18.04? error: Makefile:116: recipe for target 'all' failed

I'm trying to compile a pmars-0.9.2 game, but stumbled on an error while passing the test, after command make -j4:
make[2]: *** [extractor/CMakeFiles/extractor.dir/backoff_sampler.cc.o] Error 1
CMakeFiles/Makefile2:2561: recipe for target 'extractor/CMakeFiles/extractor.dir/all' failed
make[1]: *** [extractor/CMakeFiles/extractor.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2
Can you tell me which installation drivers are missing to successfully complete the compilation?
To view logs from an unpacked archived use command:
nano /home/user/Desktop/pmars-0.9.2/cdec/BUILDING
To build cdec, you'll need:
boost headers & boost program_options (you may need to install a package
like libboost-dev)
Instructions for building
1) Create a build directory and generate Makefiles using CMake
mkdir my_build
cd my_build
cmake ..
If the cmake command completes successfully, you can proceed. If you have
libraries (such as Boost) installed in nonstandard locations, you may need
to run cmake with special options like -DBOOST_ROOT=/path/to/boost.
2) Build
make -j 2
3) Test
make test
./tests/run-system-tests.pl

Building gnu/opensource (C) projects in macOS Mojave

It's been awhile since I've tried to do this, maybe 3 or 4 years already. It was largely trivial then, download the tarball. Open it up, configure, make, and make install.
I do have Xcode installed, and I have the Xcode command line tools as well. Up to date. But when I run make, it complains about "error.h file not found".
Given how Apple has since locked the operating system down, it's not as simple as symlinking a directory for the includes. Or, if it is, I can't figure out where to begin with that.
The project is unavailable with homebrew, or I'd be lazy and do that.
The output is as follows:
omelo:ccd2cue-0.5 john$ sudo make
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive
Making all in po
Making all in src
CC ccd2cue.o
ccd2cue.c:58:10: fatal error: 'error.h' file not found
#include <error.h>
^~~~~~~~~
1 error generated.
make[2]: *** [ccd2cue.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
What do I need to fix in my environment so that this can build?

HAWQ installation on Redhat

I am installing HAWQ on RedHat servers provisioned on Amazon EC2. I already have HDP 2.3 setup on the cluster.
I have cloned HAWQ from Github.
First I run ./configure --prefix=/opt/hawq.
In the second step, I run make.
The dependencies are compiling correctly when I run make from the root folder of incubator-hawq. The following error occours when make moves to compiling from src folder in the root directory (incubator-hawq):
make[2]: Entering directory `/root/incubator-hawq/src/port'
gcc -O3 -std=gnu99 -Wall -Wmissing-prototypes -Wpointer-arith -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -fno-aggressive-loop-optimizations -I/usr/include/libxml2 -I../../src/port -DFRONTEND -I../../src/include -D_GNU_SOURCE -I/root/incubator-hawq/depends/libhdfs3/build/install/usr/local/hawq/include -I/root/incubator-hawq/depends/libyarn/build/install/usr/local/hawq/include -c -o copydir.o copydir.c
In file included from copydir.c:25:0:
../../src/include/storage/fd.h:61:23: fatal error: hdfs/hdfs.h: No such file or directory
#include "hdfs/hdfs.h"
^
compilation terminated.
make[2]: *** [copydir.o] Error 1
make[2]: Leaving directory `/root/incubator-hawq/src/port'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/incubator-hawq/src'
make: *** [all] Error 2
I know the compiler cannot find hdfs/hdfs.h, but as the dependencies (libhdfs3) compiled successfully, I don't understand why the particular file isn't found. Please help if somebody has come across the same problem as I am pretty much stuck here.
Could you check file /root/incubator-hawq/depends/libhdfs3/build/install/usr/local/hawq/include/hdfs/hdfs.h exists?
If not, then it should be build defect, please open defect to hawq team or email to: dev#hawq.incubator.apache.org. Thanks.
Do you have a folder in incubator-hawq/depends/libhdfs3/build/installafter make?
The problem seems that libhdfs3 dependency is not successfully built. There are some possible reasons for that: using a old version gcc(<4.7), configuration error of libhdfs3.
To test my words, you could try this:
cd incubator-hawq/depends/libhdfs3
mkdir build_debug && cd build_debug
cmake ..
make
If you could successfully do that, I think there is another reason for your problem. In this case, could you paste the information with more building lines?
Another possible reason is that you use different configuration prefix. In this case, you should run make distclean before another configuration.

Resources