Artifact 8ae54b257135e791a9200048126897a07bd63446:
Wiki page
[
Build instructions] by
schelte
2018-02-03 12:46:21.
0000: 44 20 32 30 31 38 2d 30 32 2d 30 33 54 31 32 3a D 2018-02-03T12:
0010: 34 36 3a 32 31 2e 36 38 38 0a 4c 20 42 75 69 6c 46:21.688.L Buil
0020: 64 5c 73 69 6e 73 74 72 75 63 74 69 6f 6e 73 0a d\sinstructions.
0030: 4e 20 74 65 78 74 2f 78 2d 6d 61 72 6b 64 6f 77 N text/x-markdow
0040: 6e 0a 50 20 62 34 66 61 36 35 32 64 33 64 66 39 n.P b4fa652d3df9
0050: 62 64 34 63 31 65 61 30 63 38 32 37 30 30 34 64 bd4c1ea0c827004d
0060: 35 65 63 37 38 61 66 65 36 61 66 39 0a 55 20 73 5ec78afe6af9.U s
0070: 63 68 65 6c 74 65 0a 57 20 31 37 35 35 0a 23 20 chelte.W 1755.#
0080: 42 75 69 6c 64 20 69 6e 73 74 72 75 63 74 69 6f Build instructio
0090: 6e 73 20 23 0d 0a 0d 0a 23 23 20 52 65 67 75 6c ns #....## Regul
00a0: 61 72 20 62 75 69 6c 64 20 23 23 0d 0a 54 6f 20 ar build ##..To
00b0: 62 65 20 61 62 6c 65 20 74 6f 20 62 75 69 6c 64 be able to build
00c0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 6f 6e 20 the library on
00d0: 61 20 52 61 73 70 62 65 72 72 79 20 50 69 20 69 a Raspberry Pi i
00e0: 74 73 65 6c 66 2c 20 79 6f 75 20 6e 65 65 64 20 tself, you need
00f0: 74 6f 20 64 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 to do the follow
0100: 69 6e 67 3a 0d 0a 0d 0a 2d 20 49 6e 73 74 61 6c ing:....- Instal
0110: 6c 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 74 l the packages t
0120: 63 6c 38 2e 35 2d 64 65 76 2c 20 6c 69 62 69 32 cl8.5-dev, libi2
0130: 63 2d 64 65 76 2c 20 61 6e 64 20 61 75 74 6f 63 c-dev, and autoc
0140: 6f 6e 66 2c 20 69 66 20 6e 65 63 65 73 73 61 72 onf, if necessar
0150: 79 3a 20 60 73 75 64 6f 20 61 70 74 2d 67 65 74 y: `sudo apt-get
0160: 20 69 6e 73 74 61 6c 6c 20 74 63 6c 38 2e 35 2d install tcl8.5-
0170: 64 65 76 20 6c 69 62 69 32 63 2d 64 65 76 20 61 dev libi2c-dev a
0180: 75 74 6f 63 6f 6e 66 60 0d 0a 2d 20 44 6f 77 6e utoconf`..- Down
0190: 6c 6f 61 64 20 74 68 65 20 5b 70 69 69 6f 20 73 load the [piio s
01a0: 6f 75 72 63 65 73 5d 28 68 74 74 70 3a 2f 2f 63 ources](http://c
01b0: 68 69 73 65 6c 61 70 70 2e 63 6f 6d 2f 75 73 65 hiselapp.com/use
01c0: 72 2f 73 63 68 65 6c 74 65 2f 72 65 70 6f 73 69 r/schelte/reposi
01d0: 74 6f 72 79 2f 70 69 69 6f 2f 74 61 72 62 61 6c tory/piio/tarbal
01e0: 6c 2f 70 69 69 6f 2e 74 61 72 2e 67 7a 29 2e 0d l/piio.tar.gz)..
01f0: 0a 2d 20 55 6e 70 61 63 6b 20 74 68 65 20 74 61 .- Unpack the ta
0200: 72 62 61 6c 6c 3a 20 60 74 61 72 20 78 76 66 20 rball: `tar xvf
0210: 70 69 69 6f 2e 74 61 72 2e 67 7a 60 0d 0a 2d 20 piio.tar.gz`..-
0220: 47 6f 20 74 6f 20 74 68 65 20 73 6f 75 72 63 65 Go to the source
0230: 20 64 69 72 65 63 74 6f 72 79 3a 20 60 63 64 20 directory: `cd
0240: 70 69 69 6f 60 0d 0a 2d 20 47 65 74 20 74 68 65 piio`..- Get the
0250: 20 73 74 61 6e 64 61 72 64 20 74 63 6c 63 6f 6e standard tclcon
0260: 66 69 67 20 66 69 6c 65 73 3a 20 60 77 67 65 74 fig files: `wget
0270: 20 2d 71 4f 2d 20 68 74 74 70 3a 2f 2f 63 6f 72 -qO- http://cor
0280: 65 2e 74 63 6c 2e 74 6b 2f 74 63 6c 63 6f 6e 66 e.tcl.tk/tclconf
0290: 69 67 2f 74 61 72 62 61 6c 6c 2f 74 63 6c 63 6f ig/tarball/tclco
02a0: 6e 66 69 67 2e 74 61 72 2e 67 7a 20 7c 20 74 61 nfig.tar.gz | ta
02b0: 72 20 78 7a 76 60 0d 0a 2d 20 43 72 65 61 74 65 r xzv`..- Create
02c0: 20 74 68 65 20 63 6f 6e 66 69 67 75 72 65 20 73 the configure s
02d0: 63 72 69 70 74 20 66 72 6f 6d 20 63 6f 6e 66 69 cript from confi
02e0: 67 75 72 65 2e 69 6e 3a 20 60 61 75 74 6f 63 6f gure.in: `autoco
02f0: 6e 66 60 0d 0a 2d 20 49 20 70 72 65 66 65 72 20 nf`..- I prefer
0300: 74 6f 20 62 75 69 6c 64 20 69 6e 20 61 20 73 65 to build in a se
0310: 70 61 72 61 74 65 20 64 69 72 65 63 74 6f 72 79 parate directory
0320: 3a 20 60 6d 6b 64 69 72 20 62 75 69 6c 64 3b 63 : `mkdir build;c
0330: 64 20 62 75 69 6c 64 60 0d 0a 2d 20 52 75 6e 20 d build`..- Run
0340: 63 6f 6e 66 69 67 75 72 65 3a 20 60 2e 2e 2f 63 configure: `../c
0350: 6f 6e 66 69 67 75 72 65 20 2d 2d 77 69 74 68 2d onfigure --with-
0360: 74 63 6c 3d 2f 75 73 72 2f 6c 69 62 2f 74 63 6c tcl=/usr/lib/tcl
0370: 38 2e 35 60 0d 0a 2d 20 42 75 69 6c 64 20 74 68 8.5`..- Build th
0380: 65 20 6c 69 62 72 61 72 79 3a 20 60 6d 61 6b 65 e library: `make
0390: 60 0d 0a 2d 20 4f 70 74 69 6f 6e 61 6c 6c 79 20 `..- Optionally
03a0: 69 6e 73 74 61 6c 6c 20 69 74 3a 20 60 73 75 64 install it: `sud
03b0: 6f 20 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 60 0d o make install`.
03c0: 0a 0d 0a 23 23 20 43 72 6f 73 73 20 63 6f 6d 70 ...## Cross comp
03d0: 69 6c 69 6e 67 20 23 23 0d 0a 43 6f 6d 70 69 6c iling ##..Compil
03e0: 69 6e 67 20 6f 6e 20 74 68 65 20 52 61 73 70 62 ing on the Raspb
03f0: 65 72 72 79 20 50 69 20 69 74 73 65 6c 66 20 69 erry Pi itself i
0400: 73 20 73 6c 6f 77 2e 20 53 69 6e 63 65 20 74 68 s slow. Since th
0410: 65 20 63 6f 64 65 20 6f 66 20 74 68 65 20 70 69 e code of the pi
0420: 69 6f 20 6c 69 62 72 61 72 79 20 69 73 6e 27 74 io library isn't
0430: 20 76 65 72 79 20 62 69 67 2c 20 69 74 27 73 20 very big, it's
0440: 6e 6f 74 20 61 20 62 69 67 20 70 72 6f 62 6c 65 not a big proble
0450: 6d 2e 20 42 75 74 20 6f 66 20 63 6f 75 72 73 65 m. But of course
0460: 2c 20 69 74 27 73 20 61 6c 73 6f 20 70 6f 73 73 , it's also poss
0470: 69 62 6c 65 20 74 6f 20 63 72 6f 73 73 20 63 6f ible to cross co
0480: 6d 70 69 6c 65 20 74 68 65 20 6c 69 62 72 61 72 mpile the librar
0490: 79 20 6f 6e 20 61 20 6d 6f 72 65 20 70 6f 77 65 y on a more powe
04a0: 72 66 75 6c 20 6c 69 6e 75 78 20 73 79 73 74 65 rful linux syste
04b0: 6d 2e 20 54 6f 20 64 6f 20 74 68 61 74 2c 20 79 m. To do that, y
04c0: 6f 75 20 6e 65 65 64 20 61 20 63 72 6f 73 73 20 ou need a cross
04d0: 63 6f 6d 70 69 6c 65 20 65 6e 76 69 72 6f 6e 6d compile environm
04e0: 65 6e 74 2e 20 4f 6e 65 20 77 61 79 20 74 6f 20 ent. One way to
04f0: 63 72 65 61 74 65 20 74 68 61 74 20 69 73 20 75 create that is u
0500: 73 69 6e 67 20 5b 74 68 65 20 62 75 69 6c 64 2d sing [the build-
0510: 63 63 20 73 63 72 69 70 74 5d 28 68 74 74 70 3a cc script](http:
0520: 2f 2f 62 75 69 6c 64 2d 63 63 2e 72 6b 65 65 6e //build-cc.rkeen
0530: 65 2e 6f 72 67 2f 29 2e 20 4d 61 6b 65 20 73 75 e.org/). Make su
0540: 72 65 20 79 6f 75 20 68 61 76 65 20 69 6e 73 74 re you have inst
0550: 61 6c 6c 65 64 20 61 6c 6c 20 6e 65 63 65 73 73 alled all necess
0560: 61 72 79 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 ary development
0570: 70 61 63 6b 61 67 65 73 20 62 65 66 6f 72 65 20 packages before
0580: 72 75 6e 6e 69 6e 67 20 74 68 65 20 73 63 72 69 running the scri
0590: 70 74 2e 0d 0a 0d 0a 59 6f 75 27 6c 6c 20 61 6c pt.....You'll al
05a0: 73 6f 20 6e 65 65 64 20 61 20 73 74 75 62 73 20 so need a stubs
05b0: 6c 69 62 72 61 72 79 20 63 6f 6d 70 69 6c 65 64 library compiled
05c0: 20 66 6f 72 20 61 20 52 61 73 70 62 65 72 72 79 for a Raspberry
05d0: 20 50 69 2e 20 59 6f 75 20 63 61 6e 20 67 65 6e Pi. You can gen
05e0: 65 72 61 74 65 20 74 68 61 74 20 62 79 20 63 72 erate that by cr
05f0: 6f 73 73 20 63 6f 6d 70 69 6c 69 6e 67 20 54 63 oss compiling Tc
0600: 6c 20 66 69 72 73 74 2e 0d 0a 0d 0a 4e 65 78 74 l first.....Next
0610: 2c 20 72 75 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 , run the follow
0620: 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 3a 0d 0a 0d ing commands:...
0630: 0a 20 20 20 20 77 67 65 74 20 2d 71 4f 2d 20 68 . wget -qO- h
0640: 74 74 70 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2e 74 ttp://core.tcl.t
0650: 6b 2f 74 63 6c 63 6f 6e 66 69 67 2f 74 61 72 62 k/tclconfig/tarb
0660: 61 6c 6c 2f 74 63 6c 63 6f 6e 66 69 67 2e 74 61 all/tclconfig.ta
0670: 72 2e 67 7a 20 7c 20 74 61 72 20 78 7a 76 0d 0a r.gz | tar xzv..
0680: 20 20 20 20 61 75 74 6f 63 6f 6e 66 0d 0a 20 20 autoconf..
0690: 20 20 6d 6b 64 69 72 20 62 75 69 6c 64 0d 0a 20 mkdir build..
06a0: 20 20 20 63 64 20 62 75 69 6c 64 0d 0a 20 20 20 cd build..
06b0: 20 65 76 61 6c 20 24 28 7e 2f 72 6f 6f 74 2f 63 eval $(~/root/c
06c0: 72 6f 73 73 2d 63 6f 6d 70 69 6c 65 72 73 2f 73 ross-compilers/s
06d0: 65 74 75 70 2d 63 63 20 61 72 6d 76 36 2d 68 61 etup-cc armv6-ha
06e0: 72 64 66 6c 6f 61 74 2d 6c 69 6e 75 78 2d 67 6e rdfloat-linux-gn
06f0: 75 65 61 62 69 29 0d 0a 20 20 20 20 2e 2e 2f 63 ueabi).. ../c
0700: 6f 6e 66 69 67 75 72 65 20 2d 68 6f 73 74 3d 61 onfigure -host=a
0710: 72 6d 76 36 2d 68 61 72 64 66 6c 6f 61 74 2d 6c rmv6-hardfloat-l
0720: 69 6e 75 78 2d 67 6e 75 65 61 62 69 20 2d 2d 77 inux-gnueabi --w
0730: 69 74 68 2d 74 63 6c 3d 7e 2f 72 70 69 2f 74 63 ith-tcl=~/rpi/tc
0740: 6c 38 2e 35 2e 31 35 2f 62 75 69 6c 64 0d 0a 20 l8.5.15/build..
0750: 20 20 20 6d 61 6b 65 0d 0a 0a 5a 20 30 35 38 63 make...Z 058c
0760: 37 37 36 65 34 62 37 63 66 37 65 35 38 38 30 66 776e4b7cf7e5880f
0770: 32 65 66 64 34 39 38 39 36 65 38 30 0a 2efd49896e80.