unarchive 714923 reopen 714923 found 714923 2.4.6.1+dfsg-1 thanks On Tue, Aug 06, 2013 at 11:00:47PM +0000, Nobuhiro Iwamatsu wrote: > Source: opencv > Source-Version: 2.4.5+dfsg-0exp1 > > We believe that the bug you reported is fixed in the latest version of > opencv, which is due to be installed in the Debian FTP archive. > > A summary of the changes between this version and the previous one is > attached. > > Thank you for reporting the bug, which will now be closed. If you > have further comments please address them to 714...@bugs.debian.org, > and the maintainer will reopen the bug report if appropriate. > > Debian distribution maintenance software > pp. > Nobuhiro Iwamatsu <iwama...@debian.org> (supplier of updated opencv package) > > (This message was generated automatically at their request; if you > believe that there is a problem with it please contact the archive > administrators by mailing ftpmas...@ftp-master.debian.org) > > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > Format: 1.8 > Date: Fri, 12 Jul 2013 13:00:43 +0900 > Source: opencv > Binary: opencv-doc libcv-dev libcv2.4 libhighgui-dev libhighgui2.4 > libcvaux-dev libcvaux2.4 libopencv-dev opencv-data libopencv-core-dev > libopencv-core2.4 libopencv-ml-dev libopencv-ml2.4 libopencv-imgproc-dev > libopencv-imgproc2.4 libopencv-video-dev libopencv-video2.4 > libopencv-objdetect-dev libopencv-objdetect2.4 libopencv-highgui-dev > libopencv-highgui2.4 libopencv-calib3d-dev libopencv-calib3d2.4 > libopencv-flann-dev libopencv-flann2.4 libopencv-features2d-dev > libopencv-features2d2.4 libopencv-legacy-dev libopencv-legacy2.4 > libopencv-contrib-dev libopencv-contrib2.4 libopencv-ts-dev libopencv-ts2.4 > libopencv-photo-dev libopencv-photo2.4 libopencv-videostab-dev > libopencv-videostab2.4 libopencv-stitching-dev libopencv-stitching2.4 > libopencv-gpu-dev libopencv-gpu2.4 libopencv-superres-dev > libopencv-superres2.4 python-opencv > Architecture: source all amd64 > Version: 2.4.5+dfsg-0exp1 > Distribution: experimental > Urgency: low > Maintainer: Debian Science Team > <debian-science-maintain...@lists.alioth.debian.org> > Changed-By: Nobuhiro Iwamatsu <iwama...@debian.org> > Description: > libcv-dev - Translation package for libcv-dev > libcv2.4 - computer vision library - libcv* translation package > libcvaux-dev - Translation package for libcvaux-dev > libcvaux2.4 - computer vision library - libcvaux translation package > libhighgui-dev - Translation package for libhighgui-dev > libhighgui2.4 - computer vision library - libhighgui translation package > libopencv-calib3d-dev - development files for libopencv-calib3d > libopencv-calib3d2.4 - computer vision Camera Calibration library > libopencv-contrib-dev - development files for libopencv-contrib > libopencv-contrib2.4 - computer vision contrib library > libopencv-core-dev - development files for libopencv-core > libopencv-core2.4 - computer vision core library > libopencv-dev - development files for opencv > libopencv-features2d-dev - development files for libopencv-features2d > libopencv-features2d2.4 - computer vision Feature Detection and Descriptor > Extraction libra > libopencv-flann-dev - development files for libopencv-flann > libopencv-flann2.4 - computer vision Clustering and Search in > Multi-Dimensional spaces > libopencv-gpu-dev - development files for libopencv-gpu2.4 > libopencv-gpu2.4 - computer vision GPU library > libopencv-highgui-dev - development files for libopencv-highgui > libopencv-highgui2.4 - computer vision High-level GUI and Media I/O library > libopencv-imgproc-dev - development files for libopencv-imgproc > libopencv-imgproc2.4 - computer vision Image Processing library > libopencv-legacy-dev - development files for libopencv-legacy > libopencv-legacy2.4 - computer vision legacy library > libopencv-ml-dev - development files for libopencv-ml > libopencv-ml2.4 - computer vision Machine Learning library > libopencv-objdetect-dev - development files for libopencv-objdetect > libopencv-objdetect2.4 - computer vision Object Detection library > libopencv-photo-dev - development files for libopencv-photo2.4 > libopencv-photo2.4 - computer vision computational photography library > libopencv-stitching-dev - development files for libopencv-stitching2.4 > libopencv-stitching2.4 - computer vision image stitching library > libopencv-superres-dev - development files for libopencv-superres2.4 > libopencv-superres2.4 - computer vision Super Resolution library > libopencv-ts-dev - development files for libopencv-ts2.4 > libopencv-ts2.4 - computer vision ts library > libopencv-video-dev - development files for libopencv-video > libopencv-video2.4 - computer vision Video analysis library > libopencv-videostab-dev - development files for libopencv-videostab2.4 > libopencv-videostab2.4 - computer vision video stabilization library > opencv-data - development data for opencv > opencv-doc - OpenCV documentation and examples > python-opencv - Python bindings for the computer vision library > Closes: 701195 714923 > Changes: > opencv (2.4.5+dfsg-0exp1) experimental; urgency=low > . > * New upstream release. > * Update debian/control. > - Add support all arch with TBB support. (Closes: 701195) > - Add opencv-data. Move haarcascades and lbpcascades's data to this. > * Fix FTBFS on sparc64. (Closes: #714923) > Add patches/change_type_from_int_to_Atomic_word > * Update debian/rules. > - Add python2 to dh of sequence.
Thanks for fixing this bug. However it seems this patch has been lost in the new version (2.4.6.1+dfsg-1). Please find below an updated patch fixing the issue. Would it be possible to include it in the next upload? Thanks in advance. --- opencv-2.4.6.1+dfsg.orig/modules/core/include/opencv2/core/core.hpp +++ opencv-2.4.6.1+dfsg/modules/core/include/opencv2/core/core.hpp @@ -1295,7 +1295,7 @@ public: operator const _Tp*() const; _Tp* obj; //< the object pointer. - int* refcount; //< the associated reference counter + _Atomic_word* refcount; //< the associated reference counter }; @@ -1463,9 +1463,9 @@ class CV_EXPORTS MatAllocator public: MatAllocator() {} virtual ~MatAllocator() {} - virtual void allocate(int dims, const int* sizes, int type, int*& refcount, + virtual void allocate(int dims, const int* sizes, int type, _Atomic_word*& refcount, uchar*& datastart, uchar*& data, size_t* step) = 0; - virtual void deallocate(int* refcount, uchar* datastart, uchar* data) = 0; + virtual void deallocate(_Atomic_word* refcount, uchar* datastart, uchar* data) = 0; }; /*! @@ -1960,7 +1960,7 @@ public: //! pointer to the reference counter; // when matrix points to user-allocated data, the pointer is NULL - int* refcount; + _Atomic_word* refcount; //! helper fields used in locateROI and adjustROI uchar* datastart; @@ -3379,7 +3379,7 @@ public: { Hdr(int _dims, const int* _sizes, int _type); void clear(); - int refcount; + _Atomic_word refcount; int dims; int valueOffset; size_t nodeSize; --- opencv-2.4.6.1+dfsg.orig/modules/core/include/opencv2/core/gpumat.hpp +++ opencv-2.4.6.1+dfsg/modules/core/include/opencv2/core/gpumat.hpp @@ -301,7 +301,7 @@ namespace cv { namespace gpu //! pointer to the reference counter; // when GpuMatrix points to user-allocated data, the pointer is NULL - int* refcount; + _Atomic_word* refcount; //! helper fields used in locateROI and adjustROI uchar* datastart; --- opencv-2.4.6.1+dfsg.orig/modules/core/include/opencv2/core/operations.hpp +++ opencv-2.4.6.1+dfsg/modules/core/include/opencv2/core/operations.hpp @@ -2279,7 +2279,7 @@ public: Hdr() : data(0), datastart(0), refcount(0), size(0), capacity(0) {}; _Tp* data; _Tp* datastart; - int* refcount; + _Atomic_word* refcount; size_t size; size_t capacity; }; @@ -2586,7 +2586,7 @@ template<typename _Tp> inline Ptr<_Tp>:: { if(obj) { - refcount = (int*)fastMalloc(sizeof(*refcount)); + refcount = (_Atomic_word*)fastMalloc(sizeof(*refcount)); *refcount = 1; } else @@ -2623,7 +2623,7 @@ template<typename _Tp> inline Ptr<_Tp>:: template<typename _Tp> inline Ptr<_Tp>& Ptr<_Tp>::operator = (const Ptr<_Tp>& _ptr) { - int* _refcount = _ptr.refcount; + _Atomic_word* _refcount = _ptr.refcount; if( _refcount ) CV_XADD(_refcount, 1); release(); --- opencv-2.4.6.1+dfsg.orig/modules/core/src/gpumat.cpp +++ opencv-2.4.6.1+dfsg/modules/core/src/gpumat.cpp @@ -1548,7 +1548,7 @@ void cv::gpu::GpuMat::create(int _rows, datastart = data = static_cast<uchar*>(devPtr); dataend = data + nettosize; - refcount = static_cast<int*>(fastMalloc(sizeof(*refcount))); + refcount = static_cast<_Atomic_word*>(fastMalloc(sizeof(*refcount))); *refcount = 1; } } --- opencv-2.4.6.1+dfsg.orig/modules/core/src/matrix.cpp +++ opencv-2.4.6.1+dfsg/modules/core/src/matrix.cpp @@ -213,7 +213,7 @@ void Mat::create(int d, const int* _size { size_t totalsize = alignSize(step.p[0]*size.p[0], (int)sizeof(*refcount)); data = datastart = (uchar*)fastMalloc(totalsize + (int)sizeof(*refcount)); - refcount = (int*)(data + totalsize); + refcount = (_Atomic_word*)(data + totalsize); *refcount = 1; } else --- opencv-2.4.6.1+dfsg.orig/modules/core/src/system.cpp +++ opencv-2.4.6.1+dfsg/modules/core/src/system.cpp @@ -851,7 +851,7 @@ struct Mutex::Impl void unlock() { pthread_spin_unlock(&sl); } pthread_spinlock_t sl; - int refcount; + _Atomic_word refcount; }; #else @@ -904,4 +904,4 @@ bool Mutex::trylock() { return impl->try } -/* End of file. */ \ No newline at end of file +/* End of file. */ --- opencv-2.4.6.1+dfsg.orig/modules/gpu/include/opencv2/gpu/gpu.hpp +++ opencv-2.4.6.1+dfsg/modules/gpu/include/opencv2/gpu/gpu.hpp @@ -125,7 +125,7 @@ public: size_t step; uchar* data; - int* refcount; + _Atomic_word* refcount; uchar* datastart; uchar* dataend; --- opencv-2.4.6.1+dfsg.orig/modules/python/src2/cv2.cpp +++ opencv-2.4.6.1+dfsg/modules/python/src2/cv2.cpp @@ -150,14 +150,14 @@ static PyObject* failmsgp(const char *fm static size_t REFCOUNT_OFFSET = (size_t)&(((PyObject*)0)->ob_refcnt) + (0x12345678 != *(const size_t*)"\x78\x56\x34\x12\0\0\0\0\0")*sizeof(int); -static inline PyObject* pyObjectFromRefcount(const int* refcount) +static inline PyObject* pyObjectFromRefcount(const _Atomic_word* refcount) { return (PyObject*)((size_t)refcount - REFCOUNT_OFFSET); } -static inline int* refcountFromPyObject(const PyObject* obj) +static inline _Atomic_word* refcountFromPyObject(const PyObject* obj) { - return (int*)((size_t)obj + REFCOUNT_OFFSET); + return (_Atomic_word*)((size_t)obj + REFCOUNT_OFFSET); } class NumpyAllocator : public MatAllocator @@ -166,7 +166,7 @@ public: NumpyAllocator() {} ~NumpyAllocator() {} - void allocate(int dims, const int* sizes, int type, int*& refcount, + void allocate(int dims, const int* sizes, int type, _Atomic_word*& refcount, uchar*& datastart, uchar*& data, size_t* step) { PyEnsureGIL gil; @@ -199,7 +199,7 @@ public: datastart = data = (uchar*)PyArray_DATA(o); } - void deallocate(int* refcount, uchar*, uchar*) + void deallocate(_Atomic_word* refcount, uchar*, uchar*) { PyEnsureGIL gil; if( !refcount ) -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net
signature.asc
Description: Digital signature