How to cross compile iw to Xilinx Petalinux? - gcc

Update
The error happens at line 8962 of libtool, which performs a lot of commands inside a loop. The content of the problematic command is
arm-xilinx-linux-gnueabi-gcc -shared -fPIC -DPIC genl/.libs/ctrl.o genl/.libs/family.o genl/.libs/genl.o genl/.libs/mngt.o -Wl,-rpath -Wl,/usr/arm-linux-gnueabi/lib -L/usr/arm-linux-gnueabi/lib -lnl-3 -lpthread -lm -O2 -Wl,--version-script=../libnl.sym -Wl,-soname -Wl,libnl-genl-3.so.200 -o .libs/libnl-genl-3.so.200.19.0
If I manually run it, it says
error: genl/.libs/ctrl.o: No such file or directory
the .o s are there, but the problem is that make install is under sudo, but sudo is a different environment and it doesn't recognize the paths. So solution is:
sudo -s
source /opt/pkg/......./settings.sh
source command is required by Xilinx Petalinux for the paths. Now make install will work
Original
I am following the beyond logic example to cross compile the iw tool. The first step is the libnl. I am using CentOS to crossc compile libnl, so I have to run source /opt/pkg/.../settings.sh to setup the arm-xilinx-linux-gnueabi-gcc paths. I then used ./configure --host=arm-xilinx-linux-gnueabi --prefix=/usr/arm-xilinx-linux-gnueabi
The make is running fine. But make install failed with following errors:
libtool: install: (cd /xxx/libnl-3.2.24/lib; /bin/sh /home/xxx/libnl-3.2.24/libtool --silent --tag CC --mode=relink arm-xilinx-linux-gnueabi-gcc -g -O2 -version-info 219:0:19 -Wl,--version-script=../libnl.sym -o libnl-genl-3.la -rpath /usr/arm-xilinx-linux-gnueabi/lib genl/ctrl.lo genl/family.lo genl/genl.lo genl/mngt.lo libnl-3.la -lpthread -lm )
/xxx/libnl-3.2.24/libtool: line 8962:
arm-xilinx-linux-gnueabi-gcc: command not found
libtool: install: error: relink `libnl-genl-3.la' with the above command before installing it
make[3]: *** [install-libLTLIBRARIES] Error 1
make[3]: Leaving directory `/xxx/libnl-3.2.24/lib'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/xxx/libnl-3.2.24/lib'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/xxx/libnl-3.2.24/lib'
make: *** [install-recursive] Error 1
so since make is successful using arm-xilinx-linux-gnueabi-gcc, why make install is complaining it can't find it?

Problem is with following statement
./configure --host=arm-xilinx-linux-gnueabi --prefix=/usr/arm-xilinx-linux-gnueabi
arm-xilinx-linux-gnueabi is not installed at /usr thats why getting arm-xilinx-linux-gnueabi-gcc: command not founderror.
Install arm toolchain and then follow procedure mentioned in beyond logic example

Related

Error in make cdec

I am trying to implement text generator of JAMR. It redirects me to install cdec. I followed this tutorial to install cdec. BUT
I installed gcc-4.8 (I had a better version 5.x but I thought 4.8 is neccessary). So I installed gcc-4.8 using this. And I build Boost using this (in ~/prefix/sw), I used boost_1_58 because it was latest. Everything worked fine.
Coming back to the tutorial, instead of cd ~/prefix/sw I went to cd jamr/tools/cdec where my cdec is present. Did autoreconf -ifv and ./configure --prefix=/home/student/prefix, fine till now (I just had to comment line 216 of containing boost_major_version and wrote boost_major_version="158"). But when I do make after a while I get
libtool: link: g++ -std=gnu++11 -fPIC -g -O3 /usr/lib /usr/lib -o reconstruct_weights reconstruct_weights.o -L/usr/lib libutils.a -ldl -lrt -lboost_program_options -lboost_regex -lboost_serialization -lboost_system -lboost_filesystem -lz -lbz2
/usr/bin/ld: cannot find /usr/lib: File format not recognized
/usr/bin/ld: cannot find /usr/lib: File format not recognized
collect2: error: ld returned 1 exit status
Makefile:836: recipe for target 'reconstruct_weights' failed
make[2]: *** [reconstruct_weights] Error 1
make[2]: Leaving directory '/home/student/ATS/jamr/tools/cdec-2014-10-12/utils'
Makefile:480: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/student/ATS/jamr/tools/cdec-2014-10-12'
Makefile:410: recipe for target 'all' failed
make: *** [all] Error 2
I tried sudo make, simple ./configure and make clean;make. No help. This is make file.
When you are in the cdec folder and you try to execute the commands there according to the instructions, we see that you get the collect2 error: error: ld returned 1 exit status. In the cdec folder, i initially execute the command:
gcc -std=gnu99 -Wall -Werror -g array_product.c -o array_product -I../../ZDK -L../../ZDK -I../../TestLib04 -L../../TestLib04 -ltestlib04 -lzdk -lncurses -lm
After this command, the error is solved and i get to the file and it says:
> First, you need all the build dependencies, and the fastest way to install them all is this command, which installs not only the compiler but the additional boost libraries and Flex that you'll need. sudo apt-get install build-essential libboost-all-dev cmake flex
> Secondly, create a directory and go into it (you said ~/prefix/sw in your comments).
> Thirdly, git clone https://github.com/redpony/cdec.git
> Fourthly, you probably did not read the README page on the GitHub repository which explains what commands to run to make the software build. It lists these as the build steps, after cd-ing into the newly created cdec folder.

command 'gcc' failed while installing HUE

I am trying to install HUE on ubuntu 14 and I get the following error:
creating build/temp.linux-x86_64-2.7/src
gcc -pthread -fno-strict-aliasing -fwrapv -Wall -Wstrict-prototypes -fPIC -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/ -I/home/huser/miniconda/include/python2.7 -c src/_fastmath.c -o build/temp.linux-x86_64-2.7/src/_fastmath.o
src/_fastmath.c:36:18: fatal error: gmp.h: No such file or directory
# include <gmp.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
make[2]: *** [/home/huser/hue/desktop/core/build/pycrypto-2.6.1/egg.stamp] Error 1
make[2]: Leaving directory `/home/huser/hue/desktop/core'
make[1]: *** [.recursive-env-install/core] Error 2
make[1]: Leaving directory `/home/huser/hue/desktop'
make: *** [desktop] Error 2
I have installed gcc using
sudo apt-get install gcc
I followed the instructions from this link. I have installed all the packages listed here. Please help!
This error states that gcc had not found "gmp.h", not that gcc is missing.
You need to assure that you have installed "libgmp3-dev" package and have gmp.h in path.
It is duplicate of Where to find "gmp.h"?, but I seem not to be able to flag this as such.

Errors occuring when make-ing Aircrack-ng on raspberry pi

As it can be seen in the log I have some errors when trying to compile Aircrack on my Raspberry pi B+ running latest raspbian. I can't manage to find out what's wrong.
(I have also installed libnl)
make -C src all
make[1]: Entering directory '/home/pi/aircrack-ng-1.2-rc1/src'
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0
-DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3
-Wno-unused-but-set-variable -Wno-array-bounds -Iinclude wpaclean.o
osdep/radiotap/radiotap.o -o wpaclean -Losdep -losdep -lnl-genl-3
-lnl-3
/usr/bin/ld: cannot find -lnl-genl-3
collect2: ld returned 1 exit status
Makefile:189: recipe for target 'wpaclean' failed
make[1]: *** [wpaclean] Error 1
make[1]: Leaving directory '/home/pi/aircrack-ng-1.2-rc1/src'
Makefile:25: recipe for target 'all' failed
make: *** [all] Error 2
Thanks
sudo apt-get install libnl-3-dev
sudo ln -s /lib/arm-linux-gnueabihf/libnl-genl-3.so.200 /lib/arm-linux-gnueabihf/libnl-genl-3.so
You have installed libnl-3-dev but it doesn't create proper library link.
Try "sudo make" and "sudo make install"
You also might need to install the libssl-dev package if you havent done so already.

Chef-solo install - gecode compile error

Im trying to install chef-solo on CentOS 6.3 x64 and when I run:
sudo chef-solo -c /etc/chef/solo.rb -j ~/chef.json -r http://s3.amazonaws.com/chef-solo/bootstrap-latest.tar.gz
I'm getting this output:
g++ -I. -ffast-math -fno-strict-aliasing -O3 -fvisibility=hidden -ggdb -pipe -Wall -Wextra -fPIC -pthread -DNDEBUG \
-c -o gecode/int/extensional.o gecode/int/extensional.cpp
make[1]: Leaving directory `/tmp/chef-solo/gecode-3.5.0'
STDERR: {standard input}: Assembler messages:
{standard input}:13822: Warning: end of file not at end of a line; newline inserted
{standard input}:14946: Error: unknown pseudo-op: `.'
{standard input}:14946: Error: open CFI at the end of file; missing .cfi_endproc directive
g++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make[1]: *** [gecode/int/extensional.o] Error 1
make: *** [compilelib] Error 2
---- End output of "bash" "/tmp/chef-script20120904-19809-1ofhwoq" ----
Ran "bash" "/tmp/chef-script20120904-19809-1ofhwoq" returned 2
I can install gecode from the RBEL6 repo without any problems but the cookbook attempts to install from source. I found this pull request on github which attempts to install from the RBEL repo but I got an error saying that the repository metadata couldn't be found. Anyone know what to do?
Since I have been searching for an answer to this, my findings were rather ... unsurprising.
I simply ran out of memory. I had to compile my files on another system with the same OS (copied over /tmp/chef-solo/gecode-3.5.0 to the box and just ran make) and synced the resulting folder back to run make install
Once the library is found the compile step is skipped and you should be good to continue.

Install libbluetooth-dev on Mac

I've been looking forward to using the wiiuse library on my Mac.
When trying to install the library, when compiling with make I was told this :
>make wiiuse
gcc -Wall -pipe -fPIC -funroll-loops -O2 -I. -c classic.c -o release-x86_64-apple-darwin15.4.0/classic.o
In file included from classic.c:43:
./wiiuse_internal.h:49:11: fatal error: 'bluetooth/bluetooth.h' file not found
#include <bluetooth/bluetooth.h>
^
1 error generated.
make[1]: *** [release-x86_64-apple-darwin15.4.0/classic.o] Error 1
make: *** [wiiuse] Error 2
My friend on Ubuntu solved it with sudo apt-get install libbluetooth-dev but I can't find anything on Mac.
If you have any idea about how to install wiiuse or libbluetooth-dev on mac, thanks in advance for your help
I've just been looking for the same thing, came across this site saying it's not available on OSX, not sure how official it is though: http://rosindex.github.io/d/libbluetooth-dev/

Resources