[Openmcl-devel] CCL/OpenMCL *features*

Gary Byers gb at clozure.com
Wed Jan 2 19:54:33 PST 2008

It's a bug (or at least an inconsistency); the code that initializes
*FEATURES* based on what features were present at build time) adds
:DARWIN if :DARWINPPC-TARGET was present but not if :DARWINX8664 was.

Note that the the Darwin PPC case is the only one where there's a
keyword on *FEATURES* that just names an OS (:DARWIN) without
qualifying that as the host or target system.  The distinction 
between host and target usually only matters when cross-compiling,
but there are no other cases where (for instance) :LINUX or :FREEBSD
is on *FEATURS* to indicate the OS used by the host system (which
for most people most of the time is exactly the same as the target.

The initialization of *FEATURES* (in ccl:level-0;l0-init.lisp)
probably passed the point of maintainability some time ago, and
there are likely to be saner ways to do this.

On Wed, 2 Jan 2008, Bill Clementson wrote:

> Hi all,
> I converted over to an Intel Macbook Pro when Apple replaced my PPC
> Powerbook last month (see http://bc.tech.coop/blog/071118.html for the
> details). I installed the CVS version of CCL on my Macbook and most
> things have been working fine (however, I'm still getting used to the
> blazing speed difference!). One thing that didn't work fine was when I
> tried to reinstall Hunchentoot. Hunchentoot has CL+SSL as a dependency
> and CL+SSL uses CFFI to talk to libssl.dylib. However, the following
> code in the cl+ssl reload.lisp file doesn't locate the libssl.dylib
> library correctly:
> (cffi:define-foreign-library libssl
>  (:windows "libssl32.dll")
>  (:darwin "libssl.dylib")
>  (:unix (:or "libssl.so.0.9.8" "libssl.so"))
>  (t (:default "libssl3")))
> Instead, CFFI tries to load libssl.so.0.9.8" and "libssl.so" (e.g. -
> the :unix libs) and fails because it doesn't find them. I had a look
> at *features* and :darwin isn't defined but :unix is. I assume that
> this is a change from OpenMCL 1.0? When I changed the above code to:
> (cffi:define-foreign-library libssl
>  (:windows "libssl32.dll")
>  (:darwin "libssl.dylib")
>  (:unix (:or "libssl.so.0.9.8" "libssl.so" "libssl.dylib"))
>  (t (:default "libssl3")))
> everything builds without problem. Is there some reason :darwin isn't
> in *features* now?
> --
> Bill Clementson
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list