This commit is contained in:
John Cupitt 2010-05-06 20:43:44 +00:00
parent 5daf29b174
commit deb58b818d
9 changed files with 4451 additions and 2096 deletions

41
TODO
View File

@ -13,6 +13,47 @@
python setup.py build
python setup.py install
now we get:
>>> from vipsCC import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/vipsCC/VImage.py", line 25, in
<module>
vimagemodule = swig_import_helper()
File "/usr/local/lib/python2.6/dist-packages/vipsCC/VImage.py", line 21, in
swig_import_helper
_mod = imp.load_module('vimagemodule', fp, pathname, description)
ImportError: /usr/local/lib/python2.6/dist-packages/vipsCC/vimagemodule.so:
undefined symbol: _ZTIN4vips5VMaskE
ie. vimagemodule.so can't find libvipsCC.so I guess? or perhaps the compiler
is being given a differnt mangling flag
we're building with:
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fPIC -DDEBUG_FATAL=1 -DDEBUG_LEAK=1
-I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/libxml2
-I/usr/include/libpng12 -I/usr/include/libexif -I/usr/include/glib-2.0
-I/usr/include/freetype2 -I/usr/include/OpenEXR -I/usr/include/ImageMagick
-I../../libvips/include -I../../libvipsCC/include -I/usr/include/python2.6 -c
vimagemodule.cpp -o build/temp.linux-x86_64-2.6/vimagemodule.o -pthread
-fopenmp -pthread -Wl,--export-dynamic -pthread -pthread -pthread
g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
build/temp.linux-x86_64-2.6/vimagemodule.o -Wl,-R/home/john/vips/lib
-lMagickWand -lMagickCore -lpng12 -ltiff -lz -ljpeg -lgthread-2.0 -lrt
-lglib-2.0 -lgmodule-2.0 -lxml2 -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0
-lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0
-lgthread-2.0 -lrt -lglib-2.0 -lfftw3 -lm -llcms -lIlmImf -lz -lImath -lHalf
-lIex -lIlmThread -lmatio -lz -lexif -lm -lstdc++ -lm -o
build/lib.linux-x86_64-2.6/vipsCC/vimagemodule.so -pthread -fopenmp -pthread
-Wl,--export-dynamic -pthread -pthread -pthread
how does this compare to the working build?
- the tiff writer could use more im_check_ things

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,32 @@
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 1.3.36
# Version 1.3.40
#
# Don't modify this file, modify the SWIG interface instead.
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
# This file is compatible with both classic and new-style classes.
import vdisplaymodule
import new
new_instancemethod = new.instancemethod
from sys import version_info
if version_info >= (2,6,0):
def swig_import_helper():
from os.path import dirname
import imp
fp = None
try:
fp, pathname, description = imp.find_module('vdisplaymodule', [dirname(__file__)])
except ImportError:
import vdisplaymodule
return vdisplaymodule
if fp is not None:
try:
_mod = imp.load_module('vdisplaymodule', fp, pathname, description)
finally:
fp.close()
return _mod
vdisplaymodule = swig_import_helper()
del swig_import_helper
else:
import vdisplaymodule
del version_info
try:
_swig_property = property
except NameError:
@ -14,7 +34,7 @@ except NameError:
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
if (name == "thisown"): return self.this.own(value)
if (name == "this"):
if type(value).__name__ == 'PySwigObject':
if type(value).__name__ == 'SwigPyObject':
self.__dict__[name] = value
return
method = class_type.__swig_setmethods__.get(name,None)
@ -31,21 +51,19 @@ def _swig_getattr(self,class_type,name):
if (name == "thisown"): return self.this.own()
method = class_type.__swig_getmethods__.get(name,None)
if method: return method(self)
raise AttributeError,name
raise AttributeError(name)
def _swig_repr(self):
try: strthis = "proxy of " + self.this.__repr__()
except: strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
import types
try:
_object = types.ObjectType
_object = object
_newclass = 1
except AttributeError:
class _object : pass
_newclass = 0
del types
import VError
@ -61,11 +79,11 @@ class VDisplay(_object):
this = vdisplaymodule.new_VDisplay(*args)
try: self.this.append(this)
except: self.this = this
def __assign__(*args): return vdisplaymodule.VDisplay___assign__(*args)
def __assign__(self, *args): return vdisplaymodule.VDisplay___assign__(self, *args)
__swig_destroy__ = vdisplaymodule.delete_VDisplay
__del__ = lambda self : None;
def disp(*args): return vdisplaymodule.VDisplay_disp(*args)
def luts(*args): return vdisplaymodule.VDisplay_luts(*args)
def disp(self): return vdisplaymodule.VDisplay_disp(self)
def luts(self): return vdisplaymodule.VDisplay_luts(self)
VDisplay_swigregister = vdisplaymodule.VDisplay_swigregister
VDisplay_swigregister(VDisplay)

View File

@ -1,12 +1,32 @@
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 1.3.36
# Version 1.3.40
#
# Don't modify this file, modify the SWIG interface instead.
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
# This file is compatible with both classic and new-style classes.
import verrormodule
import new
new_instancemethod = new.instancemethod
from sys import version_info
if version_info >= (2,6,0):
def swig_import_helper():
from os.path import dirname
import imp
fp = None
try:
fp, pathname, description = imp.find_module('verrormodule', [dirname(__file__)])
except ImportError:
import verrormodule
return verrormodule
if fp is not None:
try:
_mod = imp.load_module('verrormodule', fp, pathname, description)
finally:
fp.close()
return _mod
verrormodule = swig_import_helper()
del swig_import_helper
else:
import verrormodule
del version_info
try:
_swig_property = property
except NameError:
@ -14,7 +34,7 @@ except NameError:
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
if (name == "thisown"): return self.this.own(value)
if (name == "this"):
if type(value).__name__ == 'PySwigObject':
if type(value).__name__ == 'SwigPyObject':
self.__dict__[name] = value
return
method = class_type.__swig_setmethods__.get(name,None)
@ -31,24 +51,22 @@ def _swig_getattr(self,class_type,name):
if (name == "thisown"): return self.this.own()
method = class_type.__swig_getmethods__.get(name,None)
if method: return method(self)
raise AttributeError,name
raise AttributeError(name)
def _swig_repr(self):
try: strthis = "proxy of " + self.this.__repr__()
except: strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
import types
try:
_object = types.ObjectType
_object = object
_newclass = 1
except AttributeError:
class _object : pass
_newclass = 0
del types
class VError:
class VError(Exception):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, VError, name, value)
__swig_getmethods__ = {}
@ -60,15 +78,21 @@ class VError:
except: self.this = this
__swig_destroy__ = verrormodule.delete_VError
__del__ = lambda self : None;
def perror(*args): return verrormodule.VError_perror(*args)
def app(*args): return verrormodule.VError_app(*args)
def what(*args): return verrormodule.VError_what(*args)
def ostream_print(*args): return verrormodule.VError_ostream_print(*args)
def __str__(*args): return verrormodule.VError___str__(*args)
def perror(self, *args): return verrormodule.VError_perror(self, *args)
def app(self, *args): return verrormodule.VError_app(self, *args)
def what(self): return verrormodule.VError_what(self)
def ostream_print(self, *args): return verrormodule.VError_ostream_print(self, *args)
def __str__(self): return verrormodule.VError___str__(self)
VError_swigregister = verrormodule.VError_swigregister
VError_swigregister(VError)
def __lshift__(*args):
return verrormodule.__lshift__(*args)
__lshift__ = verrormodule.__lshift__
def verror(str = ""):
return verrormodule.verror(str)
verror = verrormodule.verror

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,32 @@
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 1.3.36
# Version 1.3.40
#
# Don't modify this file, modify the SWIG interface instead.
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
# This file is compatible with both classic and new-style classes.
import vmaskmodule
import new
new_instancemethod = new.instancemethod
from sys import version_info
if version_info >= (2,6,0):
def swig_import_helper():
from os.path import dirname
import imp
fp = None
try:
fp, pathname, description = imp.find_module('vmaskmodule', [dirname(__file__)])
except ImportError:
import vmaskmodule
return vmaskmodule
if fp is not None:
try:
_mod = imp.load_module('vmaskmodule', fp, pathname, description)
finally:
fp.close()
return _mod
vmaskmodule = swig_import_helper()
del swig_import_helper
else:
import vmaskmodule
del version_info
try:
_swig_property = property
except NameError:
@ -14,7 +34,7 @@ except NameError:
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
if (name == "thisown"): return self.this.own(value)
if (name == "this"):
if type(value).__name__ == 'PySwigObject':
if type(value).__name__ == 'SwigPyObject':
self.__dict__[name] = value
return
method = class_type.__swig_setmethods__.get(name,None)
@ -31,21 +51,19 @@ def _swig_getattr(self,class_type,name):
if (name == "thisown"): return self.this.own()
method = class_type.__swig_getmethods__.get(name,None)
if method: return method(self)
raise AttributeError,name
raise AttributeError(name)
def _swig_repr(self):
try: strthis = "proxy of " + self.this.__repr__()
except: strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
import types
try:
_object = types.ObjectType
_object = object
_newclass = 1
except AttributeError:
class _object : pass
_newclass = 0
del types
import VError
@ -61,16 +79,16 @@ class VMask(_object):
this = vmaskmodule.new_VMask(*args)
try: self.this.append(this)
except: self.this = this
def __assign__(*args): return vmaskmodule.VMask___assign__(*args)
def __assign__(self, *args): return vmaskmodule.VMask___assign__(self, *args)
__swig_destroy__ = vmaskmodule.delete_VMask
__del__ = lambda self : None;
def xsize(*args): return vmaskmodule.VMask_xsize(*args)
def ysize(*args): return vmaskmodule.VMask_ysize(*args)
def size(*args): return vmaskmodule.VMask_size(*args)
def filename(*args): return vmaskmodule.VMask_filename(*args)
def type(*args): return vmaskmodule.VMask_type(*args)
def mask(*args): return vmaskmodule.VMask_mask(*args)
def ostream_print(*args): return vmaskmodule.VMask_ostream_print(*args)
def xsize(self): return vmaskmodule.VMask_xsize(self)
def ysize(self): return vmaskmodule.VMask_ysize(self)
def size(self): return vmaskmodule.VMask_size(self)
def filename(self): return vmaskmodule.VMask_filename(self)
def type(self): return vmaskmodule.VMask_type(self)
def mask(self): return vmaskmodule.VMask_mask(self)
def ostream_print(self, *args): return vmaskmodule.VMask_ostream_print(self, *args)
VMask_swigregister = vmaskmodule.VMask_swigregister
VMask_swigregister(VMask)
@ -86,31 +104,43 @@ class VIMask(VMask):
this = vmaskmodule.new_VIMask(*args)
try: self.this.append(this)
except: self.this = this
def scale(*args): return vmaskmodule.VIMask_scale(*args)
def offset(*args): return vmaskmodule.VIMask_offset(*args)
def embed(*args): return vmaskmodule.VIMask_embed(*args)
def __index__(*args): return vmaskmodule.VIMask___index__(*args)
def __call__(*args): return vmaskmodule.VIMask___call__(*args)
def get(*args): return vmaskmodule.VIMask_get(*args)
def scale(self): return vmaskmodule.VIMask_scale(self)
def offset(self): return vmaskmodule.VIMask_offset(self)
def embed(self, *args): return vmaskmodule.VIMask_embed(self, *args)
def __index__(self, *args): return vmaskmodule.VIMask___index__(self, *args)
def __call__(self, *args): return vmaskmodule.VIMask___call__(self, *args)
def get(self, *args): return vmaskmodule.VIMask_get(self, *args)
__swig_getmethods__["gauss"] = lambda x: vmaskmodule.VIMask_gauss
if _newclass:gauss = staticmethod(vmaskmodule.VIMask_gauss)
__swig_getmethods__["gauss_sep"] = lambda x: vmaskmodule.VIMask_gauss_sep
if _newclass:gauss_sep = staticmethod(vmaskmodule.VIMask_gauss_sep)
__swig_getmethods__["log"] = lambda x: vmaskmodule.VIMask_log
if _newclass:log = staticmethod(vmaskmodule.VIMask_log)
def rotate45(*args): return vmaskmodule.VIMask_rotate45(*args)
def rotate90(*args): return vmaskmodule.VIMask_rotate90(*args)
def trn(*args): return vmaskmodule.VIMask_trn(*args)
def inv(*args): return vmaskmodule.VIMask_inv(*args)
def cat(*args): return vmaskmodule.VIMask_cat(*args)
def mul(*args): return vmaskmodule.VIMask_mul(*args)
def rotate45(self): return vmaskmodule.VIMask_rotate45(self)
def rotate90(self): return vmaskmodule.VIMask_rotate90(self)
def trn(self): return vmaskmodule.VIMask_trn(self)
def inv(self): return vmaskmodule.VIMask_inv(self)
def cat(self, *args): return vmaskmodule.VIMask_cat(self, *args)
def mul(self, *args): return vmaskmodule.VIMask_mul(self, *args)
__swig_destroy__ = vmaskmodule.delete_VIMask
__del__ = lambda self : None;
VIMask_swigregister = vmaskmodule.VIMask_swigregister
VIMask_swigregister(VIMask)
def __lshift__(*args):
return vmaskmodule.__lshift__(*args)
__lshift__ = vmaskmodule.__lshift__
def VIMask_gauss(*args):
return vmaskmodule.VIMask_gauss(*args)
VIMask_gauss = vmaskmodule.VIMask_gauss
def VIMask_gauss_sep(*args):
return vmaskmodule.VIMask_gauss_sep(*args)
VIMask_gauss_sep = vmaskmodule.VIMask_gauss_sep
def VIMask_log(*args):
return vmaskmodule.VIMask_log(*args)
VIMask_log = vmaskmodule.VIMask_log
class VDMask(VMask):
@ -125,28 +155,34 @@ class VDMask(VMask):
this = vmaskmodule.new_VDMask(*args)
try: self.this.append(this)
except: self.this = this
def embed(*args): return vmaskmodule.VDMask_embed(*args)
def scale(*args): return vmaskmodule.VDMask_scale(*args)
def offset(*args): return vmaskmodule.VDMask_offset(*args)
def __index__(*args): return vmaskmodule.VDMask___index__(*args)
def __call__(*args): return vmaskmodule.VDMask___call__(*args)
def get(*args): return vmaskmodule.VDMask_get(*args)
def embed(self, *args): return vmaskmodule.VDMask_embed(self, *args)
def scale(self): return vmaskmodule.VDMask_scale(self)
def offset(self): return vmaskmodule.VDMask_offset(self)
def __index__(self, *args): return vmaskmodule.VDMask___index__(self, *args)
def __call__(self, *args): return vmaskmodule.VDMask___call__(self, *args)
def get(self, *args): return vmaskmodule.VDMask_get(self, *args)
__swig_getmethods__["gauss"] = lambda x: vmaskmodule.VDMask_gauss
if _newclass:gauss = staticmethod(vmaskmodule.VDMask_gauss)
__swig_getmethods__["log"] = lambda x: vmaskmodule.VDMask_log
if _newclass:log = staticmethod(vmaskmodule.VDMask_log)
def rotate45(*args): return vmaskmodule.VDMask_rotate45(*args)
def rotate90(*args): return vmaskmodule.VDMask_rotate90(*args)
def scalei(*args): return vmaskmodule.VDMask_scalei(*args)
def trn(*args): return vmaskmodule.VDMask_trn(*args)
def inv(*args): return vmaskmodule.VDMask_inv(*args)
def cat(*args): return vmaskmodule.VDMask_cat(*args)
def mul(*args): return vmaskmodule.VDMask_mul(*args)
def rotate45(self): return vmaskmodule.VDMask_rotate45(self)
def rotate90(self): return vmaskmodule.VDMask_rotate90(self)
def scalei(self): return vmaskmodule.VDMask_scalei(self)
def trn(self): return vmaskmodule.VDMask_trn(self)
def inv(self): return vmaskmodule.VDMask_inv(self)
def cat(self, *args): return vmaskmodule.VDMask_cat(self, *args)
def mul(self, *args): return vmaskmodule.VDMask_mul(self, *args)
__swig_destroy__ = vmaskmodule.delete_VDMask
__del__ = lambda self : None;
VDMask_swigregister = vmaskmodule.VDMask_swigregister
VDMask_swigregister(VDMask)
def VDMask_gauss(*args):
return vmaskmodule.VDMask_gauss(*args)
VDMask_gauss = vmaskmodule.VDMask_gauss
def VDMask_log(*args):
return vmaskmodule.VDMask_log(*args)
VDMask_log = vmaskmodule.VDMask_log

File diff suppressed because it is too large Load Diff