After years of digging :-) , I have finally unearthed the infamous
"UNIX error 45 (EOPNOTSUPP): Operation not supported on socket"
bug. This bug has shown up for years when the maxima package was built with buffered output, for example inside FinkCommander. Our usual advice was "don't do this". According to google, the bug was mentioned on various fink / darwinports / debian / maxima / clisp mailing lists, but never taken very seriously and AFIACT never subject to fixing efforts.

The situation has changed with Tiger. If you want to see why, just run "clisp | cat" or "clisp-maxima | tee /dev/null" in Tiger. The bug now shows up much easier, and it was brought to my attention by texmacs users who wanted to run the maxima plugin. Whereas this plugin works nicely on Panther, it crashes on Tiger with a stream of

 *** - UNIX error 45 (EOPNOTSUPP) : Operation not supported on socket
 The following restarts are available:
 R1 = Macsyma top-level

error messages instead of the maxima prompt.

As usual, Apple is to blame. Their fsync(2) system call returns the EOPNOTSUPP error in certain situations, contrary to its documentation, and clisp doesn't know about this. I have made a patch that tells clisp about this possibility.

The patch acts identically in 2 places, the second one takes care of the new breakage in Tiger, and the first one of the old breakage. With this patch, now maxima can be compiled with buffered output and inside FinkCommander. But I think this latter benefit for older systems does perhaps not justify backporting the patch to 10.2 and 10.3.

Lars, I took the liberty (because of urgency for the texmacs users) to patch the clisp-maxima.patch file in 10.4-transitional stable and unstable accordingly, and to bump the revision of clisp-maxima from -2 to -12. The clisp-maxima.info file is not changed otherwise, this is just for forcing a recompilation.

The clisp package would need the corresponding patch to src/stream.d too, but I didn't touch this. I also think a notice to the upstream clisp developers would be useful.

Finally, the 10.4 bindist clisp-maxima package needs an update to version 2.29-12, too. With the present version, texmacs with the maxima plugin (which is one of the important uses of texmacs) does not work.

--
Martin



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to