POPLOG ON OSX
http://www.cs.bham.ac.uk/research/poplog/osx/


CONTENTS

 -- NEWS
 -- -- 24 Jan 2007: Running Poplog/Pop-11 remotely from OSX
 -- -- 22 Mar 2006: Message from Brent Fulgham
 -- INTRODUCTION: A WORKING POPLOG WITH X11 FACILITIES
 -- COMPLETING THE PORT
 -- CURRENT STATUS
 -- NOTE FOR EXPERTS
 -- INSTALLING AND USING OSX POPLOG
 -- NOTE FROM JULIO ACOSTA

-- NEWS
   ----

-- -- 24 Jan 2007: Running Poplog/Pop-11 remotely from OSX

Getting the OSX poplog to work on a Mac running OSX will require
some expertise, for reasons explained below. If your Mac is on
network that gives you fast access to a linux machine running linux
poplog, the following information provided by Alex Speller may
be of use.  He wrote, that after failing to get OSX poplog to work
with XVed on his machine:

    when I had to do a summer project using Pop11, I found these
    instructions that enabled me to remotely use xved using the X11
    windowing system.

        http://developer.apple.com/opensource/tools/runningx11.html -

    particularly the section entitled "X11 Forwarding"

    and

        http://developer.apple.com/qa/qa2004/qa1383.html

    This solution was perfectly acceptable, if a little slow (work must
    be saved regularly - if your connection drops you lose what you've
    typed since you last saved!). Of course it requires you to have a
    remote system with pop11 configured on that you are authorised to
    access, e.g. the School's servers.

Regarding losing work it is possible to use the ved_autosave facility.

In your vedinit.p file in the directory $poplib you can do

    ;;; load the library when you start up Ved or XVed
    uses ved_autosave;


    ;;; set active variable to save every 3 minutes

    3 -> vedautosave_minutes;

    ;;; may be changed in Xved  using ENTER autosave <number>

For more information, in Ved do
    ENTER help ved_autosave

The help file is also available here:

    http://www.cs.bham.ac.uk/research/projects/poplog/doc/pophelp/ved_autosave


-- -- 22 Mar 2006: Message from Brent Fulgham
      ---------------------------------------

Brent has done some testing and is working on re-packaging the OSX port
to be consistent with the linux poplog V15.6 port. See this file in this
directory
    http://www.cs.bham.ac.uk/research/poplog/osx/comments-by-brent-fulgham.txt


-- INTRODUCTION: A WORKING POPLOG WITH X11 FACILITIES
   --------------------------------------------------
   16 May 2005
   -----------

In June 2004 it was announced that a project was likely to start
to port Poplog to OSX on on Apple MAC.

For details of the announcement and a suggested porting strategy
see
    http://www.cs.bham.ac.uk/research/poplog/osx-poplog/

The project started some time later. Those involved were seriously
handicapped by lack of experience of Poplog and the unavailability
of helpers who had experience of Poplog and were also Mac Users.

NOTE added 9th June
    A further cause of difficulty seems to have been bugs in the
    AIX+PPC port of poplog, which, it was originally hoped would provide
    a substantial amount of the code for the OSX port. I was assured
    by ex-members of ISL that AIX poplog had run, but it is possible
    that the sources I obtained from Sussex were not the final

    AIX oplog sources.

By the time the project ended in May 2005 a working version of poplog
for OSX had been produced. This includes: Ved, Pop11, Prolog,
Common Lisp and Poplog ML.

At this stage the X11 facilities are not working (for unknown reasons).

I wrote in an earlier version of this file

    it is not clear whether the socket mechanisms, or dynamic linking
    of external programs (e.g. C) work.

However, Philippe Roy, who managed the port, has kindly provided the
following correction, with welcome information:

    Sockets do work in this version. Although the newsserver example that was
    documented to try did not (there is a difference between OS X and Linux in
    how it is handled that derives from etc/services file), we had some http
    communications work without a problem. The reason why sockets did not work
    at first was because sockets are implemented in such a way that it is loaded
    through dynamic linking. Consequently, dynamic linking also works without a
    problem in this version also.


-- COMPLETING THE PORT
   -------------------
Help is needed from Poplog experts who also have Apple Mac OS X
expertise who may be able to help with completion of the port.

Anyone willing should ask for help and advice via either the
comp.lang.pop news group or the pop-forum AT cs.bham.ac.uk
mailing list. There is also a separate mailing list for poplog
developers. To join that email A.Sloman@cs.bham.ac.uk
See also
    http://www.cs.bham.ac.uk/research/poplog/openpoplog.html

-- CURRENT STATUS
   --------------
The final version of the ported system was made available here
on 16th May 2005

    http://cst.infocol.net/poplog_port_osx/poplog_osx.tgz

This is a 50.7Mb file. Don't fetch it.

It has been copied to

    http://www.cs.bham.ac.uk/research/poplog/osx/old/poplog_osx-may-16.tgz
        DON'T FETCH THIS.

I untarred that and found quite a lot of saved images and libraries
that had been saved from earlier versions, so I removed them and rebuilt
the tar file here

    http://www.cs.bham.ac.uk/research/poplog/osx/poplog_osx-21-may-2005.tgz
        49528833bytes May 21 00:48 poplog/osx/poplog_osx-21-may-2005.tgz
        FETCH THAT ONE


-- NOTE FOR EXPERTS
   ----------------

The reduced tar file is still larger than the current 18Mbyte linux
poplog distribution 9Version 15.6) described here:
    http://www.cs.bham.ac.uk/research/poplog/v15.6/AREADME.txt

This is in part because the OSX file includes pre-built saved
images, and also all the .a, .o. and .w files produced by 'pgcomp'
in these subdirectories

    pop/src/
    pop/ved/src
    pop/x/src

As far as I can tell, the archives in the pop/obj subdirectory
(about 7mbytes) are all out of date, but I left them in case someone
needs them. The link command in pop/pop/poplink_cmnd does not have
the usual format. It explicitly links all the .o files in the source
directories, instead of using the usual file derived from the pop/obj
archives.

I changed that script to remove all the absolute path names, which made
it unusable. However, I don't know if is usable as I am not a mac user.

See the note below from Julia Acosta.


-- INSTALLING AND USING OSX POPLOG
   -------------------------------

If you untar the tar file on a Mac, then it will create a directory
    poplog_osx/

containing these subdirectories

    poplog_osx/local/
       Poplog extension libraries as they were in July 2004
        (Not much has changed)

    poplog_osx/v15.53e/
        The main poplog directory

To use poplog give the environment variable usepop the full path name
last directory as its value, e.g.

in bash:
    usepop=......poplog/osx/v15.5e
    export usepop

in tcsh
    setenv usepop  ......poplog/osx/v15.5e

Then do one of these

in bash:
    . $usepop/pop/com/poplog.sh


in tcsh
    source $usepop/pop/com/poplog
    rehash

After that you should be able to run pop11, ved, prolog, clisp or pml

At present you cannot use any of the X facilities. As far as I know
they have simply not been linked in. I don't know if they would work
if the system were re-linked including X.

I hope someone finds this useful. Better still, I hope someone who knows
pop11 and OSX is willing to help with the task of bringing OSX poplog
into a state in which it uses the new directory structure of v15.6

Getting there from a working poplog will not be difficult if all the
core poplog facilities in OSX poplog, including popc/pgcomp already
work.

-- NOTE FROM JULIO ACOSTA
   ----------------------

The following was posted to the poplog-dev email list:

> Subject: poplog osx install
> Date: Wed, 18 May 2005 14:38:56 +0000
>
> Instructions for installing poplog on OS X
>
> You can untar poplog_osx file in any desired path, the only important thing
> is to setup the environment variables.
> For example you could untar the file to /usr/local/poplog and define usepop
> as:
>
> /usr/local/poplog/poplog_osx/v15.53e
>
> The script named ejecutar in $popsrc was used to rebuild newpop11 image with
> the assembler files taken from pc+Linux cross compile to OSX.
>
>     [I DID NOT FIND THIS SCRIPT. Aaron]
>
> After you untar and set the environment variables you can run script rebuild
> in $popsys which follows all the steps mentioned in rebuilding corepop.
>
> After that you could run newpop11, but it fails at several parts, it can't
> load xved, also can't make indexes. It would be better try to install it by
> hand, the system builds the three images for pml, clisp and prolog.
> $popcom/mkclisp works fine but sometimes it stares in the middle of
> execution and needs to be killed (we haven't found a reason for this).
>
> Pglink and pgcomp work, newpop fails when tries to make indexes, I'm not
> sure about pglibr
>
> Another thing to be aware of is that external symbols are called with
> underscore added at the beginning, for example:
>
> When you compile unix sockets with lib unix_sockets command several
> undefined symbols where shown as a mishap �cant find value for external
> symbol _getservbyname� wich we could solve by defining _getservbyname in
> c_core.c and returning the real system call getservbyname caused by OSX
> assembler.
>
> Thanks a lot for your help and support


========================
Aaron Sloman
http://www.cs.bham.ac.uk/~axs/
9 Jun 2005