FS#41452 - [opencv] missing apache-ant in makedepends

Attached to Project: Arch Linux
Opened by edac val (edacval) - Monday, 04 August 2014, 06:11 GMT
Last edited by Antonio Rojas (arojas) - Sunday, 06 January 2019, 13:07 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Ray Rashif (schivmeister)
Antonio Rojas (arojas)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 4
Private No

Details

Description:

if apache-ant is not installed, opencv will be built without java support.

Additional info:
* package version(s)
* config and/or log files etc.

opencv 2.4.9

Steps to reproduce:
This task depends upon

Closed by  Antonio Rojas (arojas)
Sunday, 06 January 2019, 13:07 GMT
Reason for closing:  Implemented
Additional comments about closing:  opencv 4.0.1-3
Comment by Ray Rashif (schivmeister) - Tuesday, 05 August 2014, 10:02 GMT
Please test 2.4.9-2 and see if your java cv code builds and runs as expected.
Comment by bhaallord (bhaallord) - Tuesday, 05 August 2014, 13:24 GMT
This patch has broken my project:


CMake Error at /usr/share/opencv/OpenCVModules.cmake:120 (message):
The imported target "opencv_java" references the file

"/usr/share/OpenCV/java/libopencv_java249.so"

but this file does not exist. Possible reasons include:

* The file was deleted, renamed, or moved to another location.

* An install or uninstall procedure did not complete successfully.

* The installation package was faulty and contained

"/usr/share/opencv/OpenCVModules.cmake"

but not all the files it references.

Call Stack (most recent call first):
/usr/share/opencv/OpenCVConfig.cmake:49 (include)


I think you must change the file fsh.patch and add the java directory name.

Comment by zozi56 (zozi56) - Tuesday, 05 August 2014, 14:34 GMT
It broke my project too. The path reference in the error message is incorrect.
Instead of this:
/usr/share/OpenCV/java/libopencv_java249.so
It should be this (mind the casing):
/usr/share/opencv/java/libopencv_java249.so
Comment by Ray Rashif (schivmeister) - Tuesday, 05 August 2014, 14:51 GMT
Actually, the absence of a patch has broken your projects, thanks to upstream. The patch you suspect is not applied; take a look at the PKGBUILD. Upstream did not listen to me when I told them about the problems of a mixed-case directory naming scheme. [1]

I chose to abandon the patch the last time I updated the package because it was looking to become a huge maintenance burden due to the sheer size of changes that go into opencv on every other release. However, the only case then was frei0r.

From a quick glance it looks like upstream finally realized the problem and _almost_ solved their mixed-case mess (except corner cases they forgot about). Please confirm with me that /usr/share/OpenCV no longer exists since the 2.4.9 release.

I take it that those of you reporting this are not concerned with the java support, and this update has simply broken your traditional cv setup. Confirm that and I will revert the update. In the meantime, you can install -1 from your local cache if available.

[1] http://code.opencv.org/issues/2512
Comment by zozi56 (zozi56) - Tuesday, 05 August 2014, 15:13 GMT
I confirm both of those. /usr/share/OpenCV doesn't exist in 2.4.9 and the update has broken my traditional (not Java-related) cv setup.
Comment by Ray Rashif (schivmeister) - Tuesday, 05 August 2014, 15:54 GMT
Please test that things are back to normal. I will continue work on this FR in [testing].
Comment by zozi56 (zozi56) - Tuesday, 05 August 2014, 17:34 GMT
My project works again with 2.4.9-3.
Comment by Giovanni Santini (ItachiSan) - Wednesday, 15 July 2015, 14:29 GMT
A theorically working PKGBUILD can be found at: https://aur4.archlinux.org/packages/opencv-java/
My package does just save Java files, so it does not conflict with the official package.
For the official sources, the edits that should be done for building the Java library are:
- Setting JAVA_HOME (see in prepare())
- Adding Java-related things in makedepends() ('apache-ant' and 'java-environment')

Loading...