<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.openlighting.org/index.php?action=history&amp;feed=atom&amp;title=Cross_Compiling_OLA</id>
		<title>Cross Compiling OLA - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.openlighting.org/index.php?action=history&amp;feed=atom&amp;title=Cross_Compiling_OLA"/>
		<link rel="alternate" type="text/html" href="https://wiki.openlighting.org/index.php?title=Cross_Compiling_OLA&amp;action=history"/>
		<updated>2026-04-08T15:20:59Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>https://wiki.openlighting.org/index.php?title=Cross_Compiling_OLA&amp;diff=5495&amp;oldid=prev</id>
		<title>Nomis52: Created page with &quot;These are Simon's raw notes, it's similar to OLA_on_Android. It's not working correctly right now, I'm not sure what's wrong.  This assumes you're building for ARM on a De...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.openlighting.org/index.php?title=Cross_Compiling_OLA&amp;diff=5495&amp;oldid=prev"/>
				<updated>2013-07-13T18:18:37Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;These are Simon&amp;#039;s raw notes, it&amp;#039;s similar to &lt;a href=&quot;/index.php/OLA_on_Android&quot; title=&quot;OLA on Android&quot;&gt;OLA_on_Android&lt;/a&gt;. It&amp;#039;s not working correctly right now, I&amp;#039;m not sure what&amp;#039;s wrong.  This assumes you&amp;#039;re building for ARM on a De...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;These are Simon's raw notes, it's similar to [[OLA_on_Android]]. It's not working correctly right now, I'm not sure what's wrong.&lt;br /&gt;
&lt;br /&gt;
This assumes you're building for ARM on a Debian Wheezy machine. We do all the work in &amp;lt;tt&amp;gt;~/arm-cross&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
http://wiki.debian.org/BuildingCrossCompilers describes how to get a working toolchain going.&lt;br /&gt;
&lt;br /&gt;
Edit /etc/apt/sources.list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb http://www.emdebian.org/debian/ wheezy main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apt-get install g++-4.7-arm-linux-gnueabi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This installs &amp;lt;tt&amp;gt;arm-linux-gnueabi-g++-4.7&amp;lt;/tt&amp;gt;, but to make things easier we need to setup symlinks so that &amp;lt;tt&amp;gt;arm-linux-gnueabi-g++&amp;lt;/tt&amp;gt; works:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo update-alternatives --install /usr/bin/arm-linux-gnueabi-gcc arm-linux-gnueabi-gcc /usr/bin/arm-linux-gnueabi-gcc-4.7 46 --slave /usr/bin/arm-linux-gnueabi-g++ arm-linux-gnueabi-g++ /usr/bin/arm-linux-gnueabi-g++-4.7 --slave /usr/bin/arm-linux-gnueabi-gcov arm-linux-gnueabi-gcov /usr/bin/arm-linux-gnueabi-gcov-4.7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup a Target Root ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/arm-cross/dest &lt;br /&gt;
cd arm-cross&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build protobuf ==&lt;br /&gt;
&lt;br /&gt;
Wheezy comes with 2.4.1 which is a pain since you need to generate the protobuf headers with the same version as you compile against. Either use the 2.4.1 version or build 2.5.0 locally (but don't install).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar -zxf protobuf-2.5.0.tar.gz&lt;br /&gt;
mv protobuf-2.5.0 protobuf-2.5.0-native&lt;br /&gt;
cd protobuf-2.5.0-native&lt;br /&gt;
./configure&lt;br /&gt;
make&lt;br /&gt;
pwd  # make a note of this, you need it for the --with-protoc option below&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now build the ARM one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar -zxf protobuf-2.5.0.tar.gz&lt;br /&gt;
cd protobuf-2.5.0&lt;br /&gt;
./configure   --host=arm-linux-gnueabi --with-protoc=/tmp/protobuf-2.5.0-native/src/protoc&lt;br /&gt;
DESTDIR=~/arm-cross/dest/ make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== E2FS Progs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar -zxf e2fsprogs-1.42.8.tar.gz &lt;br /&gt;
cd e2fsprogs-1.42.8/&lt;br /&gt;
./configure   --host=arm-linux-gnueabi --prefix=/usr/local&lt;br /&gt;
cd lib/uuid&lt;br /&gt;
make&lt;br /&gt;
DESTDIR=/home/simon/lighting/arm-cross/dest/ make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OLA ==&lt;br /&gt;
&lt;br /&gt;
You need version 0.8.31 or the version from git.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ola&lt;br /&gt;
autoreconf -i&lt;br /&gt;
export ac_cv_func_malloc_0_nonnull=yes&lt;br /&gt;
export PKG_CONFIG_PATH=~/arm-cross/dest/usr/local/lib/pkgconfig/&lt;br /&gt;
export PKG_CONFIG_SYSROOT_DIR=~/arm-cross/dest/&lt;br /&gt;
./configure   --host=arm-linux-gnueabi  --disable-http --disable-unittests  --disable-libftdi  --disable-spi --disable-osc --with-protoc=/tmp/protobuf-2.5.0/src/protoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The last step fails.&lt;/div&gt;</summary>
		<author><name>Nomis52</name></author>	</entry>

	</feed>