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 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