Coder Social home page Coder Social logo

droboports / docker-cross-compiler Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 6.0 35 KB

Docker container for Drobo cross-compilation

Home Page: https://registry.hub.docker.com/u/droboports/compiler/

License: GNU General Public License v2.0

Shell 36.50% Dockerfile 63.50%

docker-cross-compiler's People

Contributors

blech75 avatar ricardopadilha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

docker-cross-compiler's Issues

No such file 'pcre-8.37.tar.bz2'.

I was playing around to see how to compile openvpn and got the error No such file 'pcre-8.37.tar.bz2'.. I tried with different packages and got the same error, this was after pulling from docker-hub.

Below are the details of an interactive session trying to build busybox while I was troubleshooting

๐Ÿ”  [13:55:27] buritica:src $ docker run --rm -t -i droboports/compiler
INFO: Do not forget to export GOPATH=/mnt/DroboFS/Shares/DroboApps/<appname> if using the Golang compiler
drobo@7b975b237f01:/$ cd ~/build/
drobo@7b975b237f01:~/build$ ls
drobo@7b975b237f01:~/build$ git clone https://github.com/droboports/busybox.git
Cloning into 'busybox'...
remote: Counting objects: 33, done.
remote: Total 33 (delta 0), reused 0 (delta 0), pack-reused 33
Unpacking objects: 100% (33/33), done.
Checking connectivity... done.
drobo@7b975b237f01:~/build$ cd busybox/
drobo@7b975b237f01:~/build/busybox$ ./build.sh
++ date +%Y-%m-%d_%H-%M-%S
+ timestamp=2016-09-12_17-56-04
+ logfile=logfile_2016-09-12_17-56-04.txt
+ echo './build.sh '
+ '[' -z '' ']'
+ exec
+ exec
++ tee -a logfile_2016-09-12_17-56-04.txt
++ tee -a logfile_2016-09-12_17-56-04.txt
+ . crosscompile.sh
++ export DROBO=5n
++ DROBO=5n
++ export TOOLCHAIN=/home/drobo/xtools/toolchain/5n
++ TOOLCHAIN=/home/drobo/xtools/toolchain/5n
++ export ARCH=armv7-a
++ ARCH=armv7-a
++ export HOST=arm-marvell-linux-gnueabi
++ HOST=arm-marvell-linux-gnueabi
++ export 'PATH=/home/drobo/xtools/toolchain/5n/bin:~/bin:/home/drobo/xtools/golang/5n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
++ PATH='/home/drobo/xtools/toolchain/5n/bin:~/bin:/home/drobo/xtools/golang/5n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
++ export 'CFLAGS=-march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp'
++ CFLAGS='-march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp'
++ export 'CXXFLAGS=-march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp'
++ CXXFLAGS='-march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp'
++ export CC=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-gcc
++ CC=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-gcc
++ export CXX=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-g++
++ CXX=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-g++
++ export AR=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-ar
++ AR=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-ar
++ export AS=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-as
++ AS=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-as
++ export RANLIB=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-ranlib
++ RANLIB=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-ranlib
++ export STRIP=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-strip
++ STRIP=/home/drobo/xtools/toolchain/5n/bin/arm-marvell-linux-gnueabi-strip
++ export DROBOAPPS=/mnt/DroboFS/Shares/DroboApps
++ DROBOAPPS=/mnt/DroboFS/Shares/DroboApps
++ basename /home/drobo/build/busybox
+ export NAME=busybox
+ NAME=busybox
+ export DEST=/mnt/DroboFS/Shares/DroboApps/busybox
+ DEST=/mnt/DroboFS/Shares/DroboApps/busybox
+ export DEPS=/home/drobo/build/busybox/target/install
+ DEPS=/home/drobo/build/busybox/target/install
+ export 'CFLAGS=-march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp -Os -fPIC'
+ CFLAGS='-march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp -Os -fPIC'
+ export 'CXXFLAGS=-march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp -march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp -Os -fPIC'
+ CXXFLAGS='-march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp -march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp -Os -fPIC'
+ export CPPFLAGS=-I/home/drobo/build/busybox/target/install/include
+ CPPFLAGS=-I/home/drobo/build/busybox/target/install/include
+ export 'LDFLAGS= -Wl,-rpath,/mnt/DroboFS/Shares/DroboApps/busybox/lib -L/mnt/DroboFS/Shares/DroboApps/busybox/lib'
+ LDFLAGS=' -Wl,-rpath,/mnt/DroboFS/Shares/DroboApps/busybox/lib -L/mnt/DroboFS/Shares/DroboApps/busybox/lib'
+ alias 'make=make -j4 V=1 VERBOSE=1'
+ . app.sh
++ CFLAGS='-march=armv7-a -mcpu=marvell-pj4 -mfpu=vfpv3-d16 -mfloat-abi=softfp -Os -fPIC -ffunction-sections -fdata-sections'
++ LDFLAGS='-L/mnt/DroboFS/Shares/DroboApps/busybox/lib -L/home/drobo/build/busybox/target/install/lib -Wl,--gc-sections'
+ '[' -n '' ']'
+ _build
+ _build_pcre
+ local VERSION=8.37
+ local FOLDER=pcre-8.37
+ local FILE=pcre-8.37.tar.bz2
+ local URL=ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.bz2
+ _download_bz2 pcre-8.37.tar.bz2 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.bz2 pcre-8.37
+ [[ ! -d download ]]
+ mkdir -p download
+ [[ ! -d target ]]
+ mkdir -p target
+ [[ ! -f download/pcre-8.37.tar.bz2 ]]
+ wget -O download/pcre-8.37.tar.bz2 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.bz2
--2016-09-12 17:56:04--  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.bz2
           => 'download/pcre-8.37.tar.bz2'
Resolving ftp.csx.cam.ac.uk (ftp.csx.cam.ac.uk)... 131.111.8.115
Connecting to ftp.csx.cam.ac.uk (ftp.csx.cam.ac.uk)|131.111.8.115|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /pub/software/programming/pcre ... done.
==> SIZE pcre-8.37.tar.bz2 ... done.
==> PASV ... done.    ==> RETR pcre-8.37.tar.bz2 ...
No such file 'pcre-8.37.tar.bz2'.

Seems like the pcre dependency is no longer available in the FTP server, I'll have a look and see if I can fix this myself and send PR.

Thanks!

wget failing after swap to pasv

It appears network the ftp's network connectivity is not playing nice with the build process as outlined on the readme: https://github.com/droboports/docker-cross-compiler

FTP switches to pasv mode and times out, despite the machine on which this is being built being fully DMZ'd:

docker build --tag="droboports/compiler" https://github.com/droboports/docker-cross-compiler.git
Sending build context to Docker daemon 107.5 kB
Step 1 : FROM ubuntu:14.04
---> 90d5884b1ee0
Step 2 : MAINTAINER [email protected]
---> Using cache
---> 81cc3c0fa791
Step 3 : ENV USER_ID 1000
---> Using cache
---> 73022a77705f
Step 4 : ENV GROUP_ID 1000
---> Using cache
---> c6ff2c3d285e
Step 5 : ENV PYTHON_VERSION 2.7.10
---> Using cache
---> eca2503d604e
Step 6 : ENV GOLANG_VERSION 1.5.1
---> Using cache
---> b80b22ed1189
Step 7 : ENV GOARCH arm
---> Using cache
---> 8eb2cdc42cf9
Step 8 : ENV GOARM 7
---> Using cache
---> 61f91af11c65
Step 9 : RUN set -x; apt-get -y update && apt-get -y install software-properties-common && add-apt-repository -y ppa:git-core/ppa && add-apt-repository -y ppa:openjdk-r/ppa && apt-get -y update && apt-get clean && apt-get autoclean
---> Using cache
---> 7a678d59e23a
Step 10 : COPY packages.txt /packages.txt
---> Using cache
---> b11933563f9b
Step 11 : RUN set -x; apt-get -y install $(cat /packages.txt) && apt-get clean && apt-get autoclean
---> Using cache
---> 40e0df0052a6
Step 12 : RUN set -x; dpkg --add-architecture i386 && apt-get -y update && apt-get -y install libc6:i386 libncurses5:i386 libstdc++6:i386 && apt-get clean && apt-get autoclean
---> Using cache
---> 433773fef111
Step 13 : RUN set -x; groupadd -r -g $GROUP_ID drobo && useradd -r -u $USER_ID -g drobo -G sudo drobo && echo drobo:drobo | chpasswd
---> Using cache
---> 80d971d25e2f
Step 14 : RUN set -x; wget -O /tmp/SDK-2.1.zip ftp://updates.drobo.com/droboapps/development/SDK-2.1.zip && unzip -d /tmp/ /tmp/SDK-2.1.zip && mkdir -p /home/drobo/xtools/toolchain/5n && tar -zxf "/tmp/DroboApps SDK 2.1/arm7-tools.gz" -C /home/drobo/xtools/toolchain/5n && rm -fr /tmp/SDK-2.1.zip "/tmp/DroboApps SDK 2.1"
---> Running in 16588e6b2ed4

  • wget -O /tmp/SDK-2.1.zip ftp://updates.drobo.com/droboapps/development/SDK-2.1.zip
    --2016-05-14 01:22:52-- ftp://updates.drobo.com/droboapps/development/SDK-2.1.zip
    => '/tmp/SDK-2.1.zip'
    Resolving updates.drobo.com (updates.drobo.com)... 166.78.35.9
    Connecting to updates.drobo.com (updates.drobo.com)|166.78.35.9|:21... connected.
    Logging in as anonymous ... Logged in!
    ==> SYST ... done. ==> PWD ... done.
    ==> TYPE I ... done. ==> CWD (1) /droboapps/development ... done.
    ==> SIZE SDK-2.1.zip ... 71249071

==> PASV ... done. ==> RETR SDK-2.1.zip ...

(It then sits there evermore)

No source provided for cross compilation toolchain

The Dockerfile downloads a prebuilt copy of the cross compilation toolchain from ftp://updates.drobo.com/droboapps/development/SDK-2.1.zip but I cannot seem to find the source code for that anywhere. How can I build the build environment from scratch?

Description clarification

Just a suggestion. Add a clear indication or and overview of the purpose of this repo. I can't tell at a glance if this is for compiling droboports packages or for running docker on a Drobo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.