Has anybody managed to use Io
addons like Regex
or OpenGL
under Cygwin
on Windows 7 32 bit
?
Notes:
- If it happen to be an
ASLR
issue, I want to keepASLR
enabled, so I did not test with it turned off. - My
Cygwin
is a newer one, but not neccessarily bleading edge (gcc (GCC) 4.3.4 20090804 (release) 1
)
The full story:
At my side I need some tweaks to compile and run Io
under Cygwin
. To see my build process, minor patches and final tweaks to make the DLLs available to Cygwin
see http://permalink.de/tino/iocyg
My OS is Windows 7 starter 32 bit
, so ASLR
is enabled. This here is about builds under Cygwin
, not MinGW
, as under MinGW
the Regex
addon does not compile anyway due to missing pcre
lib by default.
Under Cygwin I did not manage to use some Addons like Regex
or OpenGL
yet because of following error (note that Cygwin
looks for DLL
s in the search PATH
, so I must add the lib to it, hence the env
):
$ env PATH="$PATH:/usr/local/lib" io
Io 20090105
Io> Regex
==> Regex_0xcd1788:
[output skipped]
Io> "e" matchesRegex("." asRegex)
IoState error: missing proto 0x52128c
IoState_protoWithInitFunction() Error: missing proto
Googling for this error I found some posts relating to the fact, that Io
uses the function pointer as hash to set th开发者_StackOverflowe proto
. This address might change in a DLL
situation so the hash breaks. However looking into the code of iovm/source/IoState.c
I am not able to understand if this really is the source of the problem or not (yet).
Going deeper into this:
Io> "a" matchesOfRegex("o") anchored
==> nil
Io> "a" matchesOfRegex(".") anchored
IoState error: missing proto 0x1983128c
IoState_protoWithInitFunction() Error: missing proto
This can be tracked down to the use of Range
addon in function IoRegexMatches_searchFrom_withOptions_
from Regex/source/IoRegexMatches.c
. And here I am currently stuck.
Yes, Regex gave me problems until I installed pcre.
Fix:
- Install pcre.
- Recompile Io.
精彩评论