I needed a version of
Standard ML New Jersey to compile
PADS but the smlnj version from binary RPM for OpenSUSE was configured to use files in it's build directory.
First, I followed the
install instructions. I downloaded the files from the
SourceForge file list, and went through the install process but the build was convoluted by assembly source problems.
Next, I took a whack at building from the source RPM.
I searched for "smlnj" at the
OpenSUSE Build Service .
Downloaded the
source RPM and copy it to
/usr/src/packages/SRPMS.
Installed the source RPM with
rpm -Uvh smlnj-110.65-10.src.rpm. This will result in smlnj.spec in
/usr/src/packages/SPECS and
/usr/src/packages/SOURCES.
Build the RPM:
cd to the
/usr/src/packages/SPECS and build the SRPM and RPM with
rpmbuild -ba smlnj.spec.
On my system this results in:
- /usr/src/packages/SRPMS/smlnj-110.65-10.src.rpm
- /usr/src/packages/RPMS/i586/smlnj-100.65-10.i586.rpm
- /usr/src/packages/RPMS/i586/smlnj-debuginfo-100.65-10.i586.rpm
Install the RPM:
cd to /usr/src/packages/RPMS/i586 and install the binary RPMS with
rpm -Uvh smlnj-100.65-10.i586.rpm.
The end result...
AHRGGG! Not surprisingly, the install is still looking for library files in /usr/src/packages/BUILD/smlnj-110.65/sml.boot.x86-unix.
Finally, I extracted the source from the RPM
(rpm2cpio smlnj-110.65-10.src.rpm | cpio -ivmud), applied the patches and built the whole thing in
/usr/local/lib/smlnj then added
/usr/local/smlnj/bin to the
PATH. Now PADS builds.