Build Lollipop 5.1.1 Aosp on Ubuntu 18.04 (Bionic Beaver) - android-source

I am getting below error while trying to build Lollipop 5.1.1 AOSP on Ubuntu 18.04.
build/core/Makefile:34: warning: overriding recipe for target 'out/target/product/apq8084/system/etc/permissions/android.hardware.sensor.stepdetector.xml'
build/core/base_rules.mk:550: warning: ignoring old recipe for target 'out/target/product/apq8084/system/etc/permissions/android.hardware.sensor.stepdetector.xml'
No private recovery resources for TARGET_DEVICE apq8084
Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l
/bin/bash: prebuilts/misc/linux-x86/flex/flex-2.5.39: Is a directory
build/core/binary.mk:575: recipe for target 'out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp' failed
make: *** [out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 126
make: *** Waiting for unfinished jobs....
host C++: libaapt_32 <= frameworks/base/tools/aapt/AaptXml.cpp
make: *** wait: No child processes. Stop.
#### make failed to build some targets (01:06 (mm:ss)) ####
Any Idea why this happens?
I tried "export LC_ALL=C" but didn't help.

I rebuild the flex package and the issue got resolved.
cd prebuilts/misc/linux-x86/flex
rm flex-2.5.39
tar zvxf flex-2.5.39.tar.gz
cd flex-2.5.39
./configure
make
mv flex ../
cd ../
rm -rf flex-2.5.39
mv flex flex-2.5.39

Related

perl-5.14.2 make test failed

I am trying to install perl-5.14.2 from source on Ubuntu 20. The steps to follow are:
cd perl-5.14.2
./Configure -des -Dprefix=$HOME/localperl
make
make test
make install
However, on doing make test, the compilation fails with the following error:
ext/Errno/t/Errno..............................................FAILED--Further testing stopped: No errno's are exported
make: *** [makefile:854: test] Error 29
The gcc version on the system is 9.3.0.

Build Coq and CoqIDE from source

Following this post I managed to install LablGtk (I think) but still when I try to configure-make Coq I get the following message that CoqIDE will not be built:
$ ./configure
You have OCaml 4.09.0+dev0-2019-01-18. Good!
You have OCamlfind 1.7.1. Good!
You have native-code compilation. Good!
You have the Num library installed. Good!
Warning: Incomplete LablGtk2 (via ocamlfind): no /usr/local/lib/ocaml/4.04.0/lablgtk2/gSourceView2.cmi.
Warning: Incomplete LablGtk2 (in OCaml library): no /usr/lib/ocaml/lablgtk2/gSourceView2.cmi.
LablGtk2 not found:
=> no CoqIde will be built.
Where should I install the Coq binaries [/usr/local/bin]?
How can I make sure LablGtk is installed? or if something else is missing?
EDIT:
I ran sudo make install again from the extracted LablGtk folder and I now see it failed because it already has this library, but it is somehow associated with an old ocaml version (???):
$ sudo make install
ocamlfind: Package lablgtk2 is already installed
- (file /usr/local/lib/ocaml/4.04.0/lablgtk2/META already exists)
Makefile:400: recipe for target 'findlib-install' failed
make[1]: *** [findlib-install] Error 2
make[1]: Leaving directory '/home/oren/Downloads/lablgtk-2.18.7/src'
Makefile:5: recipe for target 'install' failed
make: *** [install] Error 2

glib2 build can't find automake 1.13 when automake 1.14 is installed

I'm attempting to build glib-2.36.4 on CentOS5. I realize it would be wiser to upgrade to 6 but this isn't possible because of a customer requirement.
I've started a make build and I get the below error. The error complains that automake-1.13 doesn't exist on the system. However, I built automake 1.14 and installed it. An automake --version outputs the correct version.
I've done a yum list installed | grep automake to insure automake doesn't have conflicting installations.
I've tried googling the issue but I can't come up with anything.
make[4]: Entering directory `/home/tharper/glib-2.36.4/docs/reference/glib'
cd ../../.. && /bin/sh /home/tharper/glib-2.36.4/missing
automake-1.13 --gnu docs/reference/glib/Makefile
/home/tharper/glib-2.36.4/missing: line 81: automake-1.13: command not found
WARNING: 'automake-1.13' is missing on your system.
You should only need it if you modified 'Makefile.am' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'automake' program is part of the GNU Automake package:
<http://www.gnu.org/software/automake>
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
<http://www.gnu.org/software/autoconf>
<http://www.gnu.org/software/m4/>
<http://www.perl.org/>
make[4]: *** [Makefile.in] Error 127
make[4]: Leaving directory `/home/tharper/glib-2.36.4/docs/reference/glib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/tharper/glib-2.36.4/docs/reference'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/tharper/glib-2.36.4/docs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/tharper/glib-2.36.4'
make: *** [all] Error 2
From the top level directory run the command
automake
Basically, your makefiles were built using Automake 1.13 and now you've got 1.14 they're getting confused, so running automake will recreate all the Makefiles using your new version.
In my side, it will show some warning after run automake, and I run the command to resolved this issue:
autoreconf -ivf
I ran in a similar problem when trying to compile gnome-mplayer-1.0.9.2 on Ubuntu 14.01.1.
I managed to resolve it by running the following commands in the source folder:
aclocal
automake
./configure
make

Xuggler compilation is failing.

I DID NOT FIND THE PRECOMPILED BINARIES FOR WINDOWS OR LINUX PLATFORM, AND I am trying to build the Xuggler code base cloned from the github. I am following the steps given in the link: http://www.xuggle.com/xuggler/build
I am facing a compilation error as below. Can someone please help me with what is missing? All the build environment prerequisite are taken care of.
[exec] CXX AudioResampler.lo
[exec] CXX AudioSamples.lo
[exec] CXX Codec.lo
[exec] ../../../../../../../csrc/com/xuggle/xuggler/Codec.cpp: In member function 'virtual bool com::xuggle::xuggler::Codec::canDecode()':
[exec] ../../../../../../../csrc/com/xuggle/xuggler/Codec.cpp:158:38: error: converting 'false' to pointer type 'int (*)(AVCodecContext*, void*, int*, AVPacket*)' [-Werror=conversion-null]
[exec] ../../../../../../../csrc/com/xuggle/xuggler/Codec.cpp: At global scope:
[exec] ../../../../../../../csrc/com/xuggle/xuggler/Codec.cpp:26:1: error: 'vs_logger_static_context' defined but not used [-Werror=unused-variable]
[exec] cc1plus: all warnings being treated as errors
[exec] make[6]: *** [Codec.lo] Error 1
[exec] make[5]: *** [all-recursive] Error 1
[exec] make[4]: *** [all] Error 2
[exec] make[3]: *** [all-recursive] Error 1
[exec] make[2]: *** [all-recursive] Error 1
[exec] make[1]: *** [all-recursive] Error 1
[exec] make: *** [all-recursive] Error 1
[exec] make[6]: Leaving directory `/home/anilj1/xuggle-xuggler/build/native/x86_64-unknown-linux-gnu/csrc/com/xuggle/xuggler'
[exec] make[5]: Leaving directory `/home/anilj1/xuggle-xuggler/build/native/x86_64-unknown-linux-gnu/csrc/com/xuggle/xuggler'
[exec] make[4]: Leaving directory `/home/anilj1/xuggle-xuggler/build/native/x86_64-unknown-linux-gnu/csrc/com/xuggle/xuggler'
[exec] make[3]: Leaving directory `/home/anilj1/xuggle-xuggler/build/native/x86_64-unknown-linux-gnu/csrc/com/xuggle'
[exec] make[2]: Leaving directory `/home/anilj1/xuggle-xuggler/build/native/x86_64-unknown-linux-gnu/csrc/com'
[exec] make[1]: Leaving directory `/home/anilj1/xuggle-xuggler/build/native/x86_64-unknown-linux-gnu/csrc'
BUILD FAILED
/home/anilj1/xuggle-xuggler/mk/buildtools/buildhelper.xml:1192: exec returned: 2
Total time: 18 minutes 30 seconds
CAN SOMEONE ALSO HELP WHERE TO FIND THE PRECOMPILED XUGGLER BINARIES FOR WINDOWS?
Folks,
So finally I was able to successfully build the Xuggler build. It was a compiler version issue. I had installed (by virtue of apt-get install build-essential) latest version of gcc (version 4.7), and it was throwing all the below errors.
I downgraded my system to version 4.4, and it worked. I could have chosen 4.6 or something else, but now I guess its not required.
/anil.
I've found another solution to fix this build fail:
[exec] cc1plus: all warnings being treated as errors
If you want to fix it independently from gcc version (you cannot choose gcc version in some linux distributions), go to the xuggle downloaded/extracted folder and use:
grep -rl "Werror" * | xargs sed -i 's/Werror/Wno-error/g'
This will force the compiler to consider warnings as warnings and not as errors, and the build will succeed.
Note: if you want to be sure that this command takes effect, before the command use:
grep -rl "Werror" *
And after the command use:
grep -rl "Wno-error" *
They should give you the same file-list.
Install GCC 4.4:
apt-get install gcc-4.4
Update symbolic links to use 4.4 (the arch-specific link will be different on 32-bit VM):
rm /usr/bin/gcc
ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
rm /usr/bin/x86_64-linux-gnu-gcc
ln -s /usr/bin/x86_64-linux-gnu-gcc-4.4 /usr/bin/x86_64-linux-gnu-gcc
Install C++ (G++) 4.4:
apt-get install c++-4.4
Update symbolic links to use 4.4 (the arch-specific link will be different on 32-bit VM):
rm /usr/bin/cpp
ln -s /usr/bin/cpp-4.4 /usr/bin/cpp
rm /usr/bin/x86_64-linux-gnu-cpp
ln -s /usr/bin/x86_64-linux-gnu-cpp-4.4 /usr/bin/x86_64-linux-gnu-cpp
rm /usr/bin/g++
ln -s /usr/bin/g++-4.4 /usr/bin/g++
rm /usr/bin/x86_64-linux-gnu-g++
ln -s /usr/bin/x86_64-linux-gnu-g++-4.4 /usr/bin/x86_64-linux-gnu-g++
Verify default versions:
gcc --version
c++ --version
cpp --version
If c++ wouldnt be found install g++ 4.4
apt-get install g++-4.4
That works for me to build a LGPL linux jar on a Ubuntu 14.0.4 LTS 64
here is the full guide: https://docs.google.com/document/d/1mjlI2jAGKK3_W4KIBjpUfM3F_SJjUkZhQJuwtIBn_7I/pub
remember to install g++ if the build failed
//windows build - still doesnt work for me

Installing node.js with Mongodb and Mongoose

I have node.js and npm install under my /opt directory in Linux RHEL.
I've used npm to install several different modules, namely mongodb and mongoose. However, when it tries to make the distro (or I try it), it fails as follows:
make -C ./external-libs/bson all
make[1]: Entering directory `/opt/node_modules/mongodb/external-libs/bson'
rm -rf build .lock-wscript bson.node
node-waf configure build
make[1]: execvp: nodewaf: Not a directory
make[1]: *** [all] Error 127
make[1]: Leaving directory `/opt/node_modules/mongodb/external-libs/bson'
make: *** [build_native] Error 2
I presume this is happening because it can't find node-waf which is under /opt/node/tools. I'm just wondering if I botched the install that it's not picking it up or what's the best way to address this without mucking with the Makefile?
Thanks...