After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 754004 - opencv: build errors after migrating from c to cpp
opencv: build errors after migrating from c to cpp
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
unspecified
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-08-24 01:00 UTC by Vineeth
Modified: 2015-08-24 12:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Vineeth 2015-08-24 01:00:37 UTC
After the recent migration from c to cpp files for opencv related plugins i am getting the below errors.


make[3]: *** No rule to make target `gstopencv.c', needed by `libgstopencv_la-gstopencv.lo'.  Stop.

make[3]: *** No rule to make target `gstfacedetect.c', needed by `libgstopencv_la-gstfacedetect.lo'.  Stop.


Even after doing make clean, the error persists.
This is happening because make clean is not cleaning the .deps folder. and the .plo files in the .deps folder is still pointing to the old .c file.

If i manually edit the .plo files to point to .cpp or delete the .deps folder and compile again, then the error disappears.
Comment 1 Tim-Philipp Müller 2015-08-24 08:20:11 UTC
I think you need to distclean. git clean -x -d -f certainly helps. Not sure there's much we can do about that. Do you have a solution that doesn't involve manually editing anything?
Comment 2 Vineeth 2015-08-24 08:33:21 UTC
i did not try anything yet..

but i was thinking like, similar to how we remove .libs folder and output objects during make clean, we should be able to remove .deps folder as well?
Comment 3 Luis de Bethencourt 2015-08-24 11:51:46 UTC
Tim is correct. I have seen this repeatedly when switching from OpenCV development branch and master, until this was merged. Autotools doesn't clean up for itself and generated Makefile still points to non-existing C file. You need to clean the repo (git clean -dfx) and generate again the Makefile with ./autogen.sh

If we removed the .deps in make clean, that would require having to run configure again after, which means it would be the same as git clean. Make clean is there to build from scratch but not have to generate all the autotool files again.
Comment 4 Tim-Philipp Müller 2015-08-24 12:09:56 UTC
I think this is WONTFIX or NOTGNOME. Happens, just git clean -x -d -f :)