Karim BELABAS on Fri, 07 Nov 2003 19:52:55 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Mac OS X + PARI + FLTK


Hi,

  I have ported gp hi-res graphics to the MacOS X platform, using the
lightweight fltk library (www.fltk.org). Provided, fltk is installed,
this is enabled by

    Configure --with-fltk

There are two problems:

1)  on a Unix host (or Cygwin) the graphics window is created by a forked
process and it is possible to go on working in GP while keeping many such
windows open. It works perfectly on Solaris, Linux and Windows (Cygwin, and
apparently native builds though I couldn't check that).

Using this generic code and fltk-1.1.4 on MacOS X, control goes back to
parent gp immediately, no window appears, and the forked-off gp supposedly
controlling the graphical window silently enters an infinite loop deep down a
Carbon routine (  ClearMenuBar(), called from the fltk routine
Fl_mac.cxx:fl_open_display() ).

I hacked the generic code to get something useful, governed by the macro
BROKEN_FORK (currently defined whenever __APPLE__ is).

Maybe this problem is due to a broken Carbon library on my test machine. You
may want to try _not_ to define BROKEN_FORK in src/graph/plotfltk.c, and see
whether it works for you.

2)  when BROKEN_FORK is defined, no fork occurs, and gp handles the graphical
window directly. Control only comes back to the user when the window is
closed ( by clicking into it ). For some reason, the window manager is unable
to "see" or "handle" the window: it never gets focus, the status bar remains
transparent, buttons do not work, it can't be moved, etc. Only thing you
can do is look at the nice drawing, and click into it, thereby closing the
rogue window.

I have no experience whatsoever with Macs, so any feedback will be much
appreciated.

Cheers,

    Karim.

P.S: available from CVS as usual ( http://pari.math.u-bordeaux.fr/CVS.html ).

P.S2: Of course if you have installed X11 and are running an X server, then
you don't need all that. Everything works out of the box.
-- 
Karim Belabas                     Tel: (+33) (0)1 69 15 57 48
Dép. de Mathématiques, Bât. 425   Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud              http://www.math.u-psud.fr/~belabas/
F-91405 Orsay (France)            http://pari.math.u-bordeaux.fr/  [PARI/GP]