Menu

Building a Debian package

Help
2006-03-02
2013-05-08
  • David Liontooth

    David Liontooth - 2006-03-02

    Greetings -- nice package!

    I'm trying to build a Debian package (for my own use on several machines), and run into a couple of difficulties, perhaps trivial stuff. I use the "dh_make -s" and "fakeroot dpkg-buildpackage" commands, and get this error:

    /usr/bin/make
    make[1]: Entering directory `/share/software/tarballs/v4l2ucp/v4l2ucp-1.1'
    make[1]: *** No rule to make target `/usr/lib/qt3/mkspecs/default/qmake.conf', needed by `Makefile'.  Stop.

    The location of your libraries appears to be SuSE-specific. I work around by making symlinks:

    sr/lib/qt3# ln -sf /usr/share/qt3/mkspecs/ mkspecs

    But there's still more:

    make[1]: Entering directory `/share/software/tarballs/v4l2ucp/v4l2ucp-1.1'
    make[1]: *** No rule to make target `/usr/lib/qt3/lib64/libqt.prl', needed by `Makefile'.

    libqt.prl is in libqt3-dev but not in libqt3-mt-dev, and libqt3-dev is deprecated in Debian. Can /usr/share/qt3/lib/libqt-mt.prl be used instead? This is on Debian sid amd64.

    This appears to be a very useful app and it would be great to have a working Debian package.

    Dave

     
    • Scott J. Bertin

      Scott J. Bertin - 2006-03-03

      You need to run $QTDIR/bin/qmake v4l2ucp.pro before running make. That will create a new Makefile set up for the version of QT that you have.

       
      • David Liontooth

        David Liontooth - 2006-03-03

        Thank you -- I didn't know about this convention. This gets the build started, but then I run into this:

        g++ -c -pipe -Wall -W -O2 -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I../../../../usr/include/qt3 -o v4l2controls.o v4l2controls.cpp
        v4l2controls.cpp: In member function 'void V4L2Control::updateHardware()':
        v4l2controls.cpp:44: error: 'errno' was not declared in this scope
        v4l2controls.cpp: In member function 'virtual void V4L2Control::updateStatus()':
        v4l2controls.cpp:57: error: 'errno' was not declared in this scope
        v4l2controls.cpp:68: error: 'errno' was not declared in this scope
        v4l2controls.cpp: In member function 'virtual void V4L2ButtonControl::updateStatus()':
        v4l2controls.cpp:250: error: 'errno' was not declared in this scope
        make[1]: *** [v4l2controls.o] Error 1
        make[1]: Leaving directory `/share/software/tarballs/v4l2ucp/v4l2ucp-1.1'
        make: *** [build-stamp] Error 2

        Dave

         
        • Scott J. Bertin

          Scott J. Bertin - 2006-03-03

          I've already fixed this in CVS, and should probably do another release. errno.h and string.h need to be included in v4l2controls.cpp and mainWindow.cpp.

          Scott

           
    • David Liontooth

      David Liontooth - 2006-04-05

      For the record, Christian Marillat's repository of unofficial Debian packages now provides v4l2ucp; cf. http://debian.video.free.fr

      David

       
    • wally_666

      wally_666 - 2006-04-11

      untarred v4l2ucp-1.2 and now what?

      Did automake ./configure make and get a ton of errors.  Looks like its not finding QT include files.  They are there, and env shows QTINC is set to the exact path to them.

      Perhaps the sequence of commands needed to build from the tarball should be included in the README file?

      I do not have a v4l2ucp.pro file so the qmake v4l2ucp.pro command fails.  I know little about QT
      and just want to try this program.

      --wally.

       
      • Scott J. Bertin

        Scott J. Bertin - 2006-04-12

        "./configure;make" should be all that is necessary.

        What distribution are you using? What version of Qt? Exactly what errors do you get?

        Scott

         
    • wally_666

      wally_666 - 2006-04-12

      I'm using Fedora Core 5 on x86_64.  Its QT 3.3

      Errors:
      [wally@Knopbox v4l2ucp-1.2]$ make
      make  all-am
      make[1]: Entering directory `/home/wally/v4l2ucp-1.2'
      if g++ -DPACKAGE_NAME=\"v4l2ucp\" -DPACKAGE_TARNAME=\"v4l2ucp\" -DPACKAGE_VERSION=\"1.2\" -DPACKAGE_STRING=\"v4l2ucp\ 1.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"v4l2ucp\" -DVERSION=\"1.2\" -DHAVE_LINUX_VIDEODEV2_H=1  -I. -I.      -g -O2 -MT mainWindow.o -MD -MP -MF ".deps/mainWindow.Tpo" -c -o mainWindow.o mainWindow.cpp; \ then mv -f ".deps/mainWindow.Tpo" ".deps/mainWindow.Po"; else rm -f ".deps/mainWindow.Tpo"; exit 1; fi
      mainWindow.cpp:24:25: error: qscrollview.h: No such file or directory
      mainWindow.cpp:25:25: error: qfiledialog.h: No such file or directory
      mainWindow.cpp:26:21: error: qstring.h: No such file or directory
      mainWindow.cpp:27:20: error: qlabel.h: No such file or directory
      mainWindow.cpp:28:25: error: qpushbutton.h: No such file or directory
      mainWindow.cpp:29:26: error: qapplication.h: No such file or directory
      mainWindow.cpp:30:22: error: qmenubar.h: No such file or directory
      mainWindow.cpp:31:25: error: qmessagebox.h: No such file or directory
      In file included from mainWindow.cpp:33:
      v4l2controls.h:23:19: error: qhbox.h: No such file or directory
      v4l2controls.h:24:23: error: qcheckbox.h: No such file or directory
      v4l2controls.h:25:21: error: qslider.h: No such file or directory
      v4l2controls.h:26:23: error: qcombobox.h: No such file or directory
      v4l2controls.h:27:23: error: qlineedit.h: No such file or directory
      In file included from mainWindow.cpp:34:
      mainWindow.h:19:25: error: qmainwindow.h: No such file or directory
      mainWindow.h:20:20: error: qtimer.h: No such file or directory
      mainWindow.h:21:24: error: qpopupmenu.h: No such file or directory
      mainWindow.h:22:19: error: qgrid.h: No such file or directory
      v4l2controls.h:30: error: expected class-name before ‘{’ token
      v4l2controls.h:31: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no typev4l2controls.h:32: error: expected ‘;’ before ‘public’
      v4l2controls.h:42: error: ‘QWidget’ has not been declared
      v4l2controls.h:51: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no type

      The error cascade continues ....
      Seems its not finding the <QT.h> header files

      But they are there:
      [wally@Knopbox v4l2ucp-1.2]$ ls $QTINC
      jri.h               qgvector.h               qrtlcodec.h
      jri_md.h            qhbox.h                  qscrbar.h
      jritypes.h          qhbuttongroup.h          qscrollbar.h

      ... and many more.

      I had to do an automake command since FC5 has v1.9, but it seemed to proceed wihtout errors.

      Any ideas?

      I've started a v4l2 based image processing application and my test capture program compiled and ran fine (originally developed on knoppix 4.0.2).  I was looking at your program as a starting point for my user interface and a simple way to get brightness contrast adjustments (my crude program uses up/down arrow keys, but at least I can see the v4l2 ioctrls work).

      thanks for any help.
      --wally.

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.