krjackson at lbl.gov
Sat Feb 7 22:05:46 EST 2004
First off, swig 1.3.11 is really old and buggy. Personally I'd just
build swig by hand, and run it from the command line. then you can get
swig-1.3.20. If you really have to have a gui, a quick google search
shows the current version of Swig for Mac is 1.3.19. You should at
least upgrade to that.
More comments inline.
On Feb 7, 2004, at 9:14 AM, Christopher Smith wrote:
> I'm trying to use an extension I've downloaded (APSE, a "Python port
> of the String::Approx module written for perl by Jarkko Hietaniemi.").
> I downloaded Swig_for_Mac 1.3.11 and am trying to figure out how to
> make one of the examples work before I try to process the apse.c file.
> I start up Swig_for_Mac and set the source to be the example.i file
> and press run. A wrapper file is produced, example_wrap.c.
> Now I don't know what to do from here. I am having a hard time sifting
> out what can/should be done with the Swig_for_Mac and what must be
> done at the command line with gcc. One of the pages that I've
> consulted says to issue a gcc compile of the example.c and
> example_wrap.c files. When I do that I get the following output:
Yes, Swig just generates C code from the .i file. You must still
> csmith% gcc -c example.c example_wrap.c -I/usr/local/include/python2.2
> example_wrap.c:27: header file 'string.h' not found
> example_wrap.c:203: header file 'stdlib.h' not found
kjackson at krjnote(5)>ls /usr/include/string.h
kjackson at krjnote(6)>ls /usr/include/stdlib.h
kjackson at krjnote(7)>
Those should all be in /usr/include. gcc adds /usr/include to the
include search path, so I'm not sure what's going on. Do you have these
files in /usr/include?
> [and a whole lot more!]
> I don't have anything related to python in the usr/local/include
> directory so I'm not surprised I get a lot of error messages--there is
> only a 'dlfcn.h' file in that directory. On the other hand, I don't
> know which path I should be specifying.
> I am using version 2.2 of python:
> csmith% python
> Python 2.2 (#1, 07/14/02, 23:25:09)
> [GCC Apple cpp-precomp 6.14] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
> Being a bit unix-unsavvy, I almost never run it from the command line;
> I always run it through the IDE.
> My objective is to be able to use the APSE.c file's functions. I
> assume that I have to use SWIG in some manner to do that. If you can
> help me get it running (or suggest another way to be able to access
> the apse.c function) I would appreciate it.
You can certainly use Swig to enable access to a function in C, but
you're going to need to become a little more unix-savy. :) Once you get
the example working, you'll have to write a .i file that tells swig
what you want to wrap. I've never looked at APSE, so I can't give you a
feel for how difficult that will be. It could be as simple as just
including it in the .i file in the right section, or it could require a
more complex interface file.
> Pythonmac-SIG maillist - Pythonmac-SIG at python.org
More information about the Pythonmac-SIG