Building gnu/opensource (C) projects in macOS Mojave - c

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?

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

import GitHub makefile project into eclipse

I tried to compile a project of stm32f4 from GitHub on eclipse, this is its link:
https://github.com/piratfm/codec2_m4f
Follow some instructions on internet, I did: Import->c/c++-> Existing code as makefile project->Choose path of project folder and tick Cross Arm GCC in "toolchain for Indexer setting"-> Click finish.
Click build, I got these error in console:
make[2]: *** [misc.o] Error 2
make[1]: Leaving directory `C:/Users/abcd/Desktop/codec2_m4f-master/lib'
make[1]: *** [all] Error 2
make: *** [lib] Error 2.
and in problem:
Description Resource Path Location Type
make[2]: *** [misc.o] Error 2 codec2_m4f-master C/C++ Problem
make[1]: *** [all] Error 2 codec2_m4f-master C/C++ Problem
make: *** [lib] Error 2 codec2_m4f-master C/C++ Problem
I installed everything to compile and build C/C++ project for stm32f4 on eclipse, I tested it with some simple project as blink led.
Any opinion to fix these problem? or I will run it on Linux platform
Can somebody try building it and upload debug folder?
Thanks

Error while compiling glibc from source

I am trying to compile glibc 2.15 from source. I followed all the steps in gnu link. The configuration was success but when I try to make I am getting this peculiar which is terminating the compilation. I tried searching for the error but there was no mention of it on the web.
I am doing this on 64bit Ubuntu 12.10.
The error message is
'wctomb.c:59:1: error
__EI_wctomb' aliased to external symbol '__GI_wctomb'
make[2]: *** [/var/services/homes/abhi/ld/glibc-build/stdlib/wctomb.os] Error 1
make[2]: Leaving directory `/var/services/homes/abhi/ld/glibc-2.15/stdlib'
make[1]: *** [stdlib/subdir_lib] Error 2
make[1]: Leaving directory `/var/services/homes/abhi/ld/glibc-2.15'
make: *** [all] Error 2`
How do I solve this error. Any pointers or suggestions will be highly appreciated.
Thanks
There is a reported bug with GCC 4.7 on Debian distro bug because of which this and other variants of this bug occurs(another is with math library).
-> Work around was to download and install GCC 4.8 (this can only be done by building from source on 12.10 Quantal currently) and then using that to build glibc.

Resources