Compiling random software on Rhapsody

Started by calvinb, January 22, 2016, 05:01:02 AM

Previous topic - Next topic

calvinb

So far, pretty good results. I suggest compiling most software in their versions from 1999-2004, but there are some exceptions.


  • zlib: Absolutely no issues.

  • bzip2: No issues.

  • OpenSSL: So far I've only tested the last of the 0.9.8 branch. You'll need a newer version of GNU make, change "rhapsody-ppc-cc" so the Configure file states it is little endian, and SHA-512 and HW crypto acceleration won't build, so omit them. No biggie. Your ./Configure command line should look like:
    ./Configure no-hw no-sha512 rhapsody-ppc-cc
    Also, because SHA512 won't be compiled in, you may have to just have to nop out an expected test. cp /usr/bin/true tests/sha512t will do. Remember to build your software with it!

  • glib: 1.2.10 seems to work fine, with the caveat your CPPFLAGS contains "--traditional-cpp" - otherwise you get strange macro errors.

  • ncurses: 5.0 seems to work, with the caveat tack won't build. Just touch tack and continue building, and install. (Probably want to remove that nopped-out tack though.)

  • irssi: 0.8.7 seems to build with --traditional-cpp, as well as pointing the FLAGS to the OpenSSL directories, and telling the config script we don't want Perl.

  • prngd: If I remember, you'll need to build with this reimplementation of snprintf.

  • screen: 3.9.10 has no issues.

  • stunnel: 4.06 builds with the caveat that you may have to stuff some entropy into a file called tools/stunnel.rnd

  • wget: 1.8.2 has no trouble.

  • OpenSSH: 3.2.2p1 will work - later versions probably better.

galgot

Thanks for that list !
Please could you post with what options you've build  Ncurses 5.0 ?
I'm having errors :
make[1]: o: Command not found
make[1]: [make_keys] Error 127 (ignored)
./make_keys ./tinfo/keys.list > init_keytry.h
./make_keys: not found
make[1]: *** [init_keytry.h] Error 127
make: *** [all] Error 2

oneNeXT

Quote from: "calvinb"

  • OpenSSL: So far I've only tested the last of the 0.9.8 branch. You'll need a newer version of GNU make, change "rhapsody-ppc-cc" so the Configure file states it is little endian, and SHA-512 and HW crypto acceleration won't build, so omit them. No biggie. Your ./Configure command line should look like:
    ./Configure no-hw no-sha512 rhapsody-ppc-cc
    Also, because SHA512 won't be compiled in, you may have to just have to nop out an expected test. cp /usr/bin/true tests/sha512t will do. Remember to build your software with it!


What do you think about LibreSSL ?

calvinb

1.x seems to require modification to build scripts. LibreSSL is no way as they have cut out swaths of legacy support. (Great for modern systems, not so good for you, the Rhapsody prodder.)

evolver56k

I had this doc in my Google Docs from way back when. It was compiled from the NextArchive.net probably around 2006:

bzip2 1.0.2

Build environment: virgin DR2

Issues:

CC= and CFLAGS= in the makefile both cause problems. Change CC variable to "cc", this will compile, but the resulting binary is not reliable and won't pass tests.

the optimizations in CFLAGS cause this problem. Probably buggy CFLAGS for gcc 2.7.2. play with the CFLAGS or comment out in the Makefile.

after making these adjustments just run:

`make`
`make install`

will install to /usr/bin/ by default.

Status:

binary works perfectly after adjusting for DR2's gcc.

ready to be tested and packed up.

wget 1.9.1

Build environment: virgin DR2

Build instructions:

compiles cleanly. standard stuff:

`./configure` # with your options
`make`
`make install`

Issues:

no SSL support, atm... will need to be recompiled. openssl is becoming a higher priority for me, btw.

will install to /usr/local/bin/ by default. use

`./configure --prefix=/usr`

or whatever, to your tastes.

Status:

binary works perfectly as far as I can tell, but need help testing this stuff.

ready to be tested and packed up.



ncftp 3.1.7

Build environment: virgin DR2

Build instructions:

compiles cleanly. standard stuff:

`./configure` # with your options
`make`
`make install`

Issues:

few minor compiler warnings, nothing worth mentioning. nothing that's broken.

will install to /usr/local/bin/ by default. use

`./configure --prefix=/usr`

or whatever, to your tastes.

Status:

binary works perfectly as far as I can tell, but need help testing this stuff.

ready to be tested and packed up.


GNU readline 4.3

Build environment: virgin DR2

Build instructions:

compiles cleanly. standard stuff:

`sh ./configure --prefix=/usr` # with your options
`make`
`make install`

Issues:

none? atm, at least

Status:

works perfectly as far as I can tell, but need help testing this stuff.

ready to be tested and packed up.

GNU bash 2.05b

Build environment: virgin DR2

Build instructions:

compiles cleanly. standard stuff:

`sh ./configure ` # with your options
`make`
`make install`

Issues:

none? atm, at least

Status:

works perfectly as far as I can tell, but need help testing this stuff.

ready to be tested and packed up.

see `./configure --help` for good options '--bindir=', etc.

GNU gawk 3.1.3

Build environment: DR2

Build instructions:

you must have '-traditional-cpp' in your CFLAGS, or compile will fail. I ran `./configure`, then edited the Makefile, adding '-traditional-cpp'(without the quotes) to the CFLAGS.

`./configure --prefix=/usr` # with your options
`make`
`make install`

Issues:

none

Status:

works perfectly as far as I can tell, but need help testing this stuff.

ready to be tested and packed up.

------------------------------------------------------------
EDIT1: wait on this one. had a problem at boot, want to verify what's causing it.

EDIT2: I believe `make install` may have partially failed on bus error's, I think I'm experiencing a bug with APM under VPC or something. walking away from the machine, then coming back causes the bsd side some issues. bus errors, seg faults and memory allocation errors.

I've done two clean installs of DR2 and it's the same in both. maybe this is an actual bug, or a bad VPC install.

in the meantime, after running `make install` again, this package does work, without causing problems for other apps.

OpenSSL 0.9.7d

Build environment: DR2

Build instructions:
somewhere around line 170 in crypto/rand/randfile.c, there's a snippet that looks like this:

#if defined(O_CREAT) && !defined(OPENSSL_SYS_WIN32)
/* For some reason Win32 can't write to files created this way */

/* chmod(..., 0600) is too late to protect the file,
* permissions should be restrictive from the start */
int fd = open(file, O_CREAT, 0600);
if (fd != -1)
out = fdopen(fd, "wb");

in order to compile, it needs to be changed to:

#if defined(O_CREAT) && !defined (OPENSSL_SYS_WIN32)
{
/* For some reason Win32 can't write to files created this way */

/* chmod(..., 0600) is too late to protect the file,
* permissions should be restrictive from the start */
int fd = open(file, O_CREAT, 0600);
if (fd != -1)
out = fdopen(fd, "wb");
}

after that, you just need to run the commands as follows:


`./Configure -DTIMES -DNO_GMTIME_R -DUSE_TOD nextstep --prefix=/usr`
`make`
`make install`

after that, you should be good to go.

Darwin's file_cmds-82

Build environment: DR2

Build instructions:

I've only built the following tools in this package successfully, so far:

chmod
chown
compress
install
ln
mv
pax
rm
rmdir
rmt
tcopy
touch

the others seem to break with unresolved symbols, etc...

we'll see about filling in those gaps later.

to build the tools individually:

unpack the source
cd into the subdirectories

`make`
`make install`

Issues:

some of this just won't build without tweaking. think we can do without an updated `mkdir` for the moment.

the tape commands might not work. I have no way to test, atm.

Status:

the stuff that compiles works great, I've noticed no problems.

needs more polish, later. in the meantime, those apps that compile are ready to be tested and packed up.

zlib 1.2.1

Build environment: DR2

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

nothing I've noticed.

Status:

so far, it works perfectly as far as I can tell, but need help testing this stuff.

ready to be tested and packed up, hopefully.

OpenSSH 3.8p1

Build environment: DR2

Dependencies: OpenSSL, zlib, PRNGD(it has to be running).

Build instructions:

`./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-default-path=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin --with-privsep-path=/var/empty --with-privsep-user=sshd --with-prngd-socket=/var/run/egd-pool`

Rhapsody and Darwin seem to be a bit broken, so we need to stop and edit ./config.h, or the resulting sshd binary will not work. open config.h in whatever editor you use and look for a section near the top that looks like this:

/* Define if your platform breaks doing a seteuid before a setuid */
/* #undef SETEUID_BREAKS_SETUID */

/* Define if your setreuid() is broken */
/* #undef BROKEN_SETREUID */

/* Define if your setregid() is broken */
/* #undef BROKEN_SETREGID */

you need to change it to look like this:

/* Define if your platform breaks doing a seteuid before a setuid */
#define SETEUID_BREAKS_SETUID 1

/* Define if your setreuid() is broken */
#define BROKEN_SETREUID 1

/* Define if your setregid() is broken */
#define BROKEN_SETREGID 1

then, run make:

`make`
`make install`

OpenSSH 3.8p1

ok, if you wish to run sshd at boot, this is what I did:

`touch /etc/startup/2800_SSHD`
`chmod 755 /etc/startup/2800_SSHD`

then edit /etc/startup/2800_SSHD to look like this:

------------------------------------------------
#!/bin/sh

##
# Start the OpenSSH Daemon
##

. /etc/rc.common

CheckForNetwork

if [ "${NETWORKUP}" = "-NO-" ]; then exit; fi

if [ ${SSHD:=-YES-} = "-YES-" ]; then

ConsoleMessage "Starting OpenSSH Services"

# Create host keys if needed.
if [ ! -r /etc/ssh/ssh_host_key ]; then
/usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ''
fi
if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
/usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
fi
if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
/usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
fi
/usr/sbin/sshd

fi

OpenSSH 3.8p1

then you'll need to prep the sshd user and group. see RacerX's FAQ for the proper way to create a user in Rhapsody DR2... nothing special needed, just a plain vanilla user.

also, you'll notice I'm checking to see if the the network is up, leave that. and I'm also checking to see if you want SSHD to start with this:

if [ ${SSHD:=-YES-} = "-YES-" ]; then

this means that you'll either omit this, if you don't want to mess with it, or edit your /etc/hostconfig. add a line like:

SSHD=-YES-

if you want it to start up at boot, and you can turn it off with the opposite line in /etc/hostconfig

SSHD=-NO-


once that's been edited. reboot and test with:

`ssh localhost`



Issues:

not completely tested.

Status:

seems to work, anyone care to help test it?

sshd seems to work now.

PRNGD 0.9.28

Build environment: DR2

Build instructions:

you have to modify the Makefile. uncomment the MacOS X entries, but change the CFLAGS to:

CC=cc
CFLAGS=-O -traditional-cpp -Wall -DMACOSX
LDFLAGS=

then:

`make`

then, you'll need to manually install it:

`mv prngd /usr/sbin`

and create a configuration file:

`cp contrib/MacOSX-10/prngd.conf.macosx /etc/prngd.conf`

and, generate an /etc/prngd-seed, by using cat or whatever to dump random text to /etc/prngd-seed. I did this:

`cat /etc/startup/* > /etc/prngd-seed`
`ls /etc/* >> /etc/prngd-seed`


you'll also want this starting at boot, probably. so we need to make a startup item:

`touch /etc/startup/2700_PRNGD`
`chmod 755 /etc/startup/2700_PRNGD`

then edit /etc/startup/2700_PRNGD to look like this:


PRNGD 0.9.28

#!/bin/sh

##
# PRNGD offers an EGD compatible interface to obtain random data
# and is intented to be used as an entropy source to feed other
# software, especially software based on OpenSSL.
##

. /etc/rc.common

ConsoleMessage "Generating Random Seed"

/usr/sbin/prngd /var/run/egd-pool

-----------------------------------------------



Issues:

none, that I've seen.

Status:

works. seems to have solved some problems.

must be run by:

`/usr/sbin/prngd /var/run/egd-pool`

since we're configuring sshd with the --with-prngd-socket=/var/run/egd-pool option.

will, have to find a good default set of gatherers.

Perl 5.6.2

Build environment: DR2

Build instructions:

tough one. there's an error in hints/rhapsody.sh to begin with.

I screwed with it a long time. for the time, post in the applications forum and I'll help you get it installed, until I can upload a tarball with my patches applied.

mainly just a bunch of small things needed to be fixed. I replaced the Errno.pm module with the version that comes with 5.8.2, because it wouldn't compile reliably.

some few other small things. make test seems to be ok.


Issues:

needs testing. berkeley db functions seem to not work properly during make test, probably due to old version.


Status:

it needs tested, probably more than anything else I've posted... mainly because I screwed with it for so long, and made more modifications than anything previously.

it does seem to work fine, though.

I'll upload my modified sources with a proper config.sh, soon. then I seriously need help testing this one.

autoconf 2.59

Build environment: DR2

Dependencies: newer version of perl than ships with DR2. 5.6.2 works.

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`


Issues:

needs testing. no problems, so far.

Status:

installs easy, seems to work fine. ready to be packed.

ncurses 5.4

Build environment: DR2

Dependencies: none

Build instructions:

`./configure --prefix=/usr --disable-termcap --with-normal --enable-symlinks --without-debug --without-profile --without-ada --program-prefix="" --without-cxx-binding --without-cxx`

`make`
`make install`

Issues:

not completely tested.

Status:

seems to work.

configure to your needs, but keep --without-cxx-binding and --without-cxx in there for now.

vim 6.3

Build environment: DR2

Dependencies: none

Build instructions:

edited os_unix.c, added:

#include <bsd/sgtty.h>

to get around TIOC* errors. if anyone knows a better way or at least why not to do it like this, please respond.

`./configure "
`make`
`make install`

Issues:

not completely tested.

Status:

seems to work fine. I put it in /usr/local for the moment.

if your arrow keys don't work, tune your TERM environmental variable to something vim understands... vt100 seems to work for me.

if that breaks any other applications, please post details.

Apple's CC-798

Build environment: DR2

Dependencies: none

Build instructions:

for gcc:

`configure --prefix=/usr/local --disable-nls --target=i386-apple-rhapsody --host=i386-apple-rhapsody --enable-languages=c,c++,objc,objc`
`gnumake -k all install`


for bison:

`configure --prefix=/usr/local --disable-nls`
`gnumake -k all install`

Issues:

not completely tested. seems ok.

Status:

seems to work fine. I put it in /usr/local for the moment.

we have a newer compiler, at last... better news to follow later.

-----------------------------------------------------------

not fully working, I think... this one's not ready yet, after further testing. retiring my semi-modern VPC and restarting with a virgin install, then rebuilding to see what's wrong.

------------------

an update on this for anyone who's wondering... the c compiler is the only thing that works as of now, so it can't be used as a replacement for the standard cc, yet... missing objective-c(or c++, for that matter) support on rhapsody isn't a good thing.

going to take this slow, so gotta wait. perl or something else minor I can slap around and know whether it's going to work 99.99% of the time... gotta be more cautious with this.

Groupsys's top 3.5

Description: from the groupsys.com website:

Top provides the user with a regularly updated display showing information about the system and its top cpu-using processes. Think of it as a full-screen "ps" output that gets updated at regular intervals.

Screenshot:


Build environment: DR2

Dependencies: none

Build instructions:

`./Configure`

answers are macosx as target, /usr/bin, /usr/share/man/man1, etc.

`make`
`make install`

Issues:

none noticed.

Status:

it works perfectly as far as I can tell, but I need help testing this stuff.

ready to be tested and packed up.[/img][/i]

less 381

Build environment: DR2

Dependencies: ncurses

Build instructions:

`./configure --prefix=/usr"
`make`
`make install`

Issues:

not completely tested.

Status:

seems to work fine.

set your TERM enviromental variable to vt100 or whatever. for now, at least.

GNU grep 2.5

Build environment: DR2

Dependencies: none

Build instructions:

get rid of the old:

mv /usr/bin/grep /usr/bin/grep2.1
mv /usr/bin/egrep /usr/bin/egrep2.1
mv /usr/bin/fgrep /usr/bin/fgrep2.1

then bring in the new:

`./configure --prefix=/usr --disable-nls`
`make`
`make install`

Issues:

not completely tested.

Status:

seems to work fine.

gzip 1.2.4a

Build environment: DR2

Dependencies: none

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

not completely tested.

Status:

seems to work fine.

only a bugfix, will compile the beta 1.3.3 as an alternative.

GNU m4 1.4.1

Build environment: DR2

Dependencies: none

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

none noticed, so far.

Status:

seems to work fine.

thanks, mk_schmidt... hopefully, I'll be able to help out on OS 4.2, after we get DR2 in good condition.

GNU automake 1.8.4

Build environment: DR2

Dependencies: perl

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

compiles clean. none noticed, so far.

Status:

seems to work fine.

GNU enscript 1.6.1

Build environment: DR2

Dependencies: jeez, not sure... hehe. a system with all the previous stuff compiles it. it chokes on a clean install, as I remember it.

Build instructions:

`./configure --prefix=/usr --with-media=Letter --sysconfdir=/usr/share/enscript --disable-nls`

k, it breaks here. checks for math.h, then adds '-lm' in the LDADD var in src/Makefile... this isn't necessary and causes breakage. after running configure with your options, edit the src/Makefile:

LDADD = ../afmlib/libafm.a ../compat/libcompat.a -lm

should be:

LDADD = ../afmlib/libafm.a ../compat/libcompat.a

`make`
`make install`

Issues:

compiles clean. just a little error in the way the Makefiles are created.

Status:

not really tested very well, but seems good.

GNU groff 1.19.1

Build environment: DR2

Dependencies: not sure at this point, update as far as you can.

Build instructions:

configure tries to use `c++`, then reports that a "working C++ compiler is required". do this to get around, if running tcsh:

setenv CXX 'cc'
setenv CXXFLAGS '-traditional-cpp'

`./configure --prefix=/usr --disable-nls`
`make`
`make install`

Issues:

compiles clean. configure chokes on finding the right compiler.

html backend is not complete, not a big deal at the moment, since it isn't there in the groff that comes with DR2, I think.

will satisfy a dependency, then recompile at a later date. stay tuned.

Status:

not really tested very well, but seems good.

zsh 4.2.0

Build environment: DR2

Dependencies: not sure at this point, update as far as you can.

Build instructions:

`./configure --prefix=/usr --bindir=/bin`

Makefile generated by configure has problems with Rhapsody environment. in particular:

EXELDFLAGS = -s

causes an error near the end of make due to binary not being capable of being stripped like this.

comment it out, or remove the -s.

also, be sure CFLAGS has -traditional-cpp in it, or you'll see precomp issues.

`make`
`make install`


and removed the old /bin/zsh.old, no worries /bin/zsh-3.0.5 will still be there.

rm /bin/zsh.old

Issues:

compiles clean. minor issue when make attempts to strip binaries.

Status:

not really tested very well, but seems good.

once I've sorted out a few parameters not being set properly by the rc scripts, this will replace /bin/sh...

this is how Apple does it in Darwin, and a smart fellow at another forum noticed issues with /bin/sh under OS4.2 that also seem to apply to Rhapsody.

GNU cpio 2.5

Build environment: DR2

Dependencies: none

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

compiles clean. runs into an error when installing info pages, will need to install info at some point.

Status:

seems good. untested, atm.

GNU nano 1.2.4

Build environment: DR2

Dependencies: none

Build instructions:

`./configure --prefix=/usr --enable-all --disable-nls`
`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

not not very familiar with nano, just compiling as a replacement for pico... tune to your requirements, I think you'll have no problems with this one.

if you want, remove pico and replace with a symlink to nano.

Apache 1.3.31

Build environment: DR2

Dependencies: newer perl and openssl not necessary(I think), but desirable.

Build instructions:

sh and zsh have issues with configure script. to be brutally quick and not have to worry that I didn't change it everywhere, I temporarily moved /bin/sh and then linked /bin/bash to /bin/sh:

`mv /bin/sh /bin/sh.old`
`ln -s /bin/bash /bin/sh`

then, just did a standard configure, nothing special. tune to your needs and report any bugs you find, and I'll help you out.

`./configure --prefix=/usr`

configure has a very common problem at this point. it adds the -lm flag to LIBS= in src/support/Makefile. edit the line that looks like this:

LIBS=-lm -lap -los $(EXTRA_LIBS) $(LIBS1)

so it looks like this:

LIBS=-lap -los $(EXTRA_LIBS) $(LIBS1)

then run make and it should be good:

`make`
`make install`

then, remember to remove the /bin/sh link you created, or you'll be booting into single user mode to fix at next boot:

`rm /bin/sh`
`mv /bin/sh.old /bin/sh`

Issues:

compiles clean.

Status:
seems good. serving pages on my machine. haven't tested ssl support.

GNU bison 1.875

Build environment: DR2

Dependencies: none

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

updating because several configure scripts complained. bison version in cc-798 was same version as rhapsody.

GNU gperf 3.0.1

Build environment: DR2

Dependencies: none unfulfilled on my system.

Build instructions:

set up the standard variables:

`setenv CC 'cc'`
`setenv CXX 'cc'`
`setenv CFLAGS '-O -traditional-cpp'`
`setenv CXXLAGS '-O -traditional-cpp'`

then run:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

satisfying a dependency.

GNU tar 1.13.25

Build environment: DR2

Dependencies: none unfulfilled on my system.

Build instructions:

`./configure --prefix=/usr --program-prefix="gnu" --disable-nls`

had to create a symlink from fnmatch.hin to fnmatch.h, for fnmatch to be included properly.

`cd lib`
`ln -s fnmatch.hin fnmatch.h`
`cd ..`

then run make:

`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

---------

sorry to make you all wait on this one, I wasn't sure this was the way... but, since kb7sqi's archives are back online, I downloaded his port of tar to OS4.2 and there it was.

will most likely work on fixing 1.14 soon, anyway.

GNU Texinfo 4.7

Build environment: DR2

Dependencies: ncurses

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

GNU libiconv 1.9.2

Build environment: DR2

Dependencies:

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

GNU gettext 0.14.1

Build environment: DR2

Dependencies: uses libiconv

Build instructions:

`./configure --prefix=/usr`

configure causes a couple problems. it adds the -lc flag when libtool runs to the Makefiles in gettext-runtime/intl, gettext-tools/intl, gettext-tools/lib and gettext-tools/src ...

edit those file, do a search for -lc and remove it... should be one instance in each Makefile, except in the src dir. that one has two occurances.

then run:

`make install`

Issues:

compiles clean.

Status:

seems good.

the reason for this package is to deal with issues that seem to pop up from time to time in other packages involving their included intl code... hopefully libintl will get picked up and used instead by those packages.

better to fix this once than to keep fighting it.

GNU findutils 4.1

Build environment: DR2

Dependencies:

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

with -O2 in my CFLAGS, this is a speed demon now, will see if there's anything I need to change in the scheduled jobs for locate db maintenance... might compile slocate instead, dunno yet. we'll see.

GNU sharutils 4.2

Build environment: DR2

Dependencies:

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

just an update to what's already there, not very critical.

GNU sh-utils 2.0

Build environment: DR2

Dependencies:

Build instructions:

`./configure --prefix=/usr`

configure adds the -lm flag in src/Makefile, search for it and remove all occurrences (well, one is in a comment, but for the sake of simplicity). then run:

`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

just starting to update the most basic commands, this might all get replaced with the newest core-utils, but this is easiest and cleanest, atm.

GNU make 3.80

Build environment: DR2

Dependencies:

Build instructions:

`./configure --prefix=/usr --program-prefix=gnu --bindir=/bin --disable-nls`
`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

GNU m4 1.4.1

Build environment: DR2

Dependencies:

Build instructions:

`./configure --prefix=/usr`
`make`
`make install`

Issues:

compiles clean.

Status:

seems good.

just replacing m4 1.4, which had a problem I didn't see the first time around.

GNU screen 4.0.2

Build environment: DR2

Dependencies:

Build instructions:

`./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-nls --with-sys-screenrc=/etc/screenrc --enable-telnet --disable-socket-dir`
`make`
`make install`
`cp etc/etcscreenrc /etc/screenrc`

Issues:

compiles clean.

Status:

seems good.

will need to see about adding the termcap entry.

GNU readline 5.0

Build environment: DR2

Dependencies:

Build instructions:

`./configure --prefix=/usr --bindir=/bin`
`make`
`make install`


Issues:

compiles clean.

Status:

seems good.

just an update.


GNU bash 3.0

Build environment: DR2

Dependencies:

Build instructions:

the minimal configure arguements you'll probably want are:

`./configure --prefix=/usr --disable-nls`

you'll run into a problem trying to compile involving /usr/include/signal.h, most likely. to fix, edit the config.h that configure creates and change the line that reads:

#undef HAVE_SYS_SIGLIST

change it to read:

#define HAVE_SYS_SIGLIST 1

`mv config.h config.h.orig`
`cat config.h.orig | sed 's/\/\*\ \#undef\ HAVE_SYS_SIGLIST\ \*\//\#define\ HAVE_SYS_SIGLIST\ 1/g' > config.h`
`make`
`make install`cat


Issues:

compiles clean.

Status:

seems good.

just an update.


evolver56k

I wish there was a better archive of what we were doing back then, but there's a lot of unarchived threads in the mix (which is annoying as hell, because I was really bored back then and was hacking a lot on Rhapsody)

https://web.archive.org/web/20061213173401/http://www.nextarchive.net/forum/viewforum.php?f=11&sid=68319de3325de537eefda779669fdda8


Daxziz

Quote from: evolver56kI wish there was a better archive of what we were doing back then, but there's a lot of unarchived threads in the mix (which is annoying as hell, because I was really bored back then and was hacking a lot on Rhapsody)

https://web.archive.org/web/20061213173401/http://www.nextarchive.net/forum/viewforum.php?f=11&sid=68319de3325de537eefda779669fdda8

Actually I think I can help :)

I was looking through a lot of my old stuff, and stumbled across all the Rhapsody stuff and had this feeling that it might be fun to start looking at it again (this time just as a minor hobby thing for the rainy days).

Anyway... I just added the website back to my webfolder and restored my old backup and voila... the old forum was humming again :) - for now it can be found here:
http://185.24.169.67//phpNeXT/Forum/viewforum.php?f=11&sid=68319de3325de537eefda779669fdda8

Anyway... "hello, again" to all the old faces still around.


-Kim

evolver56k

Oh wow. That's awesome. Keeping a backup of a forum from a decade ago is impressive.

Daxziz

Honestly I thought we made a lot of nice progress on a lot of things, so I didn't want to throw it all away. Especially not if it could be used in the future by somebody else (or us).

So anyway.. the forumis running and I've also found the old software archive including the web frontend for it.
I'm considering making something more out of it which might be more useful for all of us than what's currenly there. The code was written by young me and boy does it need some polish (read rewrite) to be of any use by todays standards.
If you please it's available here for a short while: http://185.24.169.67/phpNeXT/?software=true


-Kim

rjbrown99

This is an older thread, but FYI have started to assemble working NS33/OS42 patches for open source software into a git repository. Much of the patches originate in various places from the forums, the FTP site here, and other places on the web.

Additionally, I created a wiki page specifying the installation order for software. That's really the key moreso than anything as it took a lot of time to work out dependencies.

Source: https://github.com/rjbrown99/next
Wiki: https://github.com/rjbrown99/next/wiki/NeXTStep-Software-Ports

I'm still adding to both actively but thought I'd drop it here in case others had an interest in contributing.

pomosapien

Yay, found this thread.
Had seen @rjbrown99's repo on GitHub then could not find it again.
I have a repo that might overlap or be redundant; one of its goals is to be able to build some set of newer GNU userland for 3.3, so that userland might provide more apps.
I needed to do a coarse diff of the two repos.
I agree that getting the dependency graph discovered is pretty crucial.[1]

https://github.com/yoyodyne-research/BaCKSTEP

---
[1] to me, that's most of what a package manager in the *NIX is doing for you these days.