stuff
This commit is contained in:
parent
5daf29b174
commit
deb58b818d
41
TODO
41
TODO
@ -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
@ -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)
|
||||
|
||||
|
@ -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
@ -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
Loading…
Reference in New Issue
Block a user