To get to some features that I want from master, I'm trying to cross-build for the Raspberry PI.

The host is a 32-bit x86 Fedora 20. It's a new VPS, so there's not much cruft lying about.

The target is debian (Wheezy) as distributed by RPI

I have made no changes to build or build.vars; I do have a wrapper script that runs the build.

I've made some progress, but am currently stuck.

First issue: OpenSSL doesn't build due to pod issues in the auto-generated man/html doc. (perl is 5.18.2; I suspect its pod parser is stricter than older versions). Since I don't care about the man/html pages, I patched that out.

Second issue: openvpn configure dies wanting the route command - not standard in F20. Installed net-tools. Also had to install patch.

Third issue:  LZO build warnings from configure:
configure: WARNING: lzo/lzoutil.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: lzo/lzoutil.h: proceeding with the compiler's result
configure: WARNING: lzo/lzo1x.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: lzo/lzo1x.h: proceeding with the compiler's result

Fourth issue:
configure: error: libpam required but missing
FATAL: Configure openvpn

And here I'm stuck. I can install libpam-dev on the RPI (apt-get turns it into libpam0g-dev), but where to put the headers (and sos) in the maze of x-compile directories escapes me.

On the RPI:
    The .sos are in /lib/arm-linux-gnueabihf/libpam*
    The .hs are in /usr/include/security/

What exactly do I need to copy to the compile host, and where do the files go?

My exact build attempt (I script it so I can reproduce results) is:

#!/bin/bash

cd /user || exit

# Get the RPI cross tools (compilers are configured for the RPI BCM CPU)

mkdir -p rpi || exit
cd rpi || exit
git clone git://github.com/raspberrypi/tools.git tools || exit

# openvpn build system

cd /user ||exit
mkdir -p openvpn || exit
cd openvpn || exit

git clone https://github.com/OpenVPN/openvpn-build.git openvpn-build

cd /user/openvpn/openvpn-build/generic || exit

export CCFLAGS="-march=armv4 -mno-thumb-interwork"
export PATH=/user/rpi/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin:$PATH

# There are syntax errors in the generated pod that kill the openssl install. Since we don't need the
# documentation for this cross-build, disable the utilities

for U in pod2man pod2html pod2text pod2usage; do
    util=`which $U`
    if [ ! -L $util ]; then
        if [ -e ${util}.orig ]; then
            rm -f $util
        else
            mv $util ${util}.orig
        fi
        ln -s `which true` $util
    fi
done

IMAGEROOT=`pwd`/image-rpi CHOST=arm-bcm2708-linux-gnueabi CBUILD=x86_64-pc-linux-gnu ./build
rv=$?

for U in pod2man pod2html pod2text pod2usage; do
    util=`which $U`
    if [ -e ${util}.orig ]; then
        rm -f $util
        cp -p ${util}.orig $util
    fi
done
exit $rv

#EOF

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users

Reply via email to