2013/12/31 Vadim Zhukov <persg...@gmail.com>:
> 2013/12/31 Rafael Sadowski <raf...@sizeofvoid.org>:
>> On Tuesday 31 December 2013 01:22:13 Vadim Zhukov wrote:
>>> 2013/12/30 Rafael Sadowski <raf...@sizeofvoid.org>:
>>> > Hey @ports,
>>> >
>>> > maintainer update. Okay?
>>>
>>> Upstream decided to convert opencv_ts to a static library, really?
>>>
>>> > cheers Rafael
>>>
>>> --
>>>   Vadim Zhukov
>>
>> Yes, if I can trust my build and the "ArchLinux OpenCV package contents". I
>> was also surprised.
>>
>> cheers Rafael
>
> I see the following commit upstream:
> https://github.com/Itseez/opencv/commit/131458847bbf2fe971c6b5e40a8b59d0d48b0d0c
>
> "Make ts always static. This allows us to forget about the
> GTEST_(CREATE|LINKED_AS)_SHARED_LIBRARY
> macros and to get rid of the dependency on cvconfig.h."
>
> As far as I can see, they bundled GTest into the opencv_ts module, and
> now are having problems when GTest is installed on the system and is
> picked up (how?! I don't see any mention of find_package(GTest) or
> such in CMakeLists.txt files... Maybe it could get linked by
> transition from some other external library, though?). Could you,
> please, try to do builds both with and without devel/gtest installed,
> and compare port-lib-depends-check output?
>
> If there will be no fallout in both builds, I think we could easily
> patch out the "set(OPENCV_MODULE_TYPE STATIC)" line and have opencv_ts
> in a shared library, as it should be. If something will break - it
> will mean that we have some serious problems already, with current
> port, which should get investigated.

After some expirements I've got OpenCV successfully built on i386 with
"ts" module as a shared library. I see no problems here, and also I
don't see new regression tests starting to fail. The diff I've run
with is just:

--- modules/ts/CMakeLists.txt.orig      Fri Jan  3 12:54:40 2014
+++ modules/ts/CMakeLists.txt   Fri Jan  3 13:08:59 2014
@@ -4,8 +4,8 @@ if(IOS)
   ocv_module_disable(ts)
 endif()

-set(OPENCV_MODULE_TYPE STATIC)
-set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE)
+#set(OPENCV_MODULE_TYPE STATIC)
+#set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE)

 if(HAVE_CUDA)
   ocv_include_directories(${CUDA_INCLUDE_DIRS})

Rafael, if this will be okay for you and tested on amd64 (I don't have
PIE yet), then I'll update the port after returning from Belarus
(January 8-9), unless someone would like to steal a commit. :)

--
  WBR,
  Vadim Zhukov

Reply via email to