A patch to compile OpenCV on Ubuntu 12 (Patch #3010)
Description
FYI OpenCV does not compile as is on Ubuntu after doing a pull from github. Most of the errors are because of missing include files that are (presumably) automatically included by Visual Studio or Xcode.
Attached is a patch that fixes this.
Associated revisions
Merge pull request #3010 from vpisarev:ocl_disable_some_norms2
History
Updated by mohamed mohamed almost 12 years ago
Zen Kshatriya wrote:
FYI OpenCV does not compile as is on Ubuntu after doing a pull from github. Most of the errors are because of missing include files that are (presumably) automatically included by Visual Studio or Xcode.
Attached is a patch that fixes this.
Can you explain how to apply this patch, please.
I haven't deal with patch files before.
thanks
Updated by Prasan Samtani almost 12 years ago
The steps to get it building on Ubuntu once you have the prerequisites are:
1) git clone the repo from github
2) download the patch file and place it in the same directory as the cloned repo
3) use the following command "patch -p1 < ubuntu_opencv.patch"
You should then be able to follow the instructions here to build:
http://opencv.willowgarage.com/wiki/InstallGuide_Linux
Updated by mohamed mohamed almost 12 years ago
Zen Kshatriya wrote:
The steps to get it building on Ubuntu once you have the prerequisites are:
1) git clone the repo from github
2) download the patch file and place it in the same directory as the cloned repo
3) use the following command "patch -p1 < ubuntu_opencv.patch"You should then be able to follow the instructions here to build:
http://opencv.willowgarage.com/wiki/InstallGuide_Linux
Thank you, but I still have a problem after make command:
Linking CXX executable ../../bin/opencv_perf_core
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_message_new_step_start'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_buffer_list_iterator_merge_group'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `gst_plugin_feature_list_debug'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_element_get_start_time'
../../lib/libopencv_highgui.so.2.4.9: undefined reference to `gst_message_parse_stream_status'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_util_fraction_to_double'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_get_microsecond'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_structure_id_get'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_buffer_list_iterator_free'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_caps_intersect_full'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_query_set_latency'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_new_local_time'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_event_parse_latency'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_event_get_seqnum'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_pad_peer_query'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_element_class_add_static_pad_template'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `gst_structure_get_uint'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_segment_set_newsegment_full'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_new'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_caps_is_strictly_equal'
/usr/lib/i386-linux-gnu/libgstaudio-0.10.so.0: undefined reference to `gst_message_new_stream_status'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_get_day'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_tag_list_add_value'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_buffer_try_new_and_alloc'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_get_month'
/usr/lib/i386-linux-gnu/libgstriff-0.10.so.0: undefined reference to `gst_tag_list_is_empty'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_event_set_seqnum'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_element_state_change_return_get_name'
/usr/lib/i386-linux-gnu/libgstaudio-0.10.so.0: undefined reference to `gst_util_uint64_scale_round'
../../lib/libopencv_highgui.so.2.4.9: undefined reference to `gst_bin_iterate_sources'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_unref'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_get_year'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_util_get_timestamp'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_structure_id_set'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_event_parse_new_segment_full'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_buffer_list_get'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_buffer_list_get_type'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `__gst_debug_min'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_caps_can_intersect'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_bus_timed_pop'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_caps_merge'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_message_set_seqnum'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_get_type'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_event_new_new_segment_full'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_query_parse_buffering_range'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `_gst_debug_dump_mem'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `gst_structure_take_value'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_buffer_copy_metadata'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_buffer_list_iterate'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_get_time_zone_offset'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_element_lost_state_full'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_util_seqnum_next'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_clock_single_shot_id_reinit'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_query_set_formatsv'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `GST_CAT_QOS'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_element_set_start_time'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_pad_query_peer_position'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_value_get_structure'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_pad_set_chain_list_function'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_query_new_latency'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_buffer_is_metadata_writable'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_message_set_qos_values'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_event_new_qos_full'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `gst_element_factory_list_get_elements'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_buffer_list_iterator_next_group'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `gst_structure_id_new'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `gst_buffer_get_qdata'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_structure_id_has_field'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_message_new_step_done'
../../lib/libopencv_highgui.so.2.4.9: undefined reference to `gst_bus_timed_pop_filtered'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_buffer_make_metadata_writable'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_pad_query_peer_duration'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_get_second'
../../lib/libopencv_highgui.so.2.4.9: undefined reference to `gst_element_seek_simple'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_structure_get'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_message_new_qos'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_get_minute'
/usr/lib/i386-linux-gnu/libgstaudio-0.10.so.0: undefined reference to `gst_caps_merge_structure'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_query_parse_latency'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_message_new_async_done'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_element_link_pads_full'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_pad_peer_get_caps_reffed'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_segment_set_running_time'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_tag_list_peek_string_index'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `gst_buffer_set_qdata'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `gst_element_factory_list_filter'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_event_parse_sink_message'
/usr/lib/i386-linux-gnu/libgstaudio-0.10.so.0: undefined reference to `gst_message_set_stream_status_object'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_message_new_async_start'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_date_time_get_hour'
/usr/lib/i386-linux-gnu/libgstaudio-0.10.so.0: undefined reference to `gst_preset_get_type'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_query_set_buffering_range'
/usr/lib/i386-linux-gnu/libgsttag-0.10.so.0: undefined reference to `gst_util_double_to_fraction'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_message_set_qos_stats'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_segment_to_position'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `gst_event_parse_step'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_element_class_set_details_simple'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_pad_get_caps_reffed'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_type_register_static_full'
/usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0: undefined reference to `gst_util_fraction_multiply'
/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0: undefined reference to `GST_CAT_PERFORMANCE'
/usr/lib/i386-linux-gnu/libgstapp-0.10.so.0: undefined reference to `gst_message_new_latency'
/usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0: undefined reference to `gst_pad_link_full'
collect2: ld returned 1 exit status
make2: * [bin/opencv_perf_core] Error 1
make1: [modules/core/CMakeFiles/opencv_perf_core.dir/all] Error 2
make: ** [all] Error 2
so, where is the problem ?
thanks again.
Updated by Anna Kogan almost 12 years ago
Hello Zen,
Thank you for reporting the issue. A pull request solving the issue in our GitHub repo would be highly appreciated!
Updated by Anna Kogan almost 12 years ago
- Target version set to 3.0
- Category set to build/install
- Assignee set to Prasan Samtani
Updated by Vladislav Vinogradov over 11 years ago
This issues was fixed in master branch:
https://github.com/Itseez/opencv/pull/869
https://github.com/Itseez/opencv/pull/990
- Status changed from Open to Done