[Pythonmac-SIG] Swig_for_Mac

Keith Jackson 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:

> Hello,
> 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 
compile it.

> csmith% gcc -c example.c example_wrap.c -I/usr/local/include/python2.2 
> -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
    8 /usr/include/string.h
kjackson at krjnote(6)>ls /usr/include/stdlib.h
    8 /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.

> /c
> _______________________________________________
> Pythonmac-SIG maillist  -  Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig

More information about the Pythonmac-SIG mailing list