Page 1 of 1

Building z88dk on Solaris fails due to build.sh not exporting INSTALL

Posted: Sun Oct 30, 2016 4:51 pm
by u6c87
build.sh spews a ton of errors on Solaris, which is down to INSTALL not being exported from the shell. MAKE isn't either, but I believe both Solaris make and GNU make (gmake) will both set it themselves.

Errors reported:

zxspectrum:/<1>z88dk/tmp-bugreport/z88dk> ./build.sh |& tee ../build-fail.log
mkdir: Failed to make directory "bin"; File exists
echo '#define PREFIX "/usr/local/lib/z88dk"' > src/config.h
echo '#define UNIX 1' >> src/config.h
gmake -C src/appmake
...etc...
gcc -c vg5k.c
gcc -c extract.c
gcc -o appmake appmake.o z88.o zxvgs.o zx.o z88shell.o abc80.o zx81.o msx.o mtx.o mz.o nec.o p2000.o px.o aquarius.o c7420.o rom.o sorcerer.o sos.o svi.o sc3000.o ace-tap.o hex.o lynx.o rex6000.o tixx.o nascom.o cpc.o m5.o mc.o newbrain.o newext.o sms.o trs80.o c128.o galaksija.o vz.o enterprise.o x07.o residos.o inject.o vg5k.o extract.o
gmake[1]: Leaving directory '/build/z88dk/tmp-bugreport/z88dk/src/appmake'
gmake -C src/appmake PREFIX=`pwd` install
gmake[1]: Entering directory '/build/z88dk/tmp-bugreport/z88dk/src/appmake'
install appmake /build/z88dk/tmp-bugreport/z88dk/bin
find: cannot read dir /etc/sudoers.d: Permission denied
find: cannot read dir /etc/flash/precreation: Permission denied
find: cannot read dir /etc/flash/preexit: Permission denied
find: cannot read dir /etc/flash/postcreation: Permission denied
find: cannot read dir /etc/svc/profile/sysconfig: Permission denied
... more lines elided ...
find: cannot read dir /usr/lib/ocm/ccr/config: Permission denied
find: cannot read dir /usr/lib/ocm/ccr/doc: Permission denied
find: cycle detected for /usr/lib/gss/32/
find: cycle detected for /usr/lib/security/32/
install: appmake was not found anywhere!
gmake[1]: *** [Makefile:18: install] Error 2
gmake[1]: Leaving directory '/build/z88dk/tmp-bugreport/z88dk/src/appmake'
gmake: *** [Makefile:26: appmake] Error 2
gmake: Entering directory '/build/z88dk/tmp-bugreport/z88dk/libsrc'


Adding either "export INSTALL" prior to callinng $MAKE fixes this.
It's probably prudent to add "export MAKE" for completness too.

Thanks.

Posted: Sun Oct 30, 2016 5:36 pm
by alvin
You can find the current build instructions here:

http://www.z88dk.org/wiki/doku.php?id=t ... stallation

In particular, we're not recommending a system install currently because the new c library will need a different install method. This probably won't be addressed until z88dk is migrated from cvs to git because it will likely involve a reorganization of the source code.

dom or stef can maybe commit any necessary fixes to the install so it's not forgotten?

Posted: Sun Oct 30, 2016 8:26 pm
by dom
It's been a few years since I had access to a Solaris box, but I do seem to recall that Solaris install does not work in the expected way, I'm guessing if you set INSTALL to ginstall (or whatever GNU install is named) then it does work?

Posted: Mon Oct 31, 2016 1:05 am
by u6c87
dom wrote:It's been a few years since I had access to a Solaris box, but I do seem to recall that Solaris install does not work in the expected way, I'm guessing if you set INSTALL to ginstall (or whatever GNU install is named) then it does work?
INSTALL is already set in build.sh, but it's not exported. Solaris has an "install", which is not GNU install, so it does some strange things when given the GNU command-line flags. All that is missing is "export INSTALL" from build.sh, then it builds fine on Solaris.