Cross-compile Tango for a host aarch64 linux
|
|
---|---|
Hi,I´m user of Ubuntu 18.04 and I have the following issue: I'm not sure if it's necessary to install cppTango for cross-compiling Tango. I have previously cross-compiled omniORB=4.2.3 and ZMQ=4.3.4. For TANGO, I have followed these steps: 1.Download Tango source code: $ wget https://github.com/tango-controls/TangoSourceDistribution/releases/download/9.3.4/tango-9.3.4.tar.gz $ tar -xzvf tango-9.3.4.tar.gz $ cd TangoSourceDistribution-9.3.4/ 2.Create a build directory and navigate to it: $ mkdir build $ cd build 3 Configure Tango for cross-compiling using the appropriate compilers and PATH to omniORB and ZMQ: $ ../configure CC=~/buildroot-os-config/output/buildroot-2019.02.9/output/host/usr/bin/aarch64-SEVENSOLS-linux-gnu-gcc CXX=~/buildroot-os-config/output/buildroot-2019.02.9/output/host/usr/bin/aarch64-SEVENSOLS-linux-gnu-g++ –build=x86_64-unknown-linux-gnu –host=arm-unknown-linux-gnu –prefix=/usr/local –with-omni=/usr/local –with-zmq=/usr/local 4 Build Tango [image of error message] $ make ———- I have installed tango-idl, but the error persists. These are the steps I followed: 1 Download tango-idl source code: $ wget https://gitlab.com/tango-controls/tango-idl/-/archive/5.1.0/tango-idl-5.1.0.tar.gz $ tar -xzvf tango-idl-5.1.0.tar.gz $ cd tango-idl-5.1.0 2 Create a build directory: $ mkdir build $ cd build 3 Use CMake to build and install tango-idl: $ cmake .. $ sudo make install I tried to copy /usr/local/tango.idl to /lib/idl/tango.idl, but encountered an error when I ran "make" again. Thanks in advance |
|
|
---|---|
I can't say why it failed, but if you need to stick with 9.3.x (LTS version) please use the latest, i.e. 9.3.6, https://gitlab.com/tango-controls/cppTango/-/releases/9.3.6. You can also give 9.4.2-rc1 a shot which uses cmake as build system. We should have a tangosourcedistribution release ready on monday. |
|
|
---|---|
Or you can just use https://gitlab.com/tjuerges/build_tango.git The build scripts work perfectly fine here on macOS (x86_64 & aarch64), Linux (Ubuntu x86_64, Gentoo aarch64 & arm) Whatever you use to build the code, please note: There is a bug in omniORB on aarch64 that wrongly swaps words in DevDouble attributes and thus results in wrong values. This has been fixed in omniORB, but there has not been a release with the fix yet. |