[ACTIVITY] 11-12 February 2013
== Progress == * Very short working week. * Discussions about next steps in Lava integration. * Followed up on Arndale/GCC build issues. == Next week == * Review pending Backports * Investigate bootstrap ICE PR56184 further == Future == * Run HOT/COLD partitioning benchmarks * Analyse ARM results * On x86_64 to see what the actual benefit we could get * fix-gcc-multiarch-testing * Come up with strawman proposal for updating testsuite to handle testing with varying command-line options. -- Matthew Gretton-Dann Linaro Toolchain Working Group matthew.gretton-d...@linaro.org ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: Hard Floating Point Question
Hi Derek, Derek Rollend writes: > > > Add the Linaro toolchain bin directory to your PATH environment variable: > export PATH="/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux >>/bin:$PATH" ok. I thought there was a CMake variable like CMAKE_C_COMPILER_PATH. I use this http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_use_a_different_compiler.3F (method3). > On Mon, Feb 11, 2013 at 4:04 PM, Fernan wrote: > Derek Rollend ...> writes: > > > > > > Fernan, > > I'm using CMake 2.8.0. I have not tried to compile OpenCV with FFMPEG > > support > yet, although I will be trying to do this soon. I have only successfully > compiled OpenCV 2.2 using the Linaro hard float compiler. Here is my > toolchain.cmake file: > > > > > > set( CMAKE_SYSTEM_NAME Linux ) > > set( CMAKE_SYSTEM_PROCESSOR arm ) > > set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc ) > > set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ ) > > set( CMAKE_CXX_FLAGS_RELEASE "-L > >/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/ >> >arm-linux-gnueabihf/lib -O3 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard >> >-ftree-vectorize -ftree-vectorizer-verbose=3 -funroll-loops" ) >> > set( CMAKE_CXX_FLAGS_DEBUG "-L /opt/gcc-linaro-arm-linux-gnueabihf- >> >4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib >> >-O3 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard -ftree-vectorize >> >-ftree-vectorizer-verbose=3 -funroll-loops" ) > > I have just successfully compiled but without FFMPEG too, that is the problem. but first, I will ask you some question: Why you need to add the link path /opt/gcc-linaro-arm-linux-gnueabihf- 4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib? Why you use OpenCV2.2? The lastest stable release is OpenCV2.4.3. You see, I'm a newbie about cross compiling, I'll have to study concepts of cross-compilation, I thought it was easy. ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: Hard Floating Point Question
I added the lib path explicitly so I knew that arm-linux-gnueabihf-g++ was definitely linking against the correct hard float libraries. Perhaps this is unnecessary, but I just wanted to be sure. I've been using OpenCV 2.2 because that was the version that was known to compile successfully from that TI wiki page you sent earlier. I am now trying with 2.4.0, I'll let you know if I succeed. It's definitely not easy. All the tools seem to be there, it's piecing everything together correctly that is the tough part. Push on! On Tue, Feb 12, 2013 at 1:35 PM, Fernan wrote: > Hi Derek, > > Derek Rollend writes: > > > > > > > Add the Linaro toolchain bin directory to your PATH environment variable: > > export > PATH="/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux > >>/bin:$PATH" > > ok. I thought there was a CMake variable like CMAKE_C_COMPILER_PATH. I use > this > http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_use_a_different_compiler.3F > (method3). > > > On Mon, Feb 11, 2013 at 4:04 PM, Fernan > wrote: > > Derek Rollend ...> writes: > > > > > > > > > Fernan, > > > I'm using CMake 2.8.0. I have not tried to compile OpenCV with FFMPEG > > > support > > yet, although I will be trying to do this soon. I have only successfully > > compiled OpenCV 2.2 using the Linaro hard float compiler. Here is my > > toolchain.cmake file: > > > > > > > > > set( CMAKE_SYSTEM_NAME Linux ) > > > set( CMAKE_SYSTEM_PROCESSOR arm ) > > > set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc ) > > > set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ ) > > > set( CMAKE_CXX_FLAGS_RELEASE "-L > > >/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/ > >> >arm-linux-gnueabihf/lib -O3 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard > >> >-ftree-vectorize -ftree-vectorizer-verbose=3 -funroll-loops" ) > >> > set( CMAKE_CXX_FLAGS_DEBUG "-L /opt/gcc-linaro-arm-linux-gnueabihf- > >> >4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib > >> >-O3 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard -ftree-vectorize > >> >-ftree-vectorizer-verbose=3 -funroll-loops" ) > > > > > I have just successfully compiled but without FFMPEG too, that is the > problem. > > but first, I will ask you some question: > > Why you need to add the link path /opt/gcc-linaro-arm-linux-gnueabihf- > 4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib? > > Why you use OpenCV2.2? The lastest stable release is OpenCV2.4.3. > > You see, I'm a newbie about cross compiling, I'll have to study concepts of > cross-compilation, I thought it was easy. > > > > > > ___ > linaro-toolchain mailing list > linaro-toolchain@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-toolchain > ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: Hard Floating Point Question
I'd say that adding -L/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib is unnecessary as gcc's driver should be able to find its own libraries. Regarding your problems with ffmpeg, I'm sorry that I don't know how cmake works, but after spending some time trying to understand why cross-building fails, here are my remarks: - using 'make VERBOSE=1' will show you the exact commands used - from what I can see, cmake manages to find the full path to the compiler and calls it using this path - installing packages such as libavcodec-dev installs the version for your host, not for your ARM target - therefore, you should add ffmpeg to OpenCV, maybe using the 3rdparty directory, but I don't know how it is supposed to be used - on my system, I have noticed that cmake says 'Could NOT find JPEG), then "Media I/O: JPEG: libjpeg (ver 62)" and I can see that g++ is called with -I/3rdparty/libjpeg, which is confusing - similarly, it looks like cmake is calling pkg-config which most probably queries the host, not the target FS - you have to make sure that the build process will find or build all the dependencies for ARM, which probably means it has to build ffmpeg - I don't know if all these are peculiarities of cmake or OpenCV, but it makes me wonder whether OpenCV is really supporting cross-compilation? - did you ask OpenCV community? Sorry to ask more questions :-) Christophe. On 12 February 2013 20:11, Derek Rollend wrote: > I added the lib path explicitly so I knew that arm-linux-gnueabihf-g++ was > definitely linking against the correct hard float libraries. Perhaps this > is unnecessary, but I just wanted to be sure. I've been using OpenCV 2.2 > because that was the version that was known to compile successfully from > that TI wiki page you sent earlier. I am now trying with 2.4.0, I'll let > you know if I succeed. > > It's definitely not easy. All the tools seem to be there, it's piecing > everything together correctly that is the tough part. Push on! > > > On Tue, Feb 12, 2013 at 1:35 PM, Fernan wrote: >> >> Hi Derek, >> >> Derek Rollend writes: >> >> > >> > >> > Add the Linaro toolchain bin directory to your PATH environment >> > variable: >> > export >> > PATH="/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux >> >>/bin:$PATH" >> >> ok. I thought there was a CMake variable like CMAKE_C_COMPILER_PATH. I use >> this >> http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_use_a_different_compiler.3F >> (method3). >> >> > On Mon, Feb 11, 2013 at 4:04 PM, Fernan >> wrote: >> > Derek Rollend ...> writes: >> > > >> > > >> > > Fernan, >> > > I'm using CMake 2.8.0. I have not tried to compile OpenCV with FFMPEG >> > > support >> > yet, although I will be trying to do this soon. I have only >> > successfully >> > compiled OpenCV 2.2 using the Linaro hard float compiler. Here is my >> > toolchain.cmake file: >> > > >> > > >> > > set( CMAKE_SYSTEM_NAME Linux ) >> > > set( CMAKE_SYSTEM_PROCESSOR arm ) >> > > set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc ) >> > > set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ ) >> > > set( CMAKE_CXX_FLAGS_RELEASE "-L >> > >/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/ >> >> >arm-linux-gnueabihf/lib -O3 -mcpu=cortex-a8 -mfpu=neon >> >> > -mfloat-abi=hard >> >> >-ftree-vectorize -ftree-vectorizer-verbose=3 -funroll-loops" ) >> >> > set( CMAKE_CXX_FLAGS_DEBUG "-L /opt/gcc-linaro-arm-linux-gnueabihf- >> >> >4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib >> >> >-O3 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard -ftree-vectorize >> >> >-ftree-vectorizer-verbose=3 -funroll-loops" ) >> > > >> >> I have just successfully compiled but without FFMPEG too, that is the >> problem. >> >> but first, I will ask you some question: >> >> Why you need to add the link path /opt/gcc-linaro-arm-linux-gnueabihf- >> 4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib? >> >> Why you use OpenCV2.2? The lastest stable release is OpenCV2.4.3. >> >> You see, I'm a newbie about cross compiling, I'll have to study concepts >> of >> cross-compilation, I thought it was easy. >> >> >> >> >> >> ___ >> linaro-toolchain mailing list >> linaro-toolchain@lists.linaro.org >> http://lists.linaro.org/mailman/listinfo/linaro-toolchain > > > > ___ > linaro-toolchain mailing list > linaro-toolchain@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-toolchain > ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: aarch64 does not run
Thanks, I install ia32-lib and now it works, but what a poor error message. To bad i would at least tell you what file wasn't found. -- Wink On Sun, Feb 10, 2013 at 3:23 AM, Mans Rullgard wrote: > On 10 February 2013 04:36, Wink Saville wrote: > > I downloaded the aarch64 binaries to a ubuntu machine: > > > > wink@ssi-primary:~$ uname -a > > Linux ssi-primary 3.5.0-21-generic #32-Ubuntu SMP Tue Dec 11 18:51:59 > UTC > > 2012 x86_64 x86_64 x86_64 GNU/Linux > > > > > > And when I try to run gcc-4.7.3: > > > > wink@ssi-primary:~$ ls -al > > > ~/aarch64-toolchain/gcc-linaro-aarch64-linux-gnu-4.7+bzr115029-20121015+bzr2506_linux/bin/aarch64-linux-gnu-gcc-4.7.3 > > -rwxr-xr-x 1 wink wink 553068 Oct 18 14:21 > > > /home/wink/aarch64-toolchain/gcc-linaro-aarch64-linux-gnu-4.7+bzr115029-20121015+bzr2506_linux/bin/aarch64-linux-gnu-gcc-4.7.3 > > > > I get a file not found: > > > > wink@ssi-primary:~$ strace > > > /home/wink/aarch64-toolchain/gcc-linaro-aarch64-linux-gnu-4.7+bzr115029-20121015+bzr2506_linux/bin/aarch64-linux-gnu-gcc-4.7.3 > > -v > > > > > execve("/home/wink/aarch64-toolchain/gcc-linaro-aarch64-linux-gnu-4.7+bzr115029-20121015+bzr2506_linux/bin/aarch64-linux-gnu-gcc-4.7.3", > > ["/home/wink/aarch64-toolchain/gcc"..., "-v"], [/* 19 vars */]) = -1 > > ENOENT (No such file or directory) > > This error usually means the executable is requesting a non-existent > "interpreter" (dynamic loader). You need to install the 32-bit compat > lib package. I don't remember what it's called on ubuntu, probably > ia32-libs or similar. > > -- > Mans Rullgard / mru > ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain