我无法编译VW34的配置脚本

时间:2012-03-07 05:47:12

标签: ubuntu computer-vision

我试图在我的ubuntu 11.10上编写VW34(Oxford Active Vision Lab库)。我准备了它需要的库。我通过apt-get得到了mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev libglut3-dev。我把所有东西放在同一个文件夹中。我按照./bootstrap ./configure ...流。配置脚本是生成购买bootstrap,所以我认为不应该有拼写错误。 ubuntu支持VW34吗?

wuyi@wuyi-notebook:~/下载/monoslam/VW34$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking whether make sets $(MAKE)... (cached) yes
checking for ranlib... ranlib
checking for X... libraries , headers 
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for off_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for working volatile... yes
checking for error_at_line... yes
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking whether gcc needs -traditional... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking return type of signal handlers... void
checking for dup2... yes
checking for floor... no
checking for gettimeofday... yes
checking for memset... yes
checking for munmap... yes
checking for pow... no
checking for sqrt... no
checking for strerror... yes
checking for tzset... yes
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking X11/Xutil.h usability... yes
checking X11/Xutil.h presence... yes
checking for X11/Xutil.h... yes
checking X11/forms.h usability... no
checking X11/forms.h presence... no
checking for X11/forms.h... no
configure: WARNING: **** xforms not found **** libVWXForms.a will not be compiled
checking for dc1394_dma_setup_capture in -ldc1394_control... no
configure: WARNING: **** libdc1394 not found **** libVWFirewire.a will not be compiled
checking GL/gl.h usability... yes
checking GL/gl.h presence... yes
checking for GL/gl.h... yes
checking GL/glu.h usability... yes
checking GL/glu.h presence... yes
checking for GL/glu.h... yes
checking for /usr/include/gtkgl--/glarea.h... no
configure: WARNING: **** gtkgl-- not found **** libVWGTK.a will not have GL support
checking how to run the C++ preprocessor... g++ -E
checking glow.h usability... no
checking glow.h presence... no
checking for glow.h... no
checking for GLOW location... /home/wuyi/下载/monoslam/glow_104/glow_src
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for Qt... ./configure: line 7610: syntax error near unexpected token `fi'
./configure: line 7610: `fi'
wuyi@wuyi-notebook:~/下载/monoslam/VW34$ 

如果你认为我的./bootstrap信息很有用

wuyi@wuyi-notebook:~/下载/monoslam/VW34$ ./bootstrap
automake version 1.11 found
aclocal
configure.ac:101: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
../../lib/m4sugar/m4sh.m4:574: AS_FOR is expanded from...
../../lib/autoconf/headers.m4:249: AC_CHECK_HEADERS is expanded from...
acinclude.m4:505: AC_FIND_GLOW is expanded from...
configure.ac:101: the top level
autoheader
configure.ac:101: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
../../lib/m4sugar/m4sh.m4:574: AS_FOR is expanded from...
../../lib/autoconf/headers.m4:249: AC_CHECK_HEADERS is expanded from...
acinclude.m4:505: AC_FIND_GLOW is expanded from...
configure.ac:101: the top level
automake
configure.ac:101: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
../../lib/m4sugar/m4sh.m4:574: AS_FOR is expanded from...
../../lib/autoconf/headers.m4:249: AC_CHECK_HEADERS is expanded from...
acinclude.m4:505: AC_FIND_GLOW is expanded from...
configure.ac:101: the top level
autoconf
configure.ac:101: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/headers.m4:129: _AC_CHECK_HEADER_MONGREL is expanded from...
../../lib/autoconf/headers.m4:67: AC_CHECK_HEADER is expanded from...
../../lib/m4sugar/m4sh.m4:574: AS_FOR is expanded from...
../../lib/autoconf/headers.m4:249: AC_CHECK_HEADERS is expanded from...
acinclude.m4:505: AC_FIND_GLOW is expanded from...
configure.ac:101: the top level

这里是block可能会导致配置脚本出现问题

if ac_fn_c_try_link "$LINENO"; then :

          # Succes.
          # We can link with no special library directory.
          bnv_qt_lib_dir=

else

          # Leave bnv_qt_lib_dir defined

fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext

fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext

fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext

fi

1 个答案:

答案 0 :(得分:1)

好吧我在Ubuntu 10.04 LTS上遇到了同样的问题

我在./configure中编辑了你的最后一个块:

if ac_fn_c_try_link "$LINENO"; then :

      # Succes.
      # We can link with no special library directory.
      bnv_qt_lib_dir=

#else ** COMMENT THIS ** 

      # Leave bnv_qt_lib_dir defined

 fi

 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext

然后make给了我: Image / imagebase.h:600:错误:'exit'不是'std'的成员

您可以通过进入imagebase.h并添加以下行来解决此问题:

#include <cstdlib>

然后我得到 Image / imageconversions.cpp:576:错误:'memcpy'未在此范围内声明

解决了添加

#include <cstring>
in imageconversions.cpp

IOBasics / miscioutils.cpp:124:错误:此范围内未声明“免费”

#include <cstdlib>

GeomObjects / rotationmatrix.cpp:105:错误:未在此范围内声明'exit'

#include <cstdlib>

GeomObjects / point3d.cpp:88:错误:'VW :: Point3D VW :: operator +(const VW :: Point3D&amp;,const VW :: Point3D&amp;)'应该在'VW'中声明/强>

GeomObjects / point2d.cpp:108:错误:'VW :: Point2D VW :: operator +(const VW :: Point2D&amp;,const VW :: Point2D&amp;)'应该在'VW'中声明/强>

GeomObjects / lineseg2d.cpp:262:错误:'std :: ostream&amp; VW :: operator&lt;&lt;(std :: ostream&amp;,const VW :: LineSeg2D&amp;)'应该在'VW'中声明

GeomObjects / lineseg3d.cpp:103:错误:'double VW :: Norm2(const VW :: LineSeg3D&amp;)'应该在'VW'中声明

对于所有这些错误,必须在类声明之外添加所有 friend 函数,如下所示:

// Data
double _x;
double _y;
double _z;

};

    //*****add this****
Point3D operator+(const Point3D &p1, const Point3D &p2);
Point3D operator-(const Point3D &p);
Point3D operator-(const Point3D &p1, const Point3D &p2);
double  operator*(const Point3D &p1, const Point3D &p2);
Point3D operator*(const Point3D &p1, const double a);
Point3D operator*(const double a, const Point3D &p1);
Point3D operator*(const VNL::MatrixFixed<3,3,double>& M, const Point3D &p1);
Point3D operator/(const Point3D &p1, const double a);
double ScalarProduct(const Point3D &p1, const Point3D &p2);
Point3D VectorProduct(const Point3D &p1,const Point3D &p2);
double  ScalarTripleProduct(const Point3D &p1, const Point3D &p2, const Point3D &p3);
   //******************

  typedef Point3D Vector3D;

}; // end namespace VW

GeomObjects / calibrationtable.cpp:179:错误:此范围内未声明'exit'

GeomObjects / operations.cpp:40:错误:未在此范围内声明'exit'

sequenrs / sequencerbase.h:127:错误:模板可能不是'虚拟'

修改:

  /** Take a copy of the grabbed image. */
  template <class ImType>
  //COMMENT /DELETE
  //void CopyImage(ImType& image, unsigned int which_channel=0) = 0;
  //ADD
  void CopyImage(ImType& image, unsigned int which_channel=0) ;

Sequenrs / sequencerbase.cpp:79:错误:未在此范围内声明'exit'

Sequenrs / sequencermovie.cpp:115:错误:'strlen'未在此范围内声明

GeomCompute / delaunay.cpp:76:错误:'exit'不是'std'的成员

GeomCompute / line2dcomputeguisac.cpp:102:错误:'exit'不是'std'的成员

GeomCompute / fmplanarcomputenonlinear.cpp:47:错误:未在此范围内声明'abort'

Improc / matchdata.h:200:错误:'std :: ostream&amp; VW :: operator&lt;&lt;(std :: ostream&amp;,const VW :: MatchData&amp;)'应该在'VW'中声明

Improc / edgel.h:104:错误:此范围内未声明'exit'

显示/ awfface.cpp:70:错误:此范围内未声明'exit'

显示/ awfmaterial.cpp:415:错误:此范围内未声明'strlen'

../ VW / Image / imagebase.h:782:错误:未在此范围内声明'memcpy'

接口/ slider.cpp:83:错误:未在此范围内声明'sprintf'


要修改的文件


./配置


VIRTUALISATION ERROR


sequencerbase.h

SPRINTF包含


slider.cpp

MEMCPY INCLUDE


imagebase.h

退出包含


imagebase.h

rotationmatrix.cpp

calibrationtable.cpp

operations.cpp

sequencerbase.cpp

delaunay.cpp

line2dcomputeguisac.cpp

edgel.h

awfface.cpp

STRLEN INCLUDE


sequencermovie.cpp

awfmaterial.cpp

免费包含


miscioutils.cpp

ABORT INCLUDE


fmplanarcomputenonlinear.cpp

MEMCPY INCLUDE


imageconversions.cpp

添加朋友原型


point3d.h

point2d.h

lineseg2d.h

lineseg3d.h

matchdata.h

然后make install