[Ecls-list] ecl, fricas and cygwin

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sun Feb 27 10:06:01 UTC 2011


On Wed, Feb 23, 2011 at 12:28 PM, Martin Rubey <
martin.rubey at math.uni-hannover.de> wrote:

> gcc -DECLDIR="\"/usr/local/lib/ecl-11.1.1\"" -I.
> -I/cygdrive/d/ecl-11.1.1/build
> -I/cygdrive/d/ecl-11.1.1/src/c -I../ecl/gc -DECL_API -DECL_NO_LEGACY    -g
> -O2
> -Dcygwin -c -o ffi/libraries.o tmp.c
> /cygdrive/d/ecl-11.1.1/src/c/ffi/libraries.d: In function
> `copy_object_file':
> /cygdrive/d/ecl-11.1.1/src/c/ffi/libraries.d:108: error: `S_IRWXU'
> undeclared (f
> irst use in this function)
> /cygdrive/d/ecl-11.1.1/src/c/ffi/libraries.d:108: error: (Each undeclared
> identi
> fier is reported only once
> /cygdrive/d/ecl-11.1.1/src/c/ffi/libraries.d:108: error: for each function
> it ap
> pears in.)


I am really puzzled. On re-reading your email I realized this problem was
actually located in the loader code, in a piece that is cygwin-specific.
This suggests that something has either changed on cygwin or that this
behavior depends on the version of the Windows you are using.

The code, shown below, (src/c/ffi/libraries.d) changes the extension of a
compiled file to turn it into a *.dll and also changes permissions, so that
cygwin can load it. Could you simply comment it out and try rebuilding?

Juanjo

#ifdef cygwin
{
cl_object new_copy = make_constant_base_string(".dll");
 new_copy = si_base_string_concatenate(2, copy, new_copy);
cl_rename_file(2, copy, new_copy);
 copy = new_copy;
}
ecl_disable_interrupts();
 err = chmod(copy->base_string.self, S_IRWXU) < 0;
ecl_enable_interrupts();
 if (err) {
FElibc_error("Unable to give executable permissions to ~A",
     1, copy);
}
#endif



-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20110227/f661706b/attachment.html>


More information about the ecl-devel mailing list