ofxFaceTracker static libraries incompatibiliy

Hi everyone, I download this addon, it was installed as the rest of them, but I cannot compile the BlinkExample or FaceOSC example.
I set the searching path for ofxOpenCV, ofxCV and Tracker.h and then I linked the libraries under the ofxOpenCV folder.

But it seems they correspond to another version, for instance I have the libopencv_xxx231.a instead
libopencv_220.a which seem to be set for these projects.

I was running the ofxOpenCV and ofxCV examples without problem, just to point out I set the search files correctly.

CB: 10.05 with MingW
SO: Windows Vista 64 bits (shame on me)

Any idea? thanks a lot.

kovi

  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_legacy220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_features2d220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_calib3d220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_objdetect220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_imgproc220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_video220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_highgui220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_ml220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_core220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_lapack.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_flann220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_contrib220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_gpu220.a: No such file or directory  
mingw32-g++.exe: ..\..\..\libs\poco\lib\win_cb\libPocoNetmt.a: No such file or directory  
mingw32-g++.exe: ..\..\..\libs\poco\lib\win_cb\libPocoUtilmt.a: No such file or directory  
mingw32-g++.exe: ..\..\..\libs\poco\lib\win_cb\libPocoXMLmt.a: No such file or directory  
mingw32-g++.exe: ..\..\..\libs\poco\lib\win_cb\libPocoFoundationmt.a: No such file or directory  
  

Well I am still struggling with this addon. I had to worked around with some configuration issues:

Before begin, I point out my development environment :
oF v 0072 for Windows
CB 10.05
OS: Winows Vista 64 bits

I read carefully the FaceOSC project file to watch what libraries and folders were needed. I think I am closer to solve it.

1- Set properly the ospack.a library path (just adding the path from the correct place).
I set it to …\ofxOsc\libs\oscpack\lib\win32\oscpack.a" It was set to win_cb/ospack.a instead.

2- I added the src, include and library path of ofxOsc addon as suggested its install.xml

  1. I added the src, include and library path of ofxopenCV and ofxCV addons

4- I had to replace the project file lines where the version of OpenCV libraries are, since the addon brings another different version: libopencv_xx220 libraries are set instead llibopencv_xx231 , the libopencv_xxx231 are what come with my oF 0072 addon.

5 - same step 4 but for libPocoNet.a, libPocoUtil.a, libPocoXML.a, libPocoFoundation.a
They were set to find the libPocoXXXmt.a library (ie libPocoXMLmt.a) and they don’t exist.

6- I set the src, include and lib folders and linking libraries of FaceOSc example.

Now I have the following rerrors when compiling:

  
mingw32-g++.exe: obj\release\libs\Tracker\CLM.o: No such file or directory  
mingw32-g++.exe: obj\release\libs\Tracker\FCheck.o: No such file or directory  
mingw32-g++.exe: obj\release\libs\Tracker\FDet.o: No such file or directory  
mingw32-g++.exe: obj\release\libs\Tracker\IO.o: No such file or directory  
mingw32-g++.exe: obj\release\libs\Tracker\PAW.o: No such file or directory  
mingw32-g++.exe: obj\release\libs\Tracker\PDM.o: No such file or directory  
mingw32-g++.exe: obj\release\libs\Tracker\Patch.o: No such file or directory  
mingw32-g++.exe: obj\release\libs\Tracker\Tracker.o: No such file or directory  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_lapack.a: No such file or directory  
  

libopencv_lapack.a: I can’t find this static library and I wonder if the .o aren’t generated because this lack.
I have the include and src path files set for these fies (IO.cpp, IO.h, etc)

I notice that every ofxCV example works fine, though.

Thanks for any suggestion.

kovi

Well I respond myself, I noticed that ofxFaceTracker addons folder structure or path names doesn’t match the one in FacOSC project file (at least on Windows Vista).

I also have to modify the search directories and the linker settings to the correct ones, to set the project file properly. However I am still struggling.

Maybe I could figure out the cause of some compiler messages:

  
WARNING: Can't read file's timestamp: C:\of_v0072\addons\ofxFaceTracker\libs\Tracker\PAW.cc  
WARNING: Can't read file's timestamp: C:\of_v0072\addons\ofxFaceTracker\libs\Tracker\PDM.cc  
WARNING: Can't read file's timestamp: C:\of_v0072\addons\ofxFaceTracker\libs\Tracker\Patch.cc  
WARNING: Can't read file's timestamp: C:\of_v0072\addons\ofxFaceTracker\libs\Tracker\Tracker.cc  

In windows version this folder doesn’t exist. The folder of these files is

  
C:\of_v0072\ofxFaceTracker\lib\FaceTracker\src\lib  

.
I modify the addons structure in CB virtual folder to fit the “real” one. (However I don’t know what virtual folders mean exactly).

Something weird happens, the icon file on the tree project of the files mentioned above are displayed as an “broken” icon…I suppose because the addon structure doesn’t match what the project expect them to be.

The Properties project, has a Builder Target option, and within it, Build Target File option, the files mentioned above are set in the wrong path. I need to modify it, but I couldn’t, the seem “write path” protected.

Any clue? Thanks a lot

kovicic

Windows Vista 64 bits
CB 10.95
oF v0072

Well, I think I am getting closer to solve it,

I had to edit the the Unit filename tag of CB project file, now the compiler find them.
(
…\libs\FaceTracker\src\lib\PDM.cc
…\libs\FaceTracker\src\lib\Patch.cc
…\libs\FaceTracker\src\lib\Tracker.cc )

  
<Unit filename="..\libs\FaceTracker\src\lib\CLM.cc" />  

Now, there is only a linking error:

  
mingw32-g++.exe: ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win_cb\libopencv_lapack.a: No such file or directory  

Actually it doesn’t exist this library file. Do I need to instal openCV to get it?

And least. Am I the only one having those troubles with this addon on Windows?

Thanks and regards

kovicic

1 Like

kovicic, you’re not alone!

Unfortunately, I’m on OSX so can’t help with the library problem you’re having but I wanted to thank you for outlining your steps above. It helped me figure out how to get the example compiled in Xcode.

Here are my steps in case it helps.
http://forum.openframeworks.cc/t/getting-ofxfacetracker-to-compile-in-xcode/11280/0

Not sure it helps since it’s the OSX version but my “Other Linker Flags” property refers to this directory:
…/…/…/addons/ofxOpenCv/libs/opencv/lib/osx/opencv.a

Good luck!

Daniel, good to know it helps you or someone else.

I´ll take a look on your steps later, I left aside this issue momentainously because some other jobes, It seems I have to install OpenCV.
I’ll post here for further notice.

Regards and good luck too :slight_smile:

kovi

Hi Kovi,

I’m in the exactly same place as you (except that I’m using Windows7).

Did you manage to find a valid “libopencv_lapack.a” or how to install OpenCV?

Thanks!

Hi gazpachu, I am going to install openCV, what it wasn’t as simple as I thought and I didn’t enough time yet to this kind of project.
The installation of openCV requieres to create a sort of project to compile through thr CMake tool, I had problems with it, but I didn’t have so much workaround on it.

As soon as I had news, I’ll post here.

Regards

Kovi

I installed OpenCV on Windows, it wasn’t quite intuitive, it has to be done with CMake http://www.cmake.org (a tool for building projects).
You need to make a project (using some compilers VS C++, CB - MingW, etc) and then run it in order to get the OpenCV libraries, examples, etc.

As for I was reading, LAPACK is a library for resolving simultaneous linear equations, least-squares solutions of linear systems of equations, LU matrix product and so on efficiently. I have no LAPACK installed and I don’t know if it’s necessary for this addon.

CMake has variables to help your project include some 3rd part libraries with OpenCV like Qt for instance, include docs, etc.
I didn’t find any CMake variable referring to LAPACK as I found referring other applications/libraries, at least on Windows version.
I don’t know if I need to install it so CMake recognize the app and then display the variable to set it or if it isn’t necessary. I tend to think it isn’t, if you don’t have the application/libs you just left this variables empty as others.

That said: I edited the CB project file and delete the line where this ‘conflictive’ library is, now I have another problems.

I need to deal with multiple definition functions, an include related issue I think.
I have to track this.

Any ideas? I’d appreciate any help on this.

thanks everyone, cheers!

kovicic

  
||=== FaceOSC-windows, release ===|  
obj\release\addons\ofxOsc\src\ofxOscBundle.o||In function `ofxOscBundle':|  
C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|32|multiple definition of `ofxOscBundle::ofxOscBundle()'|  
obj\release\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|32|first defined here|  
obj\release\addons\ofxOsc\src\ofxOscBundle.o||In function `ofxOscBundle':|  
C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|32|multiple definition of `ofxOscBundle::ofxOscBundle()'|  
obj\release\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|32|first defined here|  
obj\release\addons\ofxOsc\src\ofxOscBundle.o||In function `~ofxOscBundle':|  
C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|36|multiple definition of `ofxOscBundle::~ofxOscBundle()'|  
obj\release\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|36|first defined here|  
obj\release\addons\ofxOsc\src\ofxOscBundle.o||In function `~ofxOscBundle':|  
C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|36|multiple definition of `ofxOscBundle::~ofxOscBundle()'|  
obj\release\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|36|first defined here|  
obj\release\addons\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|61|multiple definition of `ofxOscBundle::addMessage(ofxOscMessage const&)'|  
obj\release\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|61|first defined here|  
obj\release\addons\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|41|multiple definition of `ofxOscBundle::copy(ofxOscBundle const&)'|  
obj\release\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|41|first defined here|  
obj\release\addons\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|56|multiple definition of `ofxOscBundle::addBundle(ofxOscBundle const&)'|  
obj\release\ofxOsc\src\ofxOscBundle.o:C:\of_v0072\addons\ofxOsc\src\ofxOscBundle.cpp|56|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscArg.h|59|multiple definition of `ofxOscMessage::getNumArgs() const'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|59|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|75|multiple definition of `ofxOscMessage::getArgTypeName(int) const'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|75|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|64|multiple definition of `ofxOscMessage::getArgType(int) const'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|64|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|146|multiple definition of `ofxOscMessage::getArgAsString(int) const'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|146|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|126|multiple definition of `ofxOscMessage::getArgAsFloat(int) const'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|126|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|106|multiple definition of `ofxOscMessage::getArgAsInt64(int) const'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|106|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|87|multiple definition of `ofxOscMessage::getArgAsInt32(int) const'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|87|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|45|multiple definition of `ofxOscMessage::clear()'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|45|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o||In function `ofxOscMessage':|  
C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|34|multiple definition of `ofxOscMessage::ofxOscMessage()'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|34|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o||In function `ofxOscMessage':|  
C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|34|multiple definition of `ofxOscMessage::ofxOscMessage()'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|34|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o||In function `~ofxOscMessage':|  
C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|39|multiple definition of `ofxOscMessage::~ofxOscMessage()'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|39|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o||In function `~ofxOscMessage':|  
C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|39|multiple definition of `ofxOscMessage::~ofxOscMessage()'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|39|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|183|multiple definition of `ofxOscMessage::addIntArg(int)'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|183|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|213|multiple definition of `ofxOscMessage::copy(ofxOscMessage const&)'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|213|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|201|multiple definition of `ofxOscMessage::addStringArg(std::string)'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|201|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|196|multiple definition of `ofxOscMessage::addFloatArg(float)'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|196|first defined here|  
obj\release\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|189|multiple definition of `ofxOscMessage::addInt64Arg(unsigned long long)'|  
obj\release\addons\ofxOsc\src\ofxOscMessage.o:C:\of_v0072\addons\ofxOsc\src\ofxOscMessage.cpp|189|first defined here|  
obj\release\addons\ofxOsc\src\ofxOscReceiver.o:C:\of_v0072\addons\ofxOsc\src\ofxOscReceiver.cpp|236|multiple definition of `ofxOscReceiver::releaseMutex()'|  
obj\release\ofxOsc\src\ofxOscReceiver.o:C:\of_v0072\addons\ofxOsc\src\ofxOscReceiver.cpp|236|first defined here|  
||More errors follow but not being shown.|  
||Edit the max errors limit in compiler options...|  
||=== Build finished: 50 errors, 0 warnings ===|