Cross-compile with Terry Guo's gcc-arm-none-eabi - c

I'm trying to test a cross compile using Terry Guo's gcc-arm-none-eabi. In a nutshell, here are the steps to install on Ubuntu:
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi
The problem I am having is I can't find the documentation (or I'm doing something wrong). I know I can't ask for documentation or other off-site resources, so I'll cut right to the chase:
What is the name of the compiler?
Where is the compiler located?
Where are the arm-eabi headers located?
Where are the arm-eabi libs located?
Where is the arm-eabi sysroot located?
$ find /usr -iname *arm-eabi*
$ find /usr -iname *gcc-arm*
/usr/share/lintian/overrides/gcc-arm-none-eabi
/usr/share/doc/gcc-arm-none-eabi
$ info gcc-arm-none-eabi
No menu item `gcc-arm-none-eabi' in node `(dir)Top'.
$ man gcc-arm-none-eabi
No manual entry for gcc-arm-none-eabi

The problem was I got Debian's anemic arm embedded tools on Ubuntu 14; and not Terry Guo's tools even though I added Guo's PPA. This can be fixed with:
sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi
sudo apt-get autoremove
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi=4-8-2014q2-0trusty10
With the proper package in place:
What is the name of the compiler?
Where is the compiler located?
/usr/bin/arm-none-eabi-gcc and friends.
Where are the arm-eabi headers located?
Where are the arm-eabi libs located?
Where is the arm-eabi sysroot located?
SYSROOT is /usr/lib/gcc/arm-none-eabi/4.8.2/armv7-m.
I also needed to compile with -mcpu=cortex-m3, -mthumb and --specs=nosys.specs.
Related: Ubuntu will attempt to upgrade Guo's packages during a upgrade or dist-upgrade. The behavior can be modified by pinning Guo's package. To pin Guo's package, add the following to /etc/apt/preferences:
Package: binutils-arm-none-eabi
Pin: origin ppa.launchpad.net
Pin-Priority: 900
Package: gcc-arm-none-eabi
Pin: origin ppa.launchpad.net
Pin-Priority: 900
Thanks to grawity on Super User for the information. See Permanently block distro package installation?.

Related

Building U-Boot with Eclipse

I'm trying to build custom u-boot with eclipse but i got the error below:
"powerpc-fsl-linux-ld.bfd: cannot find -lgcc"
I added and configured ARCH, PATH, CROSS_COMPILE, CC and LD environment variables as:
ARCH="powerpc"
CC="powerpc-fsl-linux-gcc --sysroot=/opt/fsl-qoriq/1.9/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc-fsl-linux:/opt/fsl-qoriq/1.9/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc-fsl-linux"
CROSS_COMPILE="powerpc-fsl-linux-"
LD="powerpc-fsl-linux-ld.bfd"
PATH="/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/us:/snap/bin:/opt/fsl-qoriq/1.9/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc-fsl-linux/:/usr/lib/gcc/x86_64-linux-gnu/7/"
These variables and values are in /etc/environment also.
I've tried:
$ sudo apt install build-essential
$ sudo apt install libgcc-7-dev

Installation of postgresql for using and debugging Apache-AGE

I am trying to install postgresql on my system to run apache AGE on it. I am trying to run the ./configure command for checking the required libraries and their existence. Although upon running this command it gives me the following error
I am currently using wsl for this rather than using windows for installation. It would be really helpful if someone can guide me through this process.
Install the required dependencies first using following command
sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison
Install postgres-11 or 12
sudo apt install postgresql-server-dev-11
Then configure with this command
./configure --enable-debug --enable-cassert --prefix=$(pwd) CFLAGS="-ggdb -Og -fno-omit-frame-pointer"
You may need to install some libraries before.
If you are in Debian based distros, run:
sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison
Also, if you want to debug later, be sure to run the configure command with at least these debugger flags:
./configure --enable-debug --enable-cassert
This documentation may give you more details about it:
https://www.postgresql.org/docs/current/installation.html

Install arm-poky-linux-gnueabi toolchain on PC

There are 2 compilers used in IMX7(ARM Yocto Linux):
arm-poky-linux-gnueabi-gcc
arm-poky-linux-gnueabi-g++
When I build complete image by spending about 2 hours its already downloaded.
But I would like to know how to install this tool chain directly on PC(Ubuntu/CentOS) and use it as separate compiler in PC instead of with its Image as I mentioned above.
Use below command in your ubuntu pc
$ sudo apt-get install gcc-arm-linux-gnueabihf
$ sudo apt-get install g++-arm-linux-gnueabihf

installing llvm on Pandaboard armv7 using apt-get

Receiving error while adding this repository: sudo apt-add-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty main" I noticed that there was no llvm-arm available there. In general, is there a way to install llvm > 3-4 on arm-board using apt-get ?

opencv install folder on ubuntu

I installed opencv2.3 on ubuntu by first adding the ppa and the doing apt-get install
$ sudo add-apt-repository ppa:gijzelaar/cuda
$ sudo add-apt-repository ppa:gijzelaar/opencv2.3
$ sudo apt-get update
$ sudo apt-get install libopencv-dev
I am developing on Eclipse and my programs work. I have this one problem though, while following an ebook. I cannot find the /opencv/samples folder in my system. I did a unix directory search to no avail.
Also, in Synaptic Package Manager I find that the opencv packages are not marked green, ie they're not installed. However I have written and executed opencv codes on my machine.
What is the reason for this?
It seems you have installed binary OpenCV package while the samples are (most likely) included only to source package.

Resources