summaryrefslogtreecommitdiffstats
path: root/README.dev86
blob: 0228d724bdbeef0f3bca0c1400cd6028eb41d30b (plain)
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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
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
This package contains only the bin86 utilities.  The full dev86 package with the
bcc compiler, ELKS libc, etc. may be packaged in the future, either with GNU
Make 4.0 or a patch to Make 3.82.

With GNU Make 3.82, the ELKS libc fails to build (full build log below).  Make
3.82 introduced a regression [1][2] in the parsing of archive libraries.  This
was fixed with commits 5acda13 and b06b8c6 in Make 4.0.

[1]: https://savannah.gnu.org/bugs/?30612
[2]: https://savannah.gnu.org/bugs/?30897

---

/pkg/dev86 # opkbuild -bcT build
opkbuild: Detecting architecture and platform...
opkbuild: Making work area...
opkbuild: Parsing package metadata...
opkbuild: Build system:
opkbuild:   Architecture:  amd64-linux-glibc
opkbuild:   Platform:      dev
opkbuild: Host system:
opkbuild:   Architecture:  amd64-linux-glibc
opkbuild:   Platform:      dev
ob-checkbuilddeps: Checking build dependencies...
ob-buildenv: Setting up build environment...
ob-unpacksource: Sources already unpacked
ob-applypatches: No patches to be applied
ob-installplatconf: No config files to be copied
oh-autobuild </dev/null
make[1]: Entering directory `/pkg/dev86/tmp/src'
make[2]: Entering directory `/pkg/dev86/tmp/src'
PATH="`pwd`/bin:$PATH" make -f make.fil VERSION=0.16.21 TOPDIR=`pwd` all
make[3]: Entering directory `/pkg/dev86/tmp/src'
make -C libc .config.dir
make[4]: Entering directory `/pkg/dev86/tmp/src/libc'
sh Config_sh
Using default configuration
make[4]: Leaving directory `/pkg/dev86/tmp/src/libc'
echo '#define VERSION "'"0.16.21"'"' > bcc/version.h
echo '#define VERSION "'"0.16.21"'"' > as/version.h
echo '#define VERSION "'"0.16.21"'"' > bootblocks/version.h
echo '#define VERSION "'"0.16.21"'"' > ld/version.h
VER=0.16.21 ; \
echo "#define VER_MAJ ${VER%%.*}" >> bcc/version.h ; \
VER="${VER#*.}" ; \
echo "#define VER_MIN ${VER%.*}" >> bcc/version.h ; \
echo "#define VER_PAT ${VER#*.}" >> bcc/version.h 
make -C bcc CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' BCCARCH='' bcc ncc bcc-cc1
make[4]: Entering directory `/pkg/dev86/tmp/src/bcc'
gcc  -O2 -fno-strict-aliasing  -DLOCALPREFIX=/usr -DBINDIR=/usr/bin -DDEFARCH=0 bcc.c -o bcc
gcc  -O2 -fno-strict-aliasing  -DLOCALPREFIX= -DDEFARCH=0 bcc.c -o ncc
gcc  -O2 -fno-strict-aliasing -c bcc-cc1.c
gcc  -O2 -fno-strict-aliasing -c codefrag.c
gcc  -O2 -fno-strict-aliasing -c dbnode.c
gcc  -O2 -fno-strict-aliasing -c declare.c
gcc  -O2 -fno-strict-aliasing -c express.c
gcc  -O2 -fno-strict-aliasing -c exptree.c
gcc  -O2 -fno-strict-aliasing -c floatop.c
gcc  -O2 -fno-strict-aliasing -c function.c
gcc  -O2 -fno-strict-aliasing -c gencode.c
gcc  -O2 -fno-strict-aliasing -c genloads.c
gcc  -O2 -fno-strict-aliasing -c glogcode.c
gcc  -O2 -fno-strict-aliasing -c hardop.c
gcc  -O2 -fno-strict-aliasing -c input.c
gcc  -O2 -fno-strict-aliasing -c label.c
gcc  -O2 -fno-strict-aliasing -c loadexp.c
gcc  -O2 -fno-strict-aliasing -c longop.c
gcc  -O2 -fno-strict-aliasing -c output.c
gcc  -O2 -fno-strict-aliasing -c preproc.c
gcc  -O2 -fno-strict-aliasing -c preserve.c
gcc  -O2 -fno-strict-aliasing -c scan.c
gcc  -O2 -fno-strict-aliasing -c softop.c
gcc  -O2 -fno-strict-aliasing -c state.c
gcc  -O2 -fno-strict-aliasing -c table.c
gcc  -O2 -fno-strict-aliasing -c type.c
gcc  -O2 -fno-strict-aliasing -c assign.c
gcc  -O2 -fno-strict-aliasing -c hashcmd.c
gcc   -O2 -fno-strict-aliasing -c debug.c
gcc   -O2 -fno-strict-aliasing -c dbprintf.c
dbprintf.c: In function 'vdbprintf':
dbprintf.c:110:13: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
gcc   bcc-cc1.o codefrag.o dbnode.o declare.o express.o exptree.o floatop.o function.o gencode.o genloads.o glogcode.o hardop.o input.o label.o loadexp.o longop.o output.o preproc.o preserve.o scan.o softop.o state.o table.o type.o assign.o hashcmd.o debug.o dbprintf.o -o bcc-cc1
make[4]: Leaving directory `/pkg/dev86/tmp/src/bcc'
cp -p bcc/bcc bin/Bcc
cp -p bcc/ncc bin/ncc
cp -p bcc/bcc-cc1 lib/bcc-cc1
make -C cpp CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' bcc-cpp
make[4]: Entering directory `/pkg/dev86/tmp/src/cpp'
gcc -O2 -fno-strict-aliasing   -c -o main.o main.c
gcc -O2 -fno-strict-aliasing   -c -o cpp.o cpp.c
gcc -O2 -fno-strict-aliasing   -c -o hash.o hash.c
gcc -O2 -fno-strict-aliasing   -c -o token1.o token1.c
gcc -O2 -fno-strict-aliasing   -c -o token2.o token2.c
gcc -O2 -fno-strict-aliasing -o bcc-cpp main.o cpp.o hash.o token1.o token2.o
make[4]: Leaving directory `/pkg/dev86/tmp/src/cpp'
cp -p cpp/bcc-cpp lib/bcc-cpp
make -C unproto CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' unproto
make[4]: Entering directory `/pkg/dev86/tmp/src/unproto'
gcc -O2 -fno-strict-aliasing -w      -DREOPEN -c tok_io.c -o tok_io.o
gcc -O2 -fno-strict-aliasing -w      -DREOPEN -c tok_class.c -o tok_class.o
gcc -O2 -fno-strict-aliasing -w      -DREOPEN -c tok_pool.c -o tok_pool.o
gcc -O2 -fno-strict-aliasing -w      -DREOPEN -c unproto.c -o unproto.o
gcc -O2 -fno-strict-aliasing -w      -DREOPEN -c vstring.c -o vstring.o
gcc -O2 -fno-strict-aliasing -w      -DREOPEN -c symbol.c -o symbol.o
gcc -O2 -fno-strict-aliasing -w      -DREOPEN -c error.c -o error.o
gcc -O2 -fno-strict-aliasing -w      -DREOPEN -c hash.c -o hash.o
gcc -O2 -fno-strict-aliasing -w      -DREOPEN -c strsave.c -o strsave.o
gcc -O2 -fno-strict-aliasing -w      -DREOPEN  -o unproto tok_io.o tok_class.o tok_pool.o unproto.o vstring.o symbol.o error.o hash.o strsave.o 
make[4]: Leaving directory `/pkg/dev86/tmp/src/unproto'
cp -p unproto/unproto lib/unproto
make -C copt CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' copt
make[4]: Entering directory `/pkg/dev86/tmp/src/copt'
gcc  -O2 -fno-strict-aliasing  -o copt copt.c
make[4]: Leaving directory `/pkg/dev86/tmp/src/copt'
cp -p copt/copt lib/copt
cp -p copt/rules.* lib/.
cp -p copt/rules.start lib/i386/.
cp -p copt/rules.386 lib/i386/.
cp -p copt/rules.end lib/i386/.
make -C as CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' all
make[4]: Entering directory `/pkg/dev86/tmp/src/as'
gcc -O2 -fno-strict-aliasing -c as.c
gcc -O2 -fno-strict-aliasing -c assemble.c
gcc -O2 -fno-strict-aliasing -c errors.c
gcc -O2 -fno-strict-aliasing -c express.c
gcc -O2 -fno-strict-aliasing -c genbin.c
gcc -O2 -fno-strict-aliasing -c genlist.c
gcc -O2 -fno-strict-aliasing -c genobj.c
gcc -O2 -fno-strict-aliasing -c gensym.c
gcc -O2 -fno-strict-aliasing -c keywords.c
gcc -O2 -fno-strict-aliasing -c macro.c
gcc -O2 -fno-strict-aliasing -c mops.c
gcc -O2 -fno-strict-aliasing -c pops.c
gcc -O2 -fno-strict-aliasing -c readsrc.c
gcc -O2 -fno-strict-aliasing -c scan.c
gcc -O2 -fno-strict-aliasing -c table.c
gcc -O2 -fno-strict-aliasing -c typeconv.c
gcc -O2 -fno-strict-aliasing -c alloc.c
gcc  as.o assemble.o errors.o express.o genbin.o genlist.o genobj.o gensym.o keywords.o macro.o mops.o pops.o readsrc.o scan.o table.o typeconv.o alloc.o -o as86
sed -e "s:%%LIBDIR%%:/usr/lib/bcc:" -e "s:%%BINDIR%%:/usr/bin:" \
	< as86_encap.sh > tmp
chmod +x as86_encap
make[4]: Leaving directory `/pkg/dev86/tmp/src/as'
cp -p as/as86 bin/as86
cp -p as/as86_encap bin/as86_encap
make -C ar CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' all
make[4]: Entering directory `/pkg/dev86/tmp/src/ar'
test -f ar.h || \
{ rm -f ar.h ; ln -s ../libc/include/ar.h . ; } || \
ln ../libc/include/ar.h .
test -f rel_aout.h || \
{ rm -f rel_aout.h ; ln -s ../ld/rel_aout.h . ; } || \
ln ../ld/rel_aout.h .
gcc -O2 -fno-strict-aliasing  -c ar.c -o ar.o
gcc -O2 -fno-strict-aliasing  -c alloca.c -o alloca.o
gcc  ar.o alloca.o -o ar86
make[4]: Leaving directory `/pkg/dev86/tmp/src/ar'
cp -p ar/ar86 bin/ar86
make -C ld CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' ld86
make[4]: Entering directory `/pkg/dev86/tmp/src/ld'
test -f ar.h || \
{ rm -f ar.h ; ln -s ../libc/include/ar.h . ; } || \
ln ../libc/include/ar.h .
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c dumps.c -o dumps.o
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c io.c -o io.o
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c ld.c -o ld.o
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c readobj.c -o readobj.o
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c table.c -o table.o
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c typeconv.c -o typeconv.o
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c linksyms.c -o linksyms.o
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c mkar.c -o mkar.o
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c writex86.c -o writex86.o
writex86.c: In function 'write_elks':
writex86.c:448:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT  -c writebin.c
gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c writeemu.c -o writeemu.o
In file included from writeemu.c:20:0:
writebin.c: In function 'write_dosemu':
writebin.c:560:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
writebin.c:565:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
writebin.c:567:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
writebin.c:571:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
gcc  dumps.o io.o ld.o readobj.o table.o typeconv.o linksyms.o mkar.o writex86.o writebin.o writeemu.o -o ld86
make[4]: Leaving directory `/pkg/dev86/tmp/src/ld'
cp -p ld/ld86 bin/ld86
make -C ld CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' objdump86
make[4]: Entering directory `/pkg/dev86/tmp/src/ld'
gcc -O2 -fno-strict-aliasing    objdump86.c   -o objdump86
make[4]: Leaving directory `/pkg/dev86/tmp/src/ld'
cp -p ld/objdump86 bin/objdump86
test -f bin/ncc
make -C libc CC=ncc "CCFLAGS=-O" AR=ar86 ARFLAGS=r PLATFORM=i86-ELKS
make[4]: Entering directory `/pkg/dev86/tmp/src/libc'
ncc -c -Mn -O -D__LIBC__ -D__LIBC_VER__='"0.16.21"' -o crt0.o crt0.c
transfer:
make[5]: Entering directory `/pkg/dev86/tmp/src/libc/kinclude'
make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/kinclude'
transfer:
make[5]: Entering directory `/pkg/dev86/tmp/src/libc/malloc'
rm: can't remove '../include/malloc.h': No such file or directory
make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/malloc'
transfer:
make[5]: Entering directory `/pkg/dev86/tmp/src/libc/regexp'
make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/regexp'
transfer:
make[5]: Entering directory `/pkg/dev86/tmp/src/libc/stdio'
make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/stdio'
transfer:
make[5]: Entering directory `/pkg/dev86/tmp/src/libc/string'
make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/string'
-n
make[5]: Entering directory `/pkg/dev86/tmp/src/libc/bcc'
make[5]: *** No rule to make target `__ldivmod.o)', needed by `/pkg/dev86/tmp/src/libc/libc.a'.  Stop.
make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/bcc'
make[4]: *** [/pkg/dev86/tmp/src/libc/libc.a] Error 1
make[4]: Leaving directory `/pkg/dev86/tmp/src/libc'
make[3]: *** [library] Error 2
make[3]: Leaving directory `/pkg/dev86/tmp/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/pkg/dev86/tmp/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/pkg/dev86/tmp/src'
make: *** [build] Error 2