1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#! /usr/bin/env bash
# set -x
# Copyright 2007-2014, Matthew Welland.
#
# This program is made available under the GNU GPL version 2.0 or
# greater. See the accompanying file COPYING for details.
#
# This program is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE.
echo You may need to do the following first:
echo sudo apt-get install libreadline-dev
echo sudo apt-get install libwebkitgtk-dev
echo sudo apt-get install libpangox-1.0-0 zlib1g-dev libfreetype6-dev cmake
echo sudo apt-get install libssl-dev
echo sudo apt-get install uuid-dev
echo sudo apt-get install libmotif3 -OR- set KTYPE=26g4
echo
echo Set OPTION to std, currently OPTION=$OPTION
echo
echo Additionally, if you want mysql-client, you will need to make sure
echo mysql_config is in your path
echo
echo You are using PREFIX=$PREFIX
echo You are using proxy="$proxy"
echo
echo "Set additional_libpath to help find gtk or other libraries, don't forget a leading :"
SYSTEM_TYPE=$(lsb_release -irs |tr ' ' '_' |tr '\n' '-')$(uname -i)-$OPTION
# Set up variables
#
case $SYSTEM_TYPE in
Ubuntu-16.04-x86_64-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
;;
Ubuntu-16.04-i686-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
;;
SUSE_LINUX_11-x86_64-std)
KTYPE=26g4
CDVER=5.10
IUPVER=3.17
IMVER=3.11
;;
CentOS_5.11-x86_64-std)
KTYPE=24g3
CDVER=5.4.1
IUPVER=3.5
IMVER=3.6.3
;;
esac
echo KTYPE=$KTYPE
echo CDVER=$CDVER
echo IUPVER=$IUPVER
echo IMVER=$IMVER
# NOTES:
#
# Centos with security setup may need to do commands such as following as root:
#
# NB// fix the paths first
#
# for a in /localdisk/chicken/4.8.0/lib/*.so;do chcon -t textrel_shlib_t $a; done
|
>
>
>
>
>
>
>
|
|
|
|
<
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
#! /usr/bin/env bash
# This file installs prerequisites for megatest (chicken, eggs, etc.)
# Before running this script, set PREFIX environment variable
# to chicken install target area. /opt/chicken is a typical value
# set -x
# Copyright 2007-2014, Matthew Welland.
#
# This program is made available under the GNU GPL version 2.0 or
# greater. See the accompanying file COPYING for details.
#
# This program is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE.
if [[ $OPTION=="" ]]; then
export OPTION=std
fi
echo You may need to do the following first:
echo sudo apt install libreadline-dev
echo sudo apt install libwebkitgtk-dev
echo sudo apt install libpangox-1.0-0 zlib1g-dev libfreetype6-dev cmake
echo sudo apt install libssl-dev uuid-dev
echo sudo apt install libmotif3 -OR- set KTYPE=26g4
echo sudo apt install cmake
echo
echo Set OPTION to std, currently OPTION=$OPTION
echo
echo Additionally, if you want mysql-client, you will need to make sure
echo mysql_config is in your path
echo for postgres to install dbi libpq-dev
echo
echo You are using PREFIX=$PREFIX
echo You are using proxy="$proxy"
echo
echo "Set additional_libpath to help find gtk or other libraries, don't forget a leading :"
SYSTEM_TYPE=$(lsb_release -irs |tr ' ' '_' |tr '\n' '-')$(uname -i)-$OPTION
CHICKEN_VERSION=4.11.0
CHICKEN_BASEVER=4.11.0
# Set up variables
#
case $SYSTEM_TYPE in
Ubuntu-17.04-x86_64-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
CHICKEN_VERSION=4.12.0
CHICKEN_BASEVER=4.12.0
;;
Ubuntu-16.04-x86_64-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
CHICKEN_VERSION=4.12.0
CHICKEN_BASEVER=4.12.0
;;
Ubuntu-16.04-i686-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
CHICKEN_VERSION=4.12.0
CHICKEN_BASEVER=4.12.0
;;
SUSE_LINUX_11-x86_64-std)
KTYPE=26g4
CDVER=5.10
IUPVER=3.17
IMVER=3.11
;;
CentOS_5.11-x86_64-std)
KTYPE=24g3
CDVER=5.4.1
IUPVER=3.5
IMVER=3.6.3
;;
esac
echo SYSTEM_TYPE=$SYSTEM_TYPE
echo KTYPE=$KTYPE
echo CDVER=$CDVER
echo IUPVER=$IUPVER
echo IMVER=$IMVER
echo CHICKEN_VERSION=$CHICKEN_VERSION
echo CHICKEN_BASEVER=$CHICKEN_BASEVER
# NOTES:
#
# Centos with security setup may need to do commands such as following as root:
#
# NB// fix the paths first
#
# for a in /localdisk/chicken/4.8.0/lib/*.so;do chcon -t textrel_shlib_t $a; done
|
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
sleep 5
if [[ $proxy == "" ]]; then
echo 'Please set the environment variable "proxy" to host.com:port (e.g. foo.com:1234) to use a proxy'
echo PROX=""
else
export http_proxy=http://$proxy
export PROX="-proxy $proxy"
fi
if [[ $KTYPE == "" ]]; then
echo 'Using KTYPE=26'
export KTYPE=26g4
else
echo Using KTYPE=$KTYPE
fi
# Put all the downloaded tar files in tgz
mkdir -p tgz
# http://code.call-cc.org/releases/4.8.0/chicken-4.8.0.5.tar.gz
export CHICKEN_VERSION=4.11.0
export CHICKEN_BASEVER=4.11.0
chicken_targz=chicken-${CHICKEN_VERSION}.tar.gz
if ! [[ -e tgz/$chicken_targz ]]; then
wget http://code.call-cc.org/releases/${CHICKEN_BASEVER}/${chicken_targz}
mv $chicken_targz tgz
fi
BUILDHOME=$PWD
|
>
<
<
|
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
sleep 5
if [[ $proxy == "" ]]; then
echo 'Please set the environment variable "proxy" to host.com:port (e.g. foo.com:1234) to use a proxy'
echo PROX=""
else
export http_proxy=http://$proxy
export https_proxy=http://$proxy
export PROX="-proxy $proxy"
fi
if [[ $KTYPE == "" ]]; then
echo 'Using KTYPE=26'
export KTYPE=26g4
else
echo Using KTYPE=$KTYPE
fi
# Put all the downloaded tar files in tgz
mkdir -p tgz
# http://code.call-cc.org/releases/4.8.0/chicken-4.8.0.5.tar.gz
chicken_targz=chicken-${CHICKEN_VERSION}.tar.gz
if ! [[ -e tgz/$chicken_targz ]]; then
wget http://code.call-cc.org/releases/${CHICKEN_BASEVER}/${chicken_targz}
mv $chicken_targz tgz
fi
BUILDHOME=$PWD
|
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
|
cd chicken-${CHICKEN_VERSION}
# make PLATFORM=linux PREFIX=$PREFIX spotless
make PLATFORM=linux PREFIX=$PREFIX
make PLATFORM=linux PREFIX=$PREFIX install
cd $BUILDHOME
fi
cd $BUILDHOME
#wget --no-check-certificate https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz
#mv 1.0.0 1.0.0.tar.gz
# if ! [[ -e $PREFIX/lib64/libnanomsg.so.1.0.0 ]]; then
# wget --no-check-certificate https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz
# mv 1.0.0 1.0.0.tar.gz
# tar xf 1.0.0.tar.gz
# cd nanomsg-1.0.0
# ./configure --prefix=$PREFIX
# make
# make install
# fi
# cd $BUILDHOME
export SQLITE3_VERSION=3090200
if ! [[ -e $PREFIX/bin/sqlite3 ]]; then
echo Install sqlite3
sqlite3_tgz=sqlite-autoconf-$SQLITE3_VERSION.tar.gz
if ! [[ -e tgz/$sqlite3_tgz ]]; then
wget http://www.sqlite.org/2015/$sqlite3_tgz
mv $sqlite3_tgz tgz
fi
if ! [[ -e $PREFIX/bin/sqlite3 ]] ; then
if [[ -e tgz/sqlite-autoconf-$SQLITE3_VERSION.tar.gz ]]; then
tar xfz tgz/sqlite-autoconf-$SQLITE3_VERSION.tar.gz
(cd sqlite-autoconf-$SQLITE3_VERSION;./configure --prefix=$PREFIX;make;make install)
fi
fi
fi
cd $BUILDHOME
# Some eggs are quoted since they are reserved to Bash
# for f in matchable readline apropos base64 regex-literals format "regex-case" "test" coops trace csv dot-locking posix-utils posix-extras directory-utils hostinfo tcp rpc csv-xml fmt json md5; do
# $CHICKEN_INSTALL $PROX -keep-installed matchable readline apropos base64 regex-literals format "regex-case" "test" coops trace csv dot-locking posix-utils posix-extras directory-utils hostinfo tcp rpc csv-xml fmt json md5 awful http-client spiffy uri-common intarweb http-client spiffy-request-vars md5 message-digest http-client spiffy-directory-listing
for egg in matchable readline apropos base64 regex-literals format "regex-case" "test" \
coops trace csv dot-locking posix-utils posix-extras directory-utils hostinfo \
tcp rpc csv-xml fmt json md5 awful http-client spiffy uri-common intarweb http-client \
spiffy-request-vars s md5 message-digest spiffy-directory-listing ssax sxml-serializer \
sxml-modifications logpro z3 call-with-environment-variables \
pathname-expand typed-records simple-exceptions numbers crypt parley srfi-42 \
alist-lib ansi-escape-sequences args basic-sequences bindings chicken-doc chicken-doc-cmd \
cock condition-utils debug define-record-and-printer easyffi easyffi-base \
expand-full ezxdisp filepath foof-loop ini-file irc lalr lazy-seq \
locale locale-builtin locale-categories locale-components locale-current locale-posix \
locale-timezone loops low-level-macros procedural-macros refdb rfc3339 scsh-process \
sexp-diff sha1 shell slice srfi-101 srfi-19 srfi-19-core srfi-19-date srfi-19-io \
srfi-19-period srfi-19-support srfi-19-time srfi-19-timezone srfi-29 srfi-37 srfi-78 syslog \
udp uuid uuid-lib zlib
do
echo "Installing $egg"
$CHICKEN_INSTALL $PROX -keep-installed $egg
#$CHICKEN_INSTALL $PROX $egg
if [ $? -ne 0 ]; then
echo "$egg failed to install"
exit 1
fi
done
if [[ -e `which mysql_config` ]]; then
$CHICKEN_INSTALL $PROX -keep-installed mysql-client
fi
for egg in "sqlite3" sql-de-lite # nanomsg
do
echo "Installing $egg"
CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib -L$PREFIX/lib64" $CHICKEN_INSTALL $PROX -keep-installed $egg
#CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib -L$PREFIX/lib64" $CHICKEN_INSTALL $PROX $egg
if [ $? -ne 0 ]; then
echo "$egg failed to install"
exit 1
fi
done
cd $BUILDHOME
cd `$PREFIX/bin/csi -p '(chicken-home)'`
curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | tar zx
cd $BUILDHOME
|
>
|
|
>
|
|
|
|
|
|
|
|
>
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
|
|
<
<
<
<
<
<
<
<
<
<
|
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
cd chicken-${CHICKEN_VERSION}
# make PLATFORM=linux PREFIX=$PREFIX spotless
make PLATFORM=linux PREFIX=$PREFIX
make PLATFORM=linux PREFIX=$PREFIX install
cd $BUILDHOME
fi
cd $BUILDHOME
#if [[ ! -e 1.0.0.tar.gz ]];then
# wget --no-check-certificate https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz
# mv 1.0.0 1.0.0.tar.gz
#fi
if ! [[ -e $PREFIX/lib64/libnanomsg.so.1.0.0 ]]; then
wget --no-check-certificate https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz
#mv 1.0.0 1.0.0.tar.gz
tar xf 1.0.0.tar.gz
cd nanomsg-1.0.0
./configure --prefix=$PREFIX
make
make install
CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib" $CHICKEN_INSTALL $PROX nanomsg
fi
cd $BUILDHOME
export SQLITE3_VERSION=3090200
if ! [[ -e $PREFIX/bin/sqlite3 ]]; then
echo Install sqlite3
sqlite3_tgz=sqlite-autoconf-$SQLITE3_VERSION.tar.gz
if ! [[ -e tgz/$sqlite3_tgz ]]; then
wget http://www.sqlite.org/2015/$sqlite3_tgz
mv $sqlite3_tgz tgz
fi
if ! [[ -e $PREFIX/bin/sqlite3 ]] ; then
if [[ -e tgz/sqlite-autoconf-$SQLITE3_VERSION.tar.gz ]]; then
tar xfz tgz/sqlite-autoconf-$SQLITE3_VERSION.tar.gz
(cd sqlite-autoconf-$SQLITE3_VERSION;./configure --prefix=$PREFIX;make;make install)
fi
fi
fi
cd $BUILDHOME
for egg in "sqlite3" sql-de-lite # nanomsg
do
echo "Installing $egg"
CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib -L$PREFIX/lib64" $CHICKEN_INSTALL $PROX -keep-installed $egg
#CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib -L$PREFIX/lib64" $CHICKEN_INSTALL $PROX $egg
if [ $? -ne 0 ]; then
echo "$egg failed to install"
exit 1
fi
done
# Some eggs are quoted since they are reserved to Bash
# for f in matchable readline apropos base64 regex-literals format "regex-case" "test" coops trace csv dot-locking posix-utils posix-extras directory-utils hostinfo tcp rpc csv-xml fmt json md5; do
# $CHICKEN_INSTALL $PROX -keep-installed matchable readline apropos base64 regex-literals format "regex-case" "test" coops trace csv dot-locking posix-utils posix-extras directory-utils hostinfo tcp rpc csv-xml fmt json md5 awful http-client spiffy uri-common intarweb http-client spiffy-request-vars md5 message-digest http-client spiffy-directory-listing
for egg in matchable readline apropos base64 regex-literals format "regex-case" "test" \
coops trace csv dot-locking posix-utils posix-extras directory-utils hostinfo \
tcp rpc csv-xml fmt json md5 awful http-client:0.7.1 spiffy uri-common intarweb http-client \
spiffy-request-vars s md5 message-digest spiffy-directory-listing ssax sxml-serializer \
sxml-modifications logpro z3 call-with-environment-variables \
pathname-expand typed-records simple-exceptions numbers crypt parley srfi-42 \
alist-lib ansi-escape-sequences args basic-sequences bindings chicken-doc chicken-doc-cmd \
cock condition-utils debug define-record-and-printer easyffi easyffi-base \
expand-full ezxdisp filepath foof-loop ini-file irc lalr lazy-seq \
locale locale-builtin locale-categories locale-components locale-current locale-posix \
locale-timezone loops low-level-macros procedural-macros refdb rfc3339 scsh-process \
sexp-diff sha1 shell slice srfi-101 srfi-19 srfi-19-core srfi-19-date srfi-19-io \
srfi-19-period srfi-19-support srfi-19-time srfi-19-timezone srfi-29 srfi-37 srfi-78 syslog \
udp uuid uuid-lib zlib
do
echo "Installing $egg"
$CHICKEN_INSTALL $PROX -keep-installed $egg
#$CHICKEN_INSTALL $PROX $egg
if [ $? -ne 0 ]; then
echo "$egg failed to install"
exit 1
fi
done
if [[ -e `which mysql_config` ]]; then
$CHICKEN_INSTALL $PROX -keep-installed mysql-client
fi
cd $BUILDHOME
cd `$PREFIX/bin/csi -p '(chicken-home)'`
curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | tar zx
cd $BUILDHOME
|
341
342
343
344
345
346
347
348
349
350
351
352
353
354
|
# CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX -D no-library-checks -feature disable-iup-web -deploy -prefix $DEPLOYTARG iup
# iup:1.0.2
CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib" $CHICKEN_INSTALL $PROX -D no-library-checks canvas-draw
# CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX -D no-library-checks -deploy -prefix $DEPLOYTARG canvas-draw
cd $BUILDHOME
echo You may need to add $LD_LIBRARY_PATH to your LD_LIBRARY_PATH variable, a setup-chicken4x.sh
echo file can be found in the current directory which should work for setting up to run chicken4x
echo Testing iup
$PREFIX/bin/csi -b -eval '(use iup)(print "Success")'
|
>
>
>
>
>
>
>
>
>
>
|
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
|
# CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX -D no-library-checks -feature disable-iup-web -deploy -prefix $DEPLOYTARG iup
# iup:1.0.2
CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib" $CHICKEN_INSTALL $PROX -D no-library-checks canvas-draw
# CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX -D no-library-checks -deploy -prefix $DEPLOYTARG canvas-draw
cd $BUILDHOME
# install ducttape
if [[ -e ../ducttape ]];then
cd ../ducttape
$CHICKEN_INSTALL
else
echo "ducttape egg not found at ../ducttape. You will need to cd into the ducttape directory in the megatest distribution and run \"chicken-install\""
fi
cd $BUILDHOME
echo You may need to add $LD_LIBRARY_PATH to your LD_LIBRARY_PATH variable, a setup-chicken4x.sh
echo file can be found in the current directory which should work for setting up to run chicken4x
echo Testing iup
$PREFIX/bin/csi -b -eval '(use iup)(print "Success")'
|