not able to install ruby-opencv gem-Collection of common programming errors


  • Gagan

    I am unable to install ruby-opencv gem.

    Here’s what I have done so far.

    Installed openCV with

    sudo apt-get install libopencv-dev
    

    Then tried installing ruby-opencv gem with

    gem install ruby-opencv
    

    But I got the following error

    ?  test  gem install ruby-opencv
    Building native extensions.  This could take a while...
    ERROR:  Error installing ruby-opencv:
        ERROR: Failed to build gem native extension.
    
        /home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/bin/ruby extconf.rb
    >> Check the required libraries...
    checking for main() in -lopencv_calib3d... yes
    checking for main() in -lopencv_contrib... yes
    checking for main() in -lopencv_core... yes
    checking for main() in -lopencv_features2d... yes
    checking for main() in -lopencv_flann... yes
    checking for main() in -lopencv_gpu... no
    *** extconf.rb failed ***
    Could not create Makefile due to some reason, probably lack of
    necessary libraries and/or headers.  Check the mkmf.log file for more
    details.  You may need configuration options.
    
    Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/bin/ruby
        --with-opencv-dir
        --without-opencv-dir
        --with-opencv-include
        --without-opencv-include=${opencv-dir}/include
        --with-opencv-lib
        --without-opencv-lib=${opencv-dir}/lib
        --with-libxml2-dir
        --without-libxml2-dir
        --with-libxml2-include
        --without-libxml2-include=${libxml2-dir}/include
        --with-libxml2-lib
        --without-libxml2-lib=${libxml2-dir}/lib
        --with-opencv_calib3dlib
        --without-opencv_calib3dlib
        --with-opencv_contriblib
        --without-opencv_contriblib
        --with-opencv_corelib
        --without-opencv_corelib
        --with-opencv_features2dlib
        --without-opencv_features2dlib
        --with-opencv_flannlib
        --without-opencv_flannlib
        --with-opencv_gpulib
        --without-opencv_gpulib
    extconf.rb:53:in `block in ': libopencv_gpu not found. (RuntimeError)
        from extconf.rb:52:in `each'
        from extconf.rb:52:in `'
    

    It seems there is no libopencv-gpu dependency installed.

    I tried to install it with apt-get but couldn’t succeed as no repository was found.

    Can any one help me how to install ruby-opencv gem?

    UPDATE added mkmf.log content

    ?  test  cat /home/ckgagan/.rvm/gems/ruby-1.9.3-p484/gems/ruby-opencv-0.0.11/ext/opencv/mkmf.log
    have_library: checking for main() in -lopencv_calib3d... -------------------- yes
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic     '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    checked program was:
    /* begin */
    1: #include "ruby.h"
    2: 
    3: int main(int argc, char **argv)
    4: {
    5:   return 0;
    6: }
    /* end */
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic     '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:53: error: ‘main’ undeclared (first use in this function)
    conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in
    conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic     '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:1: warning: implicit declaration of function ‘main’ [-Wimplicit-function-declaration]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { main(); return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    --------------------
    
    have_library: checking for main() in -lopencv_contrib... -------------------- yes
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:53: error: ‘main’ undeclared (first use in this function)
    conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in
    conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:1: warning: implicit declaration of function ‘main’ [-Wimplicit-function-declaration]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { main(); return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    --------------------
    
    have_library: checking for main() in -lopencv_core... -------------------- yes
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_contrib -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_core -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:53: error: ‘main’ undeclared (first use in this function)
    conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in
    conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_contrib -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_core -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:1: warning: implicit declaration of function ‘main’ [-Wimplicit-function-declaration]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { main(); return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    --------------------
    
    have_library: checking for main() in -lopencv_features2d... -------------------- yes
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_core -lopencv_contrib -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:53: error: ‘main’ undeclared (first use in this function)
    conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in
    conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_core -lopencv_contrib -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:1: warning: implicit declaration of function ‘main’ [-Wimplicit-function-declaration]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { main(); return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    --------------------
    
    have_library: checking for main() in -lopencv_flann... -------------------- yes
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_flann -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:53: error: ‘main’ undeclared (first use in this function)
    conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in
    conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_flann -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:1: warning: implicit declaration of function ‘main’ [-Wimplicit-function-declaration]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { main(); return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    --------------------
    
    have_library: checking for main() in -lopencv_gpu... -------------------- no
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_flann -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_gpu -lopencv_flann -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:53: error: ‘main’ undeclared (first use in this function)
    conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in
    conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable]
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    "gcc -o conftest -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC conftest.c  -L. -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -Wl,-R/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic    -lopencv_flann -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -L/home/ckgagan/.rvm/rubies/ruby-1.9.3-p484/lib -lruby -lopencv_gpu -lopencv_flann -lopencv_features2d -lopencv_core -lopencv_contrib -lopencv_calib3d  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    conftest.c: In function ‘t’:
    conftest.c:4:1: warning: implicit declaration of function ‘main’ [-Wimplicit-function-declaration]
    /usr/bin/ld: cannot find -lopencv_gpu
    collect2: error: ld returned 1 exit status
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2: 
     3: /*top*/
     4: int t() { main(); return 0; }
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10: 
    11:   return 0;
    12: }
    /* end */
    
    --------------------
    

    Thanks