kfl / mosml

Moscow ML is a light-weight implementation of Standard ML (SML), a strict functional language widely used in teaching and research.
http://mosml.org
339 stars 42 forks source link

Empty bin, lib folders found after extracting #47

Open vineeshvs opened 7 years ago

vineeshvs commented 7 years ago

Dear mosml team,

I followed the instructions found in the install.txt and extracted the version downloaded from Git (here). But after extracting, my bin and lib folders seems to be empty.

What could be the reason?

Note: I couldn't extract using the command line option, which raised the following error. Hence I extracted using gui.

$ gzip -dc mosml-master.zip | tar xfv - gzip: mosml-master.zip has more than one entry--rest ignored tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors

Munksgaard commented 7 years ago

I think the install.txt is a bit out of date. As far as I know, you'll need to build mosml yourself if you download the sources from Github. Instead, you could download one of the installers (PKG, DEB, og Windows installer, depending on your platform) from mosmls website: http://mosml.org/

vineeshvs commented 7 years ago

@Munksgaard I tried the .tar.gz and .zip files from http://mosml.org/ which was also giving empty bin and lib folders!!

Munksgaard commented 7 years ago

@Munksgaard I tried the .tar.gz and .zip files from http://mosml.org/ which was also giving empty bin and lib folders!!

Yes, those contain just the source files, which you can use to build mosml yourself. The readme.txt file contains the instructions on how to do so. If you don't want to build mosml yourself, you can instead download one of the pre-packaged versions: the PKG, DEB or Windows Installer, depending on your platform.

vineeshvs commented 7 years ago

Thanks @Munksgaard But there is no configure script to do ./configure, make, make install steps!! How do I build it? The install.txt file shows that I just have to do some copying and editing in files including mosml/bin/mosml. That's when I discovered that the bin file doesn't have mosml file.

Munksgaard commented 7 years ago

@vineeshvs: There is no configure script as it is not needed :slightly_smiling_face: Here are the instructions from install.txt on how to build mosml yourself. Note that you can skip S2 and S3 as you already have the sources (and the link in S2 is out of date):

If you have Linux, FreeBSD, NetBSD, HPPA+HP/UX 9 or 10, Sparc+SunOS, Sparc+Solaris, SGI MIPS+IRIX 5, DEC Alpha+OSF/1, and possibly other systems, then you can install Moscow ML as follows:

(S1) Choose a directory for the Moscow ML subdirectory to reside in, such as /usr/local/ for a systemwide installation, or ${HOME} for a personal installation.

(S2) Download the Unix source files from http://www.itu.dk/people/sestoft/mosml/mos201src.tar.gz

(S3) Unpack it by executing (in /usr/local, or ${HOME})

     gzip -dc mos201src.tar.gz | tar xvf -

(S4) Change directory to mosml/src

(S5) Edit file mosml/src/Makefile.inc to suit your system. Set MOSMLHOME to /usr/local/mosml, or ${HOME}/mosml. Also, the versions of /lib/cpp and other minor things differ among operating systems; choose suitable values of the configuration parameters for your system.

 If you want the runtime system to support dynamic linking of
 foreign (C) functions, further uncomment the setup for this in the
 Makefile.inc file. 

(S6) Execute (in mosml/src)

 make world
 make install

 Doing `make install' will also install the documentation from
 mosml/src/doc, which is supplied precompiled.  It is also
 available from the Moscow ML homepage.  If you want to rebuild the
 documents (e.g. for a different papersize), then do it later, as a
 separate step S9.  Due to variances in LaTeX installations, you may
 run into some problems.

(S7) To check that the installation went well, you can try (S7.1) * change directory to mosml/src/test

(S8) If you want to install libraries that use dynamic linking, note point (B4*) in the binary installation instructions above.
Furthermore,

 - to install support for Gdbm and Polygdbm persistent
 hash tables, consult mosml/src/dynlibs/mgdbm/README

 - to install support for the Postgresql relational
 database server, consult mosml/src/dynlibs/mpq/README

 - to install support for the Mysql relational database
 server, consult mosml/src/dynlibs/mmysql/README

 - to install support for POSIX 1003.2 regular
 expressions, consult mosml/src/dynlibs/mregex/README

 - to install support for sockets, consult
 mosml/src/dynlibs/msocket/README

 - to install support for Thomas Boutell's gd PNG image
 package, consult mosml/src/dynlibs/mgd/README

 - to install support for process manipulation under Unix,
 consult mosml/src/dynlibs/munix/README

(S9) If you want to reformat the Moscow ML documentation, go to mosml/src/doc, change the documents as desired, and do make clean make The Moscow ML compiler must be already installed for this to work.

peterfirefly commented 7 years ago

Moscow ML builds fine. I just built the git version on macOS 10.12 Sierra yesterday, for example. I have also built the tar.gz sources on Linux a couple of times in recent months.

The repository (and the zipped sources you downloaded) contain the ML source code for the compiler and the ML libraries + the C source code for the virtual machine (and some libraries) + a few pre-built binaries (the Moscow ML compiler, the Moscow ML linker, a dependency tool that looks through the ML source files and outputs a Makefile snippet with their dependency graph).

The C source code the virtual machine is built first. This creates a file called 'camlrunm' which can run Moscow ML binaries, such as the pre-built compiler, linker, and dependency tool.

Then the dependency tool is run to complete the Makefile(s) for the ML libraries and the compiler and linker, etc.

Then those Makefiles are run to actually build the ML libraries, compiler, linker, etc.

That's the "make world" step.

Then you run the "make install" step to copy lots of files into their desired destinations.

(I skipped a few of the internal steps to keep things simple.)

In order for this to work, you will have to modify src/Makefile.inc a bit first.

I install my ML systems into ~/ml/, btw. I have a set of small shell scripts to set up environment variables (incl PATH) for each system. That way, I can choose which one to use without having them interfere with each other.


So why no './configure' ? That build step is normally only seen with projects that use something called 'autotools'. I don't believe autotools were used much back in the middle of the 90's when the Moscow ML project started, let alone back in '90 when the ZINC experiment was carried out by Xavier Leroy. The ZINC experiment was an attempt to implement an early version of CAML cheaper and simpler than their then current version, written in Lisp. It worked quite well and the ZINC experiment morphed into Caml light, then Caml special light, then Ocaml. Moscow ML was created sort of as a fork, somewhere around Caml light and Caml special light.

Autotools were very useful at a time when people had lots of weird unix systems -- or even systems that just pretended to be unix. The need is much smaller now, when everything you could conceivably want to build your software on basically is unixy enough.

Autotools are also really big and heavy and hard to work with for the programmers. And they make the tarballs a lot bigger and the builds a lot slower. And usually for no extra gain in portability outside of Linux.

You can google 'autotools suck' or click these links for more:

http://freecode.com/articles/stop-the-autoconf-insanity-why-we-need-a-new-build-system https://ohse.de/uwe/articles/aal.html http://marc.info/?l=9fans&m=111558921426133 http://www.airs.com/blog/archives/95

The last one contains a capsule history of autotools and is written by the coauthor of "GNU AUTOCONF, AUTOMAKE, and LIBTOOL". He literally wrote the book on autotools... He doesn't like them, either.

-Peter

PS: A few disclaimers are in order: I haven't tested the macOS build much. In particular, I haven't tested if dynamic libraries work properly. I have also only tested with 'gcc', which by default is a wrapper around clang. I did install gcc 6.3 but I haven't tried it yet.

On Thu, Apr 27, 2017 at 8:57 AM, vineeshvs notifications@github.com wrote:

Thanks @Munksgaard https://github.com/Munksgaard But there is no configure script to do ./configure, make, make install steps!! How do I build it? The install.txt file shows that I just have to do some copying and editing in files including mosml/bin/mosml. That's when I discovered that the bin file doesn't have mosml file.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kfl/mosml/issues/47#issuecomment-297628583, or mute the thread https://github.com/notifications/unsubscribe-auth/AaJbfJ4g2WnoOGY899i-LaNm19Gg5fuSks5r0Dw9gaJpZM4NJxpq .

vineeshvs commented 7 years ago

@Munksgaard

  1. (S6) gives following error. But I am using Ubuntu 16.04, 64-bit. Using the files downloaded from http://www.itu.dk/people/sestoft/mosml/mos201src.tar.gz

$ make world cd config; sh autoconf gcc Checking the sizes of integers and pointers... This architecture seems to be neither 32 bits nor 64 bits. Caml Light won't run on this architecture. Makefile:19: recipe for target 'world' failed make: *** [world] Error 2

  1. The edits I made is the following. Do I need to make any other edits. I am not much familiar with this kind of installation.

MOSMLHOME=/usr/local/mosml

@sestoft Thanks for your detailed reply

  1. Moscow ML builds fine

Did you try the .tar.gz and .zip available in http://mosml.org/ ?

  1. I tried .deb also, following the instructions in https://launchpad.net/~kflarsen/+archive/ubuntu/mosml . According to that I need to do the following

sudo add-apt-repository ppa:kflarsen/mosml sudo apt-get update sudo apt-get install mosml

Ref: https://askubuntu.com/questions/183720/how-do-i-install-mosml/909409#909409

vineeshvs commented 7 years ago

@Munksgaard I tried in in HOME instead of usr/local Getting the following error now

../Makefile.inc:154: recipe for target 'Array.uo' failed make[1]: [Array.uo] Aborted (core dumped) make[1]: Leaving directory '/home/vineesh/mosml/src/mosmllib' Makefile:19: recipe for target 'world' failed make: [world] Error 2

peterfirefly commented 7 years ago

Lund, not Sestoft. He's a professor and I'm not. He wrote large parts of Moscow ML and I didn't.

I just like Standard ML a lot... except for the module system.

More comments inline below...

On Thu, Apr 27, 2017 at 10:22 AM, vineeshvs notifications@github.com wrote:

@Munksgaard https://github.com/Munksgaard

  1. (S6) gives following error. But I am using Ubuntu 16.04, 64-bit.

$ make world cd config; sh autoconf gcc Checking the sizes of integers and pointers... This architecture seems to be neither 32 bits nor 64 bits.

How on Earth did you do that? I am also using Ubuntu 16.04, 64-bit:

firefly@dellaware:~/ml/kfl-mosml € cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

Could you please go into src/config/auto-aux, compile sizes.c (with 'gcc sizes.c), and then run the resulting binary (./a.out) ? (Ignore the warnings, btw.)

It outputs '4 8 8' on my system.

The shell script src/config/autoconf has a case match on the output of sizes.c to check for 32-bit/64-bit and that must be what's going wrong for you there.

sizes.c is a really simple program that checks the size of int, long, and a pointer to a long:

int main(argc, argv) int argc; char * argv; { printf("%d %d %d\n", sizeof(int), sizeof(long), sizeof(long )); return 0; }

Caml Light won't run on this architecture. Makefile:19: recipe for target 'world' failed make: *** [world] Error 2

  1. The edits I made is the following. Do I need to make any other edits. I am not much familiar with this kind of installation.

MOSMLHOME=/usr/local/mosml

That's actually not necessary! I know it is mentioned in install.txt but for the build I just did (and apparently all the other older builds I have lying around) I just changed PREFIX at the top of Makefile.inc.

I recommend you try a local install to somewhere outside of /usr/local first and only try to do a global install once you can reliable do a local install.

My PREFIX got set to /home/firefly/ml/kfl-mosml this time around.

(And I don't have any global Moscow ML installs.)

@sestoft https://github.com/sestoft

Lund!

Thanks for your detailed reply 3.

Moscow ML builds fine

Did you try the .tar.gz and .zip available in http://mosml.org/ ?

No, I either used the tarballs here:

https://github.com/kfl/mosml/releases

... or used git to get the newest version of the repository:

git clone https://github.com/kfl/mosml.git

But since you asked, I just did download the tarball from http://mosml.org/ (which is a tarball of the newest version of the main branch in the repository). And it worked perfectly.

  1. I tried .deb also, following the instructions in https://launchpad.net/~kflarsen/+archive/ubuntu/mosml https://launchpad.net/%7Ekflarsen/+archive/ubuntu/mosml . According to that I need to do the following

sudo add-apt-repository ppa:kflarsen/mosml sudo apt-get update sudo apt-get install mosml

Didn't try those.

Ref: https://askubuntu.com/questions/183720/how-do-i- install-mosml/909409#909409

  • The sudo apt-get update step gives the following errors

Err:8 http://ppa.launchpad.net/kflarsen/mosml/ubuntu xenial/main amd64 Packages 404 Not Found E: Failed to fetch http://ppa.launchpad.net/kflarsen/mosml/ubuntu/dists/ xenial/main/binary-amd64/Packages 404 Not Found E: Failed to fetch http://ppa.launchpad.net/pmunksgaard/mosml/ubuntu/ dists/xenial/main/binary-amd64/Packages 404 Not Found

And because of that sudo apt-get install mosml gives the following error

E: Package 'mosml' has no installation candidate

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kfl/mosml/issues/47#issuecomment-297646961, or mute the thread https://github.com/notifications/unsubscribe-auth/AaJbfJg2uyHeWu4Dw5hdEjCFVRLnaG0Yks5r0FBHgaJpZM4NJxpq .

-Peter

peterfirefly commented 7 years ago

Your build environment is obviously very different from mine (and from what is expected).

Perhaps you could tell us something about it?

What other stuff have you installed globally that might mess things up? What gcc compiler are you using? Stuff like that.

I have built and installed Moscow ML on lots of Linux systems over the years (mostly Debian based) on 32-bit and 64-bit x86 and have never had any problem. My current installation is a relatively fresh Ubuntu 16.04 installation (less than a month old). The previous Ubuntu 16.04 installation was originally a 12.04 LTS that has been upgraded over the span of several years to Ubuntu 16.04 LTS.

I am careful to not put just anything into /usr/local or do root installs. If I do root installs of stuff I tend to put it into /opt/xxx, where xxx is different for each program. That way, I can easily get rid of it if necessary + I can selectively enable it + I can ensure that nothing important gets overwritten.

I have never seen the Moscow ML compiler do a core dump before, btw. That's what must have been happened when you got the "*** [Array.uo] Aborted (core dumped)" message.

Maybe -- and I'm just theorizing here -- maybe the bytecode in the precompiled compiler in the tarball didn't work with the version of camlrunm built from the sources?!?

I don't really see how that would happen for you and not for me.

Could you run md5sum on src/mosmlcmp?

I get this line: 7211b680c1da7f75c7754ccbad2bd3cb mosmlcmp

I used the tarball at http://mosml.org/ :

firefly@dellaware:~/ml € ll kfl-mosml-ver-2.10.1-52-g9ec43ac.tar.gz -rw-rw-r-- 1 firefly firefly 2571943 apr 27 10:23 kfl-mosml-ver-2.10.1-52-g9ec43ac.tar.gz

-Peter (Lund!)

On Thu, Apr 27, 2017 at 10:36 AM, vineeshvs notifications@github.com wrote:

@Munksgaard https://github.com/Munksgaard I tried in in HOME instead of usr/local Getting the following error now

../Makefile.inc:154: recipe for target 'Array.uo' failed make[1]: [Array.uo] Aborted (core dumped) make[1]: Leaving directory '/home/vineesh/mosml/src/mosmllib' Makefile:19: recipe for target 'world' failed make: [world] Error 2

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kfl/mosml/issues/47#issuecomment-297650128, or mute the thread https://github.com/notifications/unsubscribe-auth/AaJbfHc03NutU8bAtCZRP3v83i2Ofa2nks5r0FOAgaJpZM4NJxpq .

vineeshvs commented 7 years ago
  1. md5sum * in the folder /home/vineesh/mosml/src gives the following

dc4d27b501126f0737af4b573cc8389f camlrunm md5sum: compiler: Is a directory md5sum: config: Is a directory md5sum: config.w32: Is a directory md5sum: convert: Is a directory bab3cbbf0582bea152967d2742e40b7c cutdeps md5sum: doc: Is a directory md5sum: dynlibs: Is a directory md5sum: launch: Is a directory md5sum: launch.w32: Is a directory md5sum: lex: Is a directory 2c9845d58e0601ae39b36ff5928344da Makedefs.w32 72ba8d0068ade449c269651dab87071d Makefile 4c451651fc6b602d10db2c09dc5829a5 Makefile.inc 44fcf9918e84cc53a9f17d71cc845322 Makefile.w32 a23307c2e076910e9bc9c709d99efcb8 mktounx 4e503ee34b9f1a77a11ab30c5d4573b7 mktow32 bcf68a1ea3f9ee584f627ec3932a28a7 mosmlcmp 1bd9420425f2469e41d209027873c11a mosmlcmp.w32 4f544cad83edd6fcbb8dc7068c16d020 mosmldep 90101580bd768db831f378a8fa58d947 mosmllex 90101580bd768db831f378a8fa58d947 mosmllex.w32 md5sum: mosmllib: Is a directory c2af32f66145f75a318889a1aa1fa2c0 mosmllnk ae864b6e984ee47083a39c9bed083b58 mosmllnk.w32 md5sum: mosmlpm: Is a directory md5sum: mosmlyac: Is a directory md5sum: runtime: Is a directory md5sum: test: Is a directory md5sum: tools: Is a directory md5sum: toolssrc: Is a directory

  1. printenv gives the following

XDG_VTNR=7 XDG_SESSION_ID=c2 CLUTTER_IM_MODULE=xim XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/vineesh GPG_AGENT_INFO=/home/vineesh/.gnupg/S.gpg-agent:0:1 SHELL=/bin/bash TERM=xterm-256color VTE_VERSION=4205 QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 WINDOWID=67108874 OLDPWD=/home/vineesh/mosml UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/1574 GNOME_KEYRING_CONTROL= GTK_MODULES=gail:atk-bridge:unity-gtk-module USER=vineesh LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.jpg=01;35:.jpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36: QT_ACCESSIBILITY=1 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path LIBVIRT_DEFAULT_URI=qemu:///system XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg PATH=/home/vineesh/bin:/home/vineesh/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/vineesh/intelFPGA/16.1/modelsim_ase/linuxaloem DESKTOP_SESSION=ubuntu QT_IM_MODULE=ibus QT_QPA_PLATFORMTHEME=appmenu-qt5 XDG_SESSION_TYPE=x11 PWD=/home/vineesh/mosml/src JOB=gnome-session XMODIFIERS=@im=ibus GNOME_KEYRING_PID= LANG=en_IN GDM_LANG=en_US MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path IM_CONFIG_PHASE=1 COMPIZ_CONFIG_PROFILE=ubuntu GDMSESSION=ubuntu SESSIONTYPE=gnome-session GTK2_MODULES=overlay-scrollbar HOME=/home/vineesh XDG_SEAT=seat0 SHLVL=1 LANGUAGE=en_IN:en GNOME_DESKTOP_SESSION_ID=this-is-deprecated UPSTART_INSTANCE= UPSTART_EVENTS=started starting XDG_SESSION_DESKTOP=ubuntu LOGNAME=vineesh QT4_IM_MODULE=xim XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-xgbW65rIvD LESSOPEN=| /usr/bin/lesspipe %s INSTANCE=Unity UPSTART_JOB=unity-settings-daemon XDG_RUNTIME_DIR=/run/user/1000 DISPLAY=:0 XDG_CURRENT_DESKTOP=Unity GTK_IMMODULE=ibus LESSCLOSE=/usr/bin/lesspipe %s %s XAUTHORITY=/home/vineesh/.Xauthority =/usr/bin/printenv

  1. I installed Ubuntu 16.04 less than a month back. Installed only Android-studio (which btw is in /usr/local/android-studio.
  2. Am I supposed to install camlrunm or any other software before installing mosml?
  3. Any suggestion on the failure I am getting in the installation from .deb? (Error posted in previous message)

Thanks @peterfirefly

peterfirefly commented 7 years ago

I have no idea what you are doing.

Where did you get the contents of that particular directory from (/home/vineesh/mosml/src) ?

I have three mosml source directories on this machine: one cloned with git, one from kfl-mosml-ver-2.10.1-52-g9ec43ac.tar.gz (the "TAR Ball" link on http://mosml.org/), and one from https://github.com/kfl/mosml/archive/ver-2.10.1.tar.gz linked to on https://github.com/kfl/mosml/releases).

The prebuilt binaries in all three have identical MD5 checksums -- which are all different from yours.

firefly@dellaware:~/ml/mosml-ver-2.10.1/src € md5sum camlrunm cutdeps mosmlcmp mosmldep mosmllex mosmllnk 6c044b90cecad10d0787759319dd25f9 camlrunm c005207259a2fa420b5dae2b9faecc23 cutdeps 7211b680c1da7f75c7754ccbad2bd3cb mosmlcmp 6a67690ca3462e0f491184a3fb4c9722 mosmldep 2e37b6596379975f4fc7b2ed1715e3e4 mosmllex 0d1669d2324d78494d47a8eb49be6095 mosmllnk

firefly@dellaware:~/ml/mosml-git/src € md5sum camlrunm cutdeps mosmlcmp mosmldep mosmllex mosmllnk 22a987d2a4cb8cf28c10bfc536394251 camlrunm c005207259a2fa420b5dae2b9faecc23 cutdeps 7211b680c1da7f75c7754ccbad2bd3cb mosmlcmp 6a67690ca3462e0f491184a3fb4c9722 mosmldep 2e37b6596379975f4fc7b2ed1715e3e4 mosmllex 0d1669d2324d78494d47a8eb49be6095 mosmllnk

firefly@dellaware:~/ml/kfl-mosml-9ec43ac/src € md5sum camlrunm cutdeps mosmlcmp mosmldep mosmllex mosmllnk 57700f1791234b744178966de614fe2c camlrunm c005207259a2fa420b5dae2b9faecc23 cutdeps 7211b680c1da7f75c7754ccbad2bd3cb mosmlcmp 6a67690ca3462e0f491184a3fb4c9722 mosmldep 2e37b6596379975f4fc7b2ed1715e3e4 mosmllex 0d1669d2324d78494d47a8eb49be6095 mosmllnk

I have italicized the camlrunm line because it is not a prebuilt binary. It is the virtual machine that interprets the byte code that the compiler spits out and it gets built from the C sources as part of 'make world'.

See how cutdeps, mosmlcmp, mosmldep, mosmllex, mosmllnk are identical?

ad 4), no, you are not supposed to install camlrunm. You are supposed to have gcc (or clang), a linker (GNU ld or gold or the LLVM linker), and a few other necessities. It is unlikely that you would need to actively install any of these, except maybe for the compiler/linker.

ad 5), no. No suggestions. I am not even looking at it, because there are literally three different ways for you to get a set of source files (+ the necessary prebuilt binaries) that ought to work.

It looks like you are doing something wrong at your end. And you are not exactly forthcoming with useful information that could help us help you. What happened to the problem of your machine not being a 32-bit or a 64-bit platform? You must have done something to make that error go away but you never told us what the problem was or how you fixed it.

I'll go one more round with you but if you are as "easy" to help as you have been this morning (European time), it will be the last.

-Peter

On Thu, Apr 27, 2017 at 12:10 PM, vineeshvs notifications@github.com wrote:

  1. md5sum * in the folder /home/vineesh/mosml/src gives the following

dc4d27b501126f0737af4b573cc8389f camlrunm md5sum: compiler: Is a directory md5sum: config: Is a directory md5sum: config.w32: Is a directory md5sum: convert: Is a directory bab3cbbf0582bea152967d2742e40b7c cutdeps md5sum: doc: Is a directory md5sum: dynlibs: Is a directory md5sum: launch: Is a directory md5sum: launch.w32: Is a directory md5sum: lex: Is a directory 2c9845d58e0601ae39b36ff5928344da Makedefs.w32 72ba8d0068ade449c269651dab87071d Makefile 4c451651fc6b602d10db2c09dc5829a5 Makefile.inc 44fcf9918e84cc53a9f17d71cc845322 Makefile.w32 a23307c2e076910e9bc9c709d99efcb8 mktounx 4e503ee34b9f1a77a11ab30c5d4573b7 mktow32 bcf68a1ea3f9ee584f627ec3932a28a7 mosmlcmp 1bd9420425f2469e41d209027873c11a mosmlcmp.w32 4f544cad83edd6fcbb8dc7068c16d020 mosmldep 90101580bd768db831f378a8fa58d947 mosmllex 90101580bd768db831f378a8fa58d947 mosmllex.w32 md5sum: mosmllib: Is a directory c2af32f66145f75a318889a1aa1fa2c0 mosmllnk ae864b6e984ee47083a39c9bed083b58 mosmllnk.w32 md5sum: mosmlpm: Is a directory md5sum: mosmlyac: Is a directory md5sum: runtime: Is a directory md5sum: test: Is a directory md5sum: tools: Is a directory md5sum: toolssrc: Is a directory

  1. printenv gives the following

XDG_VTNR=7 XDG_SESSION_ID=c2 CLUTTER_IM_MODULE=xim XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/vineesh GPG_AGENT_INFO=/home/vineesh/.gnupg/S.gpg-agent:0:1 SHELL=/bin/bash TERM=xterm-256color VTE_VERSION=4205 QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 WINDOWID=67108874 OLDPWD=/home/vineesh/mosml UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/1574 GNOME_KEYRING_CONTROL= GTK_MODULES=gail:atk-bridge:unity-gtk-module USER=vineesh LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do= 01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg= 30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31: .tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31: .lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31: .zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31: .lz=01;31:.lzo=01;31:.xz=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31: .tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31: .ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31: .cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.jpg=01;35:.jpeg=01;35: .gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35: .xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35: .svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35: .m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:. mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35: .rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35: .gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35: .emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:. m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36: .ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36: .xspf=00;36: QT_ACCESSIBILITY=1 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path LIBVIRT_DEFAULT_URI=qemu:///system XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg PATH=/home/vineesh/bin:/home/vineesh/.local/bin:/usr/local/ sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/ games:/usr/local/games:/snap/bin:/home/vineesh/intelFPGA/ 16.1/modelsim_ase/linuxaloem DESKTOP_SESSION=ubuntu QT_IM_MODULE=ibus QT_QPA_PLATFORMTHEME=appmenu-qt5 XDG_SESSION_TYPE=x11 PWD=/home/vineesh/mosml/src JOB=gnome-session XMODIFIERS=@im https://github.com/im=ibus GNOME_KEYRING_PID= LANG=en_IN GDM_LANG=en_US MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path IM_CONFIG_PHASE=1 COMPIZ_CONFIG_PROFILE=ubuntu GDMSESSION=ubuntu SESSIONTYPE=gnome-session GTK2_MODULES=overlay-scrollbar HOME=/home/vineesh XDG_SEAT=seat0 SHLVL=1 LANGUAGE=en_IN:en GNOME_DESKTOP_SESSION_ID=this-is-deprecated UPSTART_INSTANCE= UPSTART_EVENTS=started starting XDG_SESSION_DESKTOP=ubuntu LOGNAME=vineesh QT4_IM_MODULE=xim XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/ local/share/:/usr/share/:/var/lib/snapd/desktop DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-xgbW65rIvD LESSOPEN=| /usr/bin/lesspipe %s INSTANCE=Unity UPSTART_JOB=unity-settings-daemon XDG_RUNTIME_DIR=/run/user/1000 DISPLAY=:0 XDG_CURRENT_DESKTOP=Unity GTK_IMMODULE=ibus LESSCLOSE=/usr/bin/lesspipe %s %s XAUTHORITY=/home/vineesh/.Xauthority =/usr/bin/printenv

  1. I installed Ubuntu 16.04 less than a month back. Installed only Android-studio (which btw is in /usr/local/android-studio.
  2. Am I supposed to install camlrunm or any other software before installing mosml?
  3. Any suggestion on the failure I am getting in the installation from .deb? (Error posted in previous message)

Thanks @peterfirefly https://github.com/peterfirefly

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kfl/mosml/issues/47#issuecomment-297672409, or mute the thread https://github.com/notifications/unsubscribe-auth/AaJbfBhxZ-Sq19bmbUWxQ36V5TJP3lSgks5r0GmfgaJpZM4NJxpq .

vineeshvs commented 7 years ago

@peterfirefly I really appreciate your time and commitment to help me solve this issue. I will try to be more helpful so that you can help me solve this issue. Sorry if I gave any misinformation.

  1. What happened to the problem of your machine not being a 32-bit or a 64-bit platform?

The above error popped up when I tried the installation in /usr/local and it was resolved when I tried to install in ~/

  1. Where did you get the contents of that particular directory from (/home/vineesh/mosml/src)

I was using the file given by @Munksgaard . I am sorry if that's was confusing.

(S2) Download the Unix source files from http://www.itu.dk/people/sestoft/mosml/mos201src.tar.gz

  1. I tried the three sources you had suggested in the previous post and did the following.
    • Download the three versions of the software from the three links you had provided
    • Extract it using the command to my home directory (/home/vineesh/)

gzip -dc <FILE_NAME.tar.gz> | tar xfv -

make world using the file from the link https://github.com/kfl/mosml/archive/ver-2.10.1.tar.gz gives the following error.

make[2]: Entering directory '/home/vineesh/mosml-ver-2.10.1/src/dynlibs/intinf' gcc -Dunix -O3 -fPIC -I../../runtime -I/usr/local/include -c -o intinf.o intinf.c intinf.c:4:17: fatal error: gmp.h: No such file or directory compilation terminated. Makefile:31: recipe for target 'intinf.o' failed make[2]: [intinf.o] Error 1 make[2]: Leaving directory '/home/vineesh/mosml-ver-2.10.1/src/dynlibs/intinf' Makefile:90: recipe for target 'basisdynlib' failed make[1]: [basisdynlib] Error 2 make[1]: Leaving directory '/home/vineesh/mosml-ver-2.10.1/src' Makefile:26: recipe for target 'world' failed make: *** [world] Error 2

make world using the tarball from http://mosml.org/ from gives the following error (same as above, but still copy-pasting)

make[2]: Entering directory '/home/vineesh/kfl-mosml-9ec43ac/src/dynlibs/intinf' gcc -Dunix -O3 -fPIC -I../../runtime -I/usr/local/include -c -o intinf.o intinf.c intinf.c:4:17: fatal error: gmp.h: No such file or directory compilation terminated. Makefile:31: recipe for target 'intinf.o' failed make[2]: [intinf.o] Error 1 make[2]: Leaving directory '/home/vineesh/kfl-mosml-9ec43ac/src/dynlibs/intinf' Makefile:92: recipe for target 'basisdynlib' failed make[1]: [basisdynlib] Error 2 make[1]: Leaving directory '/home/vineesh/kfl-mosml-9ec43ac/src' Makefile:26: recipe for target 'world' failed make: *** [world] Error 2

make world using the tarball from (Git) https://github.com/kfl/mosml/releases from gives the following error (same as above, but still copy-pasting)

make[2]: Entering directory '/home/vineesh/mosml-ver-2.10.1/src/dynlibs/intinf' gcc -Dunix -O3 -fPIC -I../../runtime -I/usr/local/include -c -o intinf.o intinf.c intinf.c:4:17: fatal error: gmp.h: No such file or directory compilation terminated. Makefile:31: recipe for target 'intinf.o' failed make[2]: [intinf.o] Error 1 make[2]: Leaving directory '/home/vineesh/mosml-ver-2.10.1/src/dynlibs/intinf' Makefile:90: recipe for target 'basisdynlib' failed make[1]: [basisdynlib] Error 2 make[1]: Leaving directory '/home/vineesh/mosml-ver-2.10.1/src' Makefile:26: recipe for target 'world' failed make: *** [world] Error 2

  1. Result for md5sum is as follows.

$ md5sum camlrunm cutdeps mosmlcmp mosmldep mosmllex mosmllnk 22a987d2a4cb8cf28c10bfc536394251 camlrunm c005207259a2fa420b5dae2b9faecc23 cutdeps 7211b680c1da7f75c7754ccbad2bd3cb mosmlcmp 6a67690ca3462e0f491184a3fb4c9722 mosmldep 2e37b6596379975f4fc7b2ed1715e3e4 mosmllex 0d1669d2324d78494d47a8eb49be6095 mosmllnk

vineeshvs commented 7 years ago

Should have Googled first. Sorry for that Googling fatal error: gmp.h: No such file or directory gave the following link

Issue resolved and mosml installed successfully by doing apt-get install libgmp3-dev

Thanks a ton @Munksgaard @peterfirefly

peterfirefly commented 7 years ago

On Thu, Apr 27, 2017 at 1:19 PM, vineeshvs notifications@github.com wrote:

I really appreciate your time and commitment to help me solve this issue. I will try to be more helpful so that you can help me solve this issue. Sorry if I gave any misinformation.

It was more like "lack of information" or "vague information" than "misinformation".

1.

What happened to the problem of your machine not being a 32-bit or a 64-bit platform?

The above error popped up when I tried the installation in /usr/local and it was resolved when I tried to install in ~/

That's weird.

src/config/autoconf gets run by 'make world' as literally the first thing it does. You can see for yourself in src/Makefile: the first target listed in the file is 'world' and the very first line in its recipe is "cd config; $(MAKE) all", which runs src/config/Makefile. That in turn creates a defs.h file with #defines for VERSION, VERSION_S (as a string), DYNLIBSUPPORT, DYNLIBSUPPORT_S (also a string). Then it runs src/config/autoconf.

src/Makefile.inc is included by src/Makefile (above the 'world' target) but the PREFIX define (and the other defines for directories) are not used by the bitness test. The only define used is CC.

Was gcc not installed yet?

1.

Where did you get the contents of that particular directory from (/home/vineesh/mosml/src)

I was using the file given by @Munksgaard https://github.com/Munksgaard . I am sorry if that's was confusing.

He just copy/pasted a part of the install.txt file. And, like he said, it's not quite up to date...

(S2) Download the Unix source files from

http://www.itu.dk/people/sestoft/mosml/mos201src.tar.gz

... for example, this is the source tarball for Moscow ML 2.01. from January 2004. It is a very minor update over v 2.00 from June 2000.

That explains why the precompiled binaries you had were different!

I suggest you use v 2.10.1 or the newest git version instead :)

  1. I tried the three sources you had suggested in the previous post and did the following.

    • Download the three versions of the software from the three links you had provided
    • Extract it using the command to my home directory (/home/vineesh/)

gzip -dc | tar xfv -

Wonderful and clear, thank you!

(btw, did you know about the 'z' flag to tar? It does the gzip/gunzip thing for you: tar -zxf xxxxx.tar.gz. There are other flags for other compressors.)

  • Go inside the src directory and run make world
  • It gives me the following error

make world using the file from the link https://github.com/kfl/mosml/ archive/ver-2.10.1.tar.gz gives the following error.

make[2]: Entering directory '/home/vineesh/mosml-ver-2.10. 1/src/dynlibs/intinf' gcc -Dunix -O3 -fPIC -I../../runtime -I/usr/local/include -c -o intinf.o intinf.c intinf.c:4:17: fatal error: gmp.h: No such file or directory

Yes, the 'intinf' module requires libgmp (The GNU Multiple Precision Arithmetic Library). Normal integers in Moscow ML are signed 63-bit on 64-bit platforms and 31-bit on 32-bit platforms. Sometimes you want more than that.

Note that intinf is one of the dynlibs -- it's optional if you want to build it or not. You can switch it off by editing src/Makefile.inc (look for DYNLIBSUPPORT).

Some Moscow ML modules are pure ML -- they are easy enough. Some require a bit of "outside help", either for speed reasons or because they are trying to interface with the system somehow. That help comes in the form of C code. Almost all of it is compiled into 'camlrunm' and accessed through the 'primitives' mechanism. If you see something in the ML code like this:

prim_type 'a array_;

prim_val length_  : 'a array_ -> int               = 1 "vect_length";
prim_val lengthv_ : 'a vector -> int               = 1 "vect_length";

prim_val array_  : int -> 'x -> 'a array_          = 2 "make_ref_vect";
(* array_ has a non-imperative type for the sake of array0, and a
   very flexible type 'x to allow initialization.  Thus type
   correctness inside this unit body depends on type annotations.
*)

prim_val vector_ : int -> 'x -> 'a vector          = 2 "make_vect";
prim_val sub_    : 'a array_ -> int -> 'a          = 2 "get_vect_item";
prim_val subv_   : 'a vector -> int -> 'a          = 2 "get_vect_item";
prim_val update_ : 'a array_ -> int -> 'a -> unit  = 3 "set_vect_item";
prim_val updatev : 'a vector -> int -> 'a -> unit  = 3 "set_vect_item";

prim_val magic   : 'a -> 'b                        = 1 "identity";

fun from_array (a : 'a  array)  = !(magic a)    : 'a array_;
fun make_array (a : '_a array_) = magic (ref a) : 'a array

(from src/mosmllib/Array.sml)

you know that some of the functions are actually implemented in C (vect_length, make_ref_vect, make_vect, get_vect_item, set_vect_item, identity).

You can see the full list in src/runtime/primitives (after building the system).

This is a nice enough system as it is, but it is inflexible: you can't use a C library without hacking the mosml sources. And even if you are prepared to do that, it is cumbersome and slow.

That's why there is a Moscow ML module called Dynlib, that wraps the dlopen/dlclose/dlsym calls (you can use man to learn more about them) -- or their equivalent on other platforms.

Dynamic shared libraries were not particularly well standardized back in the 90's -- and they still aren't, although things have gotten much better -- so they couldn't be supported on all platforms. Furthermore, libraries which one would typically want to wrap, such as PostgreSQL, MySQL, etc, are not always installed on systems people want to run Moscow ML on.

That's why the dynamic libraries are optional.

compilation terminated.

Makefile:31: recipe for target 'intinf.o' failed make[2]: [intinf.o] Error 1 make[2]: Leaving directory '/home/vineesh/mosml-ver-2.10. 1/src/dynlibs/intinf' Makefile:90: recipe for target 'basisdynlib' failed make[1]: [basisdynlib] Error 2 make[1]: Leaving directory '/home/vineesh/mosml-ver-2.10.1/src' Makefile:26: recipe for target 'world' failed make: *** [world] Error 2

make world using the tarball from http://mosml.org/ from gives the following error (same as above, but still copy-pasting)

make[2]: Entering directory '/home/vineesh/kfl-mosml- 9ec43ac/src/dynlibs/intinf' gcc -Dunix -O3 -fPIC -I../../runtime -I/usr/local/include -c -o intinf.o intinf.c intinf.c:4:17: fatal error: gmp.h: No such file or directory compilation terminated. Makefile:31: recipe for target 'intinf.o' failed make[2]: [intinf.o] Error 1 make[2]: Leaving directory '/home/vineesh/kfl-mosml- 9ec43ac/src/dynlibs/intinf' Makefile:92: recipe for target 'basisdynlib' failed make[1]: [basisdynlib] Error 2 make[1]: Leaving directory '/home/vineesh/kfl-mosml-9ec43ac/src' Makefile:26: recipe for target 'world' failed make: *** [world] Error 2

make world using the tarball from (Git) https://github.com/kfl/mosml/ releases from gives the following error (same as above, but still copy-pasting)

make[2]: Entering directory '/home/vineesh/mosml-ver-2.10. 1/src/dynlibs/intinf' gcc -Dunix -O3 -fPIC -I../../runtime -I/usr/local/include -c -o intinf.o intinf.c intinf.c:4:17: fatal error: gmp.h: No such file or directory compilation terminated. Makefile:31: recipe for target 'intinf.o' failed make[2]: [intinf.o] Error 1 make[2]: Leaving directory '/home/vineesh/mosml-ver-2.10. 1/src/dynlibs/intinf' Makefile:90: recipe for target 'basisdynlib' failed make[1]: [basisdynlib] Error 2 make[1]: Leaving directory '/home/vineesh/mosml-ver-2.10.1/src' Makefile:26: recipe for target 'world' failed make: *** [world] Error 2

  1. Result for md5sum is as follows.

$ md5sum camlrunm cutdeps mosmlcmp mosmldep mosmllex mosmllnk 22a987d2a4cb8cf28c10bfc536394251 camlrunm c005207259a2fa420b5dae2b9faecc23 cutdeps 7211b680c1da7f75c7754ccbad2bd3cb mosmlcmp 6a67690ca3462e0f491184a3fb4c9722 mosmldep 2e37b6596379975f4fc7b2ed1715e3e4 mosmllex 0d1669d2324d78494d47a8eb49be6095 mosmllnk

And this looks familiar :)

Remember to install the other missing packages (gdbm, postgresql, mysql, regex, gd, maybe others), as noted under S8 in install.txt. They should all be available to you as Ubuntu packages.

Good luck!

-Peter

peterfirefly commented 7 years ago

On Thu, Apr 27, 2017 at 1:53 PM, Peter Lund peterfirefly@gmail.com wrote:

On Thu, Apr 27, 2017 at 1:19 PM, vineeshvs notifications@github.com wrote:

(S2) Download the Unix source files from http://www.itu.dk/people/sestoft/mosml/mos201src.tar.gz

... for example, this is the source tarball for Moscow ML 2.01. from January 2004. It is a very minor update over v 2.00 from June 2000.

That explains why the precompiled binaries you had were different!

I suggest you use v 2.10.1 or the newest git version instead :)

Was that also the version that gave you a core dump when trying to compile Array.sml?

-Peter

peterfirefly commented 7 years ago

Good!

Did it build all the way through?

Have you seen the documentation? (Near the end of http://mosml.org/)

The online reference to the libraries is really, really handy: http://mosml.org/mosmllib/

You can also write things like help "list"; or help "lib"; on the command line inside 'mosml'.

So, what can we learn from all this?

1) install.txt is outdated and unclear 2) we can probably make a good guess as to what packages are necessary on Ubuntu and Fedora 3) the prebuilt packages are apparently not as up to date as I thought (some of them apparently don't even exist!) 4) there is not as much useful feedback in case of build errors as one would like

It's basically a 17-year-old system (v2.00) that has been minimally updated since. It is still one of the nicer ML's, though!

On Thu, Apr 27, 2017 at 1:27 PM, vineeshvs notifications@github.com wrote:

Should have Googled first. Sorry for that Googling fatal error: gmp.h: No such file or directory gave the following link http://stackoverflow.com/questions/7351205/where-to-find-gmp-h

Issue resolved and mosml installed successfully by doing apt-get install libgmp3-dev

Thanks a ton @Munksgaard https://github.com/Munksgaard @peterfirefly https://github.com/peterfirefly

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kfl/mosml/issues/47#issuecomment-297687575, or mute the thread https://github.com/notifications/unsubscribe-auth/AaJbfD_zwn7r4czKTa95C_H0CBshZaLYks5r0Hu3gaJpZM4NJxpq .

Munksgaard commented 7 years ago

1) install.txt is outdated and unclear 2) we can probably make a good guess as to what packages are necessary on Ubuntu and Fedora

Should probably be addressed in a new issue

3) the prebuilt packages are apparently not as up to date as I thought (some of them apparently don't even exist!)

The ubuntu/debian package repositories haven't been updated since 2014, so the latest package is built for trusty. The packages themselves should still work. For instance, the amd64 build, which I just installed and tested using dpkg -i is here: https://launchpad.net/~kflarsen/+archive/ubuntu/mosml/+files/mosml_2.10.1-0ubuntu0_amd64.deb Perhaps @kfl can just trigger a new build on the ppa?

4) there is not as much useful feedback in case of build errors as one would like

That's true, but probably also a bit harder to fix.