0

I wanted to try shed skin on cygwin.

Installation of shed skin and libgc seems okay, but when I tried to make the shed-skinned Python script, it complains:

/usr/lib/python2.7/site-packages/shedskin/lib/builtin.hpp:31:22: fatal error: execinfo.h: No such file or directory
compilation terminated.

(full listing below)

I checked the list of installed files on Cygwin for libgc and it does not include execinfo.h

Does that mean that shed skin cannot be used on Cygwin?


$ Make
g++  -O2 -march=native -Wno-deprecated  -I. -I/usr/lib/python2.7/site-packages/shedskin/lib -g -fPIC -D__SS_BIND -I/usr/include/python2.7 -I/usr/include/python2.7 /home/Administrator/python/shedskin/shedskinfn.cpp /usr/lib/python2.7/site-packages/shedskin/lib/re.cpp /usr/lib/python2.7/site-packages/shedskin/lib/builtin.cpp -lgc -lpcre  -shared -Xlinker -export-dynamic -ldl  -lpython2.7 -o shedskinfn.so
/home/Administrator/python/shedskin/shedskinfn.cpp:1:0: warning: -fPIC ignored for target (all code is position independent)
 #include "builtin.hpp"
 ^
In file included from /home/Administrator/python/shedskin/shedskinfn.cpp:1:0:
/usr/lib/python2.7/site-packages/shedskin/lib/builtin.hpp:31:22: fatal error: execinfo.h: No such file or directory
compilation terminated.
/usr/lib/python2.7/site-packages/shedskin/lib/re.cpp:1:0: warning: -fPIC ignored for target (all code is position independent)
 /* Copyright 2005-2011 Mark Dufour and contributors; License Expat (See LICENSE) */
 ^
In file included from /usr/lib/python2.7/site-packages/shedskin/lib/re.hpp:9:0,
                 from /usr/lib/python2.7/site-packages/shedskin/lib/re.cpp:3:
/usr/lib/python2.7/site-packages/shedskin/lib/builtin.hpp:31:22: fatal error: execinfo.h: No such file or directory
compilation terminated.
/usr/lib/python2.7/site-packages/shedskin/lib/builtin.cpp:1:0: warning: -fPIC ignored for target (all code is position independent)
 /* Copyright 2005-2011 Mark Dufour and contributors; License Expat (See LICENSE) */
 ^
In file included from /usr/lib/python2.7/site-packages/shedskin/lib/builtin.cpp:3:0:
/usr/lib/python2.7/site-packages/shedskin/lib/builtin.hpp:31:22: fatal error: execinfo.h: No such file or directory
compilation terminated.
Makefile:17: recipe for target 'shedskinfn.so' failed
Make: *** [shedskinfn.so] Error 1

EDIT 1:

Adding the missing execinfo.h (downloaded from the internet) to the make's lib path does not help.

$ shedskin  -L `pwd`  shedskinfn.py && make
*** SHED SKIN Python-to-C++ Compiler 0.9.4 ***
Copyright 2005-2011 Mark Dufour; License GNU GPL version 3 (See LICENSE)

[analyzing types..]
********************************100%
[generating c++ code..]
[elapsed time: 2.43 seconds]
g++  -O2 -march=native -Wno-deprecated  -I. -I/usr/lib/python2.7/site-packages/shedskin/lib -I/home/Administrator/python/shedskin /home/Administrator/python/shedskin/shedskinfn.cpp /usr/lib/python2.7/site-packages/shedskin/lib/re.cpp /usr/lib/python2.7/site-packages/shedskin/lib/builtin.cpp -lgc -lpcre  -o shedskinfn
In file included from /usr/lib/python2.7/site-packages/shedskin/lib/builtin.cpp:147:0:
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp: In function '__shedskin__::str* __shedskin__::do_asprintf_str(const char*, __shedskin__::str*, __shedskin__::pyobj*, __shedskin__::pyobj*)':
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:93:104: error: 'asprintf' was not declared in this scope
         x = asprintf(&d, fmt, ((int)(((int_ *)a1)->unit)), ((int)(((int_ *)a2)->unit)), s->unit.c_str());
                                                                                                        ^
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:95:75: error: 'asprintf' was not declared in this scope
         x = asprintf(&d, fmt, ((int)(((int_ *)a1)->unit)), s->unit.c_str());
                                                                           ^
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:97:46: error: 'asprintf' was not declared in this scope
         x = asprintf(&d, fmt, s->unit.c_str());
                                              ^
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp: In instantiation of '__shedskin__::str* __shedskin__::do_asprintf(const char*, T, __shedskin__::pyobj*, __shedskin__::pyobj*) [with T = int]':
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:129:91:   required from here
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:70:21: error: 'asprintf' was not declared in this scope
         x = asprintf(&d, fmt, ((int)(((int_ *)a1)->unit)), ((int)(((int_ *)a2)->unit)), t);
                     ^
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:72:21: error: 'asprintf' was not declared in this scope
         x = asprintf(&d, fmt, ((int)(((int_ *)a1)->unit)), t);
                     ^
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:74:21: error: 'asprintf' was not declared in this scope
         x = asprintf(&d, fmt, t);
                     ^
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp: In instantiation of '__shedskin__::str* __shedskin__::do_asprintf(const char*, T, __shedskin__::pyobj*, __shedskin__::pyobj*) [with T = double]':
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:136:93:   required from here
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:70:21: error: 'asprintf' was not declared in this scope
         x = asprintf(&d, fmt, ((int)(((int_ *)a1)->unit)), ((int)(((int_ *)a2)->unit)), t);
                     ^
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:72:21: error: 'asprintf' was not declared in this scope
         x = asprintf(&d, fmt, ((int)(((int_ *)a1)->unit)), t);
                     ^
/usr/lib/python2.7/site-packages/shedskin/lib/builtin/format.cpp:74:21: error: 'asprintf' was not declared in this scope
         x = asprintf(&d, fmt, t);
                     ^
Makefile:17: recipe for target 'shedskinfn' failed
make: *** [shedskinfn] Error 1
boardrider
  • 5,882
  • 7
  • 49
  • 86

1 Answers1

1

Well, I'm not aware of anyone having tried to use shedskin on Cygwin before, mainly — I think — because there has been some (limited) support for native Windows at some point.

Still, the issues you're having there are some known limitations of Cygwin itself, which you might somehow mitigate by using a compatibility layer such as Gnulib.

That might fix the asprintf issue as well, though it might just be a missing #include of stdio.h somewhere.

Anyway, I can't guarantee full support for Cygwin as I'm not using Windows at all myself, but feel free to send an email to shedskin-discuss@googlegroups.com — someone might want to have a deeper look at it. If you want to contribute some fixes or documentation, your help is very welcome on GitHub.

Arkanosis
  • 2,229
  • 1
  • 12
  • 18