Saturday, August 21, 2010

STEP 6: Compiling CCV on Ubuntu 10.04



Now we are going to compile CCV for Ubuntu 10.04.

Make sure you DO NOT start here. You need to start at the beginning of the blog and follow from there, if you try to do this tutorial BEFORE this one, your ps3 eye will NOT work with CCV.

The following is a modified tutorial based off of x29a's post on the nui group forums.

Enter the following commands:
  • sudo apt-get install subversion
  • sudo su
  • cd /opt
  • svn co http://nuicode.svnrepository.com/svn/tbeta/trunk/tbeta/Linux/ ccv-Linux
  • cd /opt/ccv-Linux/scripts/ubuntu
  • chmod +x *.sh
  • ./install_codeblocks.sh
  • ./install_dependencies.sh
  • apt-get install libpoco-dev
  • apt-get install gpp
  • cd /opt/ccv-Linux/
  • cd apps/addonsExamples/Codeblocks_8_linux/
Now Download the following zip file. It contains the files I modified so that it will build on ubuntu 10.04: http://mt-dev.googlecode.com/files/codeblocks.tar

Unzip it to your Documents folder.

Back in your terminal enter the following command:
  • nautilus
Navigate to /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux
and delete the following files:
  1. Community Core Vision.cbp
  2. Community Core Vision.depend
  3. Community Core Vision.layout
  4. Makefile
Now navigate to where you unziped my file. Select and cut the 4 files and paste them in the /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux folder.

Close Nautilus. Back in the terminal enter the following commands:
  • cd /opt/ccv-Linux/libs/fmodex/lib
  • rm libfmodexp.so libfmodex.so
  • ln -s libfmodex-4.22.00.so libfmodex.so
  • ln -s libfmodexp-4.22.00.so libfmodexp.so
  • cd /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin/libs
  • rm libfmodexp.so libfmodex.so
  • ln -s libfmodex-4.22.00.so libfmodex.so
  • ln -s libfmodexp-4.22.00.so libfmodexp.so
  • cd /opt/ccv-Linux/
  • codeblocks apps/addonsExamples/Codeblocks_8_linux/Community\ Core\ Vision.cbp
Now in codeblocks click Build --> Build.
You may get some errors, just click OK and ignore them.
CCV should now have successfully built. Close Codeblocks and go back to your terminal and enter the following commands:
  • cd /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin
  • gedit start.sh
In gedit copy and paste the following:

#!/bin/sh
echo $(pwd)
export LD_LIBRARY_PATH=$(pwd)/libs/
./
Community_Core_Vision

Click File --> Save. Now close gedit. Now enter the following commands into your terminal:
  • chmod +x start.sh
  • cd data
  • gedit config.xml
In the Camera settings change UseCamera to 1. Click File --> Save. Close gedit.

To Start CCV enter the following commands in your terminal:

  • cd /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin
  • ./start.sh
Congrats! You are now running CCV with the ps3 eye! if the camera feed is not from your ps3 eye but from another camera on your computer don't fear! Go back to the terminal in which your ran /start.sh and scroll up till you see the list of video capture devices, take note of which device your ps3 eye is and change the device number in config.xml to that and restart CCV with start.sh! Thats it! Hope this helps all those out there who want to develop MT on linux with CCV and a ps3 eye. Please comment if my instructions don't work anywhere in this blog.

26 comments:

  1. codeblocks apps/addonsExamples/Codeblocks_8_linux/Community\ Core\ Vision.cbp
    codeblocks: relocation error: /usr/lib/libcodeblocks.so.0: symbol _Z18wxSafeConvertWX2MBPKw, version WXU_2.8 not defined in file libwx_baseu-2.8.so.0 with link time reference

    ReplyDelete
  2. Everything worked fine in steps 1 through 5. When I got to Step 6, and entered:

    codeblocks apps/addonsExamples/Codeblocks_8_linux/Community\ Core\ Vision.cbp

    I got this as an error:

    _Z18wxSafeConvertWX2MBPKw, version WXU_2.8 not defined in file libwx_baseu-2.8.so.0 with link time reference

    ReplyDelete
  3. When you make the last update to Ubuntu CodeBlocks don't works no more (the error you have), its happening a lot a people - also my self - i struggle with this a long time an i don't now almost nothing about Ubuntu, so i re-install a fresh Ubuntu today, but happens again, so i go to the Synaptic Package Manager, and in the libwxbase2.8-0 (Ctrl+E) force the version 2.8.10.1-0ubuntu1(lucid), and now works.

    I the previous installation of Ubuntu i had i made this for hours - installing/desinstall/force versions and i cant get to work... with this new installation it work.

    ReplyDelete
  4. By the way John Gooding tahnk you so much for this tutorials, they help me a lot, i cant get to work because i'm in a 64 machine but they are very useful.

    ReplyDelete
  5. Outstanding! I have it working! Thank you so much, John and Jose!

    ReplyDelete
  6. Clyde were you able to run codeblocks at all or was it just a problem with the .cbp file?

    ReplyDelete
  7. I get this same error as well, and when I try to downgrade as Jose mentions nothing changes :S Do I need to reboot or restart terminal for the changes to take effect?

    ReplyDelete
  8. many thanks J&J I have working me too on 10.4lts netbookremix, a bit slow as fps (20fps when barspaced) but very nice.
    I'm really a basic Linux user, do you think that is possibile to try to use the source of CCV 1.4? its enough to change the subversion? there is one?
    many thanks
    ciao
    michele

    ReplyDelete
  9. Many many thanks. There is no words for your work.

    Thanks again.

    Fernando García

    ReplyDelete
  10. Hello one question.

    root@lopez-laptop:/opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin# ./start.sh
    /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin
    printfToFile 0!
    freedom?Video Mode

    ./start.sh: línea 3: 6984 Violación de segmento ./Community_Core_Vision
    root@lopez-laptop:/opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin#

    ReplyDelete
  11. Gustavo, you have a segmentation fault. This is usually caused by a missing dependency. You can find the missing ones by running ldd ./Community_Core_Vision let me know if that works for you.

    ReplyDelete
  12. I was hoping to build CCV 1.5 on Natty 11.04. I got oF built but ccv is another story. If you have any tips on that process, that would be AMAZING. :-)

    ReplyDelete
  13. Hi!
    First, sorry for my bad English, I'm French.

    I follow all this tutorial, but i still get the same error, also after reinstalling Ubuntu, or try different tutorials.
    Here the loading text when I start CCV :

    root@piment-desktop:/opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin# ./start.sh
    /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin
    printfToFile 0!
    freedom?listing available capture devices
    ---
    Video device 0: WebCam Instant (/dev/video0)
    ---
    OF_ERROR: ofUCUtils : Format not suported

    Camera Mode
    Asked for 320 by 240 - actual size is 320 by 240

    freedom2?freedom3?freedom4?Calibration: 287.000000, 223.000000
    Calibration: 288.000000, 81.000000
    Calibration: 185.000000, 119.000000
    Calibration: 217.000000, 233.000000
    Calibration: 222.000000, 98.000000
    Calibration: 185.000000, 118.000000
    Calibration: 121.000000, 235.000000
    Calibration: 130.000000, 108.000000
    Calibration: 186.000000, 119.000000
    Calibration is setup!

    OF_WARNING: in allocate, reallocating a ofxCvImage
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:Subtraction
    loading Shaders vs:(null), gs:(null), fs:data/shaders/absSubtract.fs
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:Subtraction
    loading Shaders vs:(null), gs:(null), fs:data/shaders/subtract.fs
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:Contrast
    loading Shaders vs:(null), gs:(null), fs:data/shaders/contrast.fs
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:Gaussian Blur
    loading Shaders vs:(null), gs:(null), fs:data/shaders/gaussH.fs
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:Gaussian Blur
    loading Shaders vs:(null), gs:(null), fs:data/shaders/gaussH.fs
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:Gaussian Blur
    loading Shaders vs:(null), gs:(null), fs:data/shaders/gaussH.fs
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:Gaussian Blur
    loading Shaders vs:(null), gs:(null), fs:data/shaders/gaussH.fs
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:Threshold
    loading Shaders vs:(null), gs:(null), fs:data/shaders/threshold.fs
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:Copy
    loading Shaders vs:(null), gs:(null), fs:data/shaders/copy.fs
    Frame buffer status: 36053
    Loading Filter...
    Filter Name:GrayScale
    loading Shaders vs:(null), gs:(null), fs:data/shaders/grayScale.fs
    Starting in standalone mode...

    Starting in full mode...

    Community Core Vision is setup!

    Illegal instruction

    -----------

    Have you any idea about where is the problem?

    Thank you in advance for any help you can give me :)

    Romain.

    ReplyDelete
    Replies
    1. Hey Romain,

      First off your English is perfect so no worries. It looks like it is a problem with your camera not CCV. Can you tell me the following things?

      1. What version of Ubuntu are you using?

      2. Is it the 32 or 64 bit version?

      3. What processor are you using, and is it 32 or 64 bit?

      4. What version of CCV are you using and is it the 32 or 64 bit version?

      5. What is the exact model of camera you are using, and if it is usb, what version of usb port is it hooked up to?

      Delete
    2. Thank's for the fast answer :)

      1 : Ubuntu 10.04 (No update or something else, like you said in the tutorial)

      2 : 32bit version

      3 : AMD DURON (Don't remember exactly the frequency, I'm not at home to check but something like 2Ghz) I know it's very old CPU, but it's just to check CCV before buying a better one, and CCV work with Win 7 in virtualbox.

      4 : Don't know exactly which version, but it's the one you said to use in the tutorial, got via svn.

      5 : It's a Creative LABS Webcam Instant, not so young too, but just for test, waiting for the PS3Eye to be delivery, and it's work fine with VLC and CHEESE, and Ubuntu recognize it natively.
      The usb port are 2.0.

      thank you. :)

      Delete
  14. This comment has been removed by the author.

    ReplyDelete
  15. hello, 1st thanks for the tutorials but i have some problems.
    iam using ubuntu 11.04 64bit
    everything went fine, but when i am running this commands
    To Start CCV enter the following commands in your terminal:

    cd /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin
    ./start.sh
    --------------------------------------------
    this error came
    /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin
    ./start.sh: 4: ./Community_Core_Vision: not found

    ReplyDelete
  16. Hello. I'm a newbie and I'm trying to build my first FTIR screen.
    I've followed all the steps of your tutorial, but I can't launch CCV at the last step, instead I have the same error as above:

    /opt/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin
    ./start.sh: 4: ./start.sh: ./Community_Core_Vision: not found.


    I'm using Ubuntu 12.04 64bit.

    Besides, I've tried to launch CCV 1.5 (the windows version) using Wine, it launched but doesn't see either of my webcams (PS3 eye and the integrated webcam of my laptop).

    If you know how to fix these prolems or maybe just a link to a tuto, please let me know, I'm completely lost....

    Thank you.

    ReplyDelete
    Replies
    1. Hey Rubeus, So your first error is pretty simple, it means the script cant find the program, which means it is either not linked properly, in the proper location, or simply did just not compile which is why it isn't there.

      Next part, I wrote this tutorial for using an older version of ubuntu back when linux support from community core vision was very poor / you HAD to compile it with patches so that it would properly see the ps3 eye.

      The next thing, you say you tried using the newest version with wine, were you trying to compile the newest version on linux also? If so, that is probably the source of your error.

      So, here is what I can suggest for you to get it working, the newer versions of ccv have pre compiled binaries 32 and 64 bit that run just fine on the newer versions of ubuntu! Which is nice cause it is just a simple download and run it. I don't know how the newer versions support the ps3 eye though, so maybe it requires some driver patching.

      The other thing I was thinking is, why use wine? Usually I find, if you want to run a windows program, run it on windows, don't try to bring it to life in a place it shouldn't be like frankenstine. Nothing good can come out of running something like this on wine, especially in long term support. It only takes one automatic update and the whole thing stops working, and if the project is for school, or even worse business, you will run into a lot of trouble. If you don't have a specific reason for running CCV on linux, I'd highly suggest installing the windows version, it's super simple and has WAY better and way MORE support from the community, and will be a quick and easy way to get your new table up and running to play with.

      If you don't go with windows though and really do need to be running on linux, try using the pre compiled binaries. If you can't get that to work, email me with all the details. (Hardware info, 32 bit / 64 bit, software versions, exact steps to error etc) and I will do what I can to help you through with that.

      Hope this helps.

      Delete
    2. In fact I haven't tried to simply run a newer version of CCV without the patch because for some reasons, the new versions for linux don't appear on the download page at http://ccv.nuigroup.com/

      So I simply followed your tutorial and compile the newest version, and you are right, that was the cause of my problem.

      Thank to your answer, I've search for the newest version for linux, and everything works now.

      Thank you so much!

      Delete
  17. I need help with the last step. I am using Ubuntu 12.04.1 LTS and when I put: "gedit start.sh" in terminal it shows this: "root@ubuntu:/home/sergio/ccv-Linux/apps/addonsExamples/Codeblocks_8_linux/bin# gedit start.sh

    ** (gedit:20148): WARNING **: La conexión está cerrada

    (gedit:20148): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported


    ** (gedit:20148): WARNING **: Could not connect to session bus
    "
    I don't know what's happen . Please, help me and thanks for the steps.

    ReplyDelete
  18. Hello
    This tutorial is really good thank you. But I am going to some troubles about CCV. I can't compile it properly. I try to build CCV with codeblocks and have got an error:

    /opt/ccv-Linux/addons/ofxDirList/src/ofxDirList.cpp:145:1: fatal error:

    opening dependency file obj/Release/addons/ofxDirList/src/ofxDirList.d: No such file or directory
    compilation terminated.
    Process terminated with status 1 (0 minutes, 8 seconds)
    1 errors, 0 warnings (0 minutes, 8 seconds)

    I am trying to make it run using Ubuntu 12.04 32bit.

    I don't know what to do... Please, help me and thanks again for this tutorial.

    ReplyDelete
    Replies
    1. Hey, so, what it is saying is that it can't finish compiling because that specific file is missing. What I could suggest is trying to re download the package and inspect it to see if the file is there. Unfortunately there isn't enough information there for me to help you through it, not sure where in the compile process you were.

      Delete
    2. But to be really honest with you, I can't even recommend this project to you. It is bloated and has stagnated. As far as I can tell there has been no work done on the cross platform parts of this project for 2 - 3 years now, which is about when I wrote this tutorial. It happened to be a really cool project back then but things just kinda faded, especially support for non windows systems. I just checked the windows branch and the last update to it was over a year ago, it seems even that bit of it has died. Truthfully, I coudn't find a single multi touch project out there is still being actively developed. When tablets came out and LCD's started supporting multitouch out of the box these projects all just kinda died. Just curious, what project are you trying to use this for?

      Delete
    3. Thank you for your quick answer. I am trying to creat a multitouch pad just for fun. I found a cool website http://sethsandler.com/multitouch/mtmini/ which explains how to do it. But unfortunately I can't get CCV working on linux. I am going to download the package again and see if I run into troubles. If so, I have an other alternative solution. I will try to use virtualBox with windows xp as guest and see if I can come out with something better. I let you know my progress.

      Delete
  19. Wha! This is heavenly full blog i like this sort blog. Respectfully this online journal have this quality gigantic cost, enhancements, thank for sharing this site.
    Réparation android

    ReplyDelete