Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run on Ubuntu 16.04 #14

Open
kidapu opened this issue Sep 5, 2017 · 3 comments
Open

Run on Ubuntu 16.04 #14

kidapu opened this issue Sep 5, 2017 · 3 comments

Comments

@kidapu
Copy link

kidapu commented Sep 5, 2017

While I know this addon supports only Mac, I want to run this addon on Ubuntu 16.04.
Let me question if there is any good way m(_ _)m

First I was able to run ofxKinectV2 and ofxTurboJpeg on Ubuntu 16.04 with the following procedure.

A successful way with other add-ons

(a) ofxKinectV2

I edited libs/libfreenect2/include/libfreenect2/logger.h and addon_config.mk according to comments on this issue. Then I compiled ofxKinectV2 successfully.

(b) ofxTurboJpeg

I sent a pull request to ofxTurboJpeg. And made it works on ubuntu 16.04.

Errors encountered with this add-on

First, according to your this commit, I compiled this revision of libfreenect2.

And in order to link libfreenect2.so and other required libs, I added following code to addon_config.mk.

linux64:
    ADDON_PKG_CONFIG_LIBRARIES = libusb-1.0
    ADDON_LDFLAGS = -L /home/kida/Documents/tmp/libfreenect2/build/lib/
    ADDON_LDFLAGS += -lOpenCL

And when I compiled example code, the following error occurred. . .

g++ -o bin/example  obj/linux64/Release/src/ofApp.o /home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/src/opt/GpuRegistration.o /home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/src/ofxMultiKinectV2.o /home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o /home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxTurboJpeg/src/ofxTurboJpeg.o /home/kida/openFrameworks_098/libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a   -Wl,-rpath=./libs:./bin/libs -Wl,--as-needed -Wl,--gc-sections -L/home/kida/openFrameworks_098/libs/fmodex/lib/linux64/ -lfmodex -L /home/kida/Documents/tmp/libfreenect2/build/lib/ -lOpenCL -lturbojpeg /home/kida/openFrameworks_098/libs/glfw/lib/linux64/libglfw3.a /home/kida/openFrameworks_098/libs/kiss/lib/linux64/libkiss.a /home/kida/openFrameworks_098/libs/libxml2/lib/linux64/libxml2.a /home/kida/openFrameworks_098/libs/svgtiny/lib/linux64/libsvgtiny.a /home/kida/openFrameworks_098/libs/tess2/lib/linux64/libtess2.a  /home/kida/openFrameworks_098/libs/poco/lib/linux64/libPocoNetSSL.a /home/kida/openFrameworks_098/libs/poco/lib/linux64/libPocoNet.a /home/kida/openFrameworks_098/libs/poco/lib/linux64/libPocoCrypto.a /home/kida/openFrameworks_098/libs/poco/lib/linux64/libPocoUtil.a /home/kida/openFrameworks_098/libs/poco/lib/linux64/libPocoJSON.a /home/kida/openFrameworks_098/libs/poco/lib/linux64/libPocoXML.a /home/kida/openFrameworks_098/libs/poco/lib/linux64/libPocoFoundation.a  -lz -lgstapp-1.0 -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -ludev -lfontconfig -lfreetype -lsndfile -lopenal -lssl -lcrypto -lglfw -lGLEW -lGLU -lGL -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lmpg123 -lusb-1.0 -lglut -lX11 -lXrandr -lXxf86vm -lXi -lXcursor -ldl -lpthread -lfreeimage -lboost_filesystem -lboost_system -lXinerama -lrtaudio
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/src/ofxMultiKinectV2.o: In function `ofxMultiKinectV2::~ofxMultiKinectV2()':
ofxMultiKinectV2.cpp:(.text+0xc8b): undefined reference to `libfreenect2::Freenect2::~Freenect2()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/src/ofxMultiKinectV2.o: In function `KinectV2DeviceManager::init()':
ofxMultiKinectV2.cpp:(.text._ZN21KinectV2DeviceManager4initEv[_ZN21KinectV2DeviceManager4initEv]+0x2f): undefined reference to `libfreenect2::Freenect2::Freenect2(void*)'
ofxMultiKinectV2.cpp:(.text._ZN21KinectV2DeviceManager4initEv[_ZN21KinectV2DeviceManager4initEv]+0x39): undefined reference to `libfreenect2::Freenect2::enumerateDevices()'
ofxMultiKinectV2.cpp:(.text._ZN21KinectV2DeviceManager4initEv[_ZN21KinectV2DeviceManager4initEv]+0x9e): undefined reference to `libfreenect2::Freenect2::getDeviceSerialNumber[abi:cxx11](int)'
ofxMultiKinectV2.cpp:(.text._ZN21KinectV2DeviceManager4initEv[_ZN21KinectV2DeviceManager4initEv]+0x2ae): undefined reference to `libfreenect2::Freenect2::~Freenect2()'
ofxMultiKinectV2.cpp:(.text._ZN21KinectV2DeviceManager4initEv[_ZN21KinectV2DeviceManager4initEv]+0x3fa): undefined reference to `libfreenect2::Freenect2::~Freenect2()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `ofProtonect2::start()':
ofProtonect2.cpp:(.text+0x22c): undefined reference to `libfreenect2::createConsoleLogger(libfreenect2::Logger::Level)'
ofProtonect2.cpp:(.text+0x234): undefined reference to `libfreenect2::setGlobalLogger(libfreenect2::Logger*)'
ofProtonect2.cpp:(.text+0x276): undefined reference to `libfreenect2::createConsoleLogger(libfreenect2::Logger::Level)'
ofProtonect2.cpp:(.text+0x27e): undefined reference to `libfreenect2::setGlobalLogger(libfreenect2::Logger*)'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `ofProtonect2::ofProtonect2()':
ofProtonect2.cpp:(.text+0x373): undefined reference to `libfreenect2::Freenect2::Freenect2(void*)'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `ofProtonect2::update()':
ofProtonect2.cpp:(.text+0x47b): undefined reference to `libfreenect2::SyncMultiFrameListener::waitForNewFrame(std::map<libfreenect2::Frame::Type, libfreenect2::Frame*, std::less<libfreenect2::Frame::Type>, std::allocator<std::pair<libfreenect2::Frame::Type const, libfreenect2::Frame*> > >&)'
ofProtonect2.cpp:(.text+0x937): undefined reference to `libfreenect2::SyncMultiFrameListener::release(std::map<libfreenect2::Frame::Type, libfreenect2::Frame*, std::less<libfreenect2::Frame::Type>, std::allocator<std::pair<libfreenect2::Frame::Type const, libfreenect2::Frame*> > >&)'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `ofPacketPipeline::ofPacketPipeline(int)':
ofProtonect2.cpp:(.text+0xa75): undefined reference to `libfreenect2::PacketPipeline::PacketPipeline()'
ofProtonect2.cpp:(.text+0xa92): undefined reference to `libfreenect2::RgbPacketStreamParser::RgbPacketStreamParser()'
ofProtonect2.cpp:(.text+0xaab): undefined reference to `libfreenect2::DepthPacketStreamParser::DepthPacketStreamParser()'
ofProtonect2.cpp:(.text+0xac4): undefined reference to `libfreenect2::RgbPacketProcessor::RgbPacketProcessor()'
ofProtonect2.cpp:(.text+0xb2c): undefined reference to `libfreenect2::OpenCLDepthPacketProcessor::OpenCLDepthPacketProcessor(int)'
ofProtonect2.cpp:(.text+0xb34): undefined reference to `libfreenect2::Freenect2Device::Config::Config()'
ofProtonect2.cpp:(.text+0xb81): undefined reference to `libfreenect2::PoolAllocator::PoolAllocator()'
ofProtonect2.cpp:(.text+0xc9c): undefined reference to `libfreenect2::PoolAllocator::PoolAllocator()'
ofProtonect2.cpp:(.text+0xd9a): undefined reference to `libfreenect2::RgbPacketStreamParser::setPacketProcessor(libfreenect2::PacketProcessor<libfreenect2::RgbPacket>*)'
ofProtonect2.cpp:(.text+0xda7): undefined reference to `libfreenect2::DepthPacketStreamParser::setPacketProcessor(libfreenect2::PacketProcessor<libfreenect2::DepthPacket>*)'
ofProtonect2.cpp:(.text+0xecc): undefined reference to `libfreenect2::PoolAllocator::~PoolAllocator()'
ofProtonect2.cpp:(.text+0xef8): undefined reference to `libfreenect2::PacketPipeline::~PacketPipeline()'
ofProtonect2.cpp:(.text+0xf44): undefined reference to `libfreenect2::PoolAllocator::~PoolAllocator()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `ofProtonect2::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)':
ofProtonect2.cpp:(.text+0x1093): undefined reference to `libfreenect2::Freenect2::openDevice(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, libfreenect2::PacketPipeline const*)'
ofProtonect2.cpp:(.text+0x10b4): undefined reference to `libfreenect2::SyncMultiFrameListener::SyncMultiFrameListener(unsigned int)'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `ofPacketPipeline::~ofPacketPipeline()':
ofProtonect2.cpp:(.text+0xaa): undefined reference to `libfreenect2::PacketPipeline::~PacketPipeline()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `PassThroughRgbPacketProcessor::process(libfreenect2::RgbPacket const&)':
ofProtonect2.cpp:(.text._ZN29PassThroughRgbPacketProcessor7processERKN12libfreenect29RgbPacketE[_ZN29PassThroughRgbPacketProcessor7processERKN12libfreenect29RgbPacketE]+0x2d): undefined reference to `libfreenect2::Frame::Frame(unsigned long, unsigned long, unsigned long, unsigned char*)'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `PassThroughRgbPacketProcessor::~PassThroughRgbPacketProcessor()':
ofProtonect2.cpp:(.text._ZN29PassThroughRgbPacketProcessorD2Ev[_ZN29PassThroughRgbPacketProcessorD5Ev]+0x8): undefined reference to `libfreenect2::RgbPacketProcessor::~RgbPacketProcessor()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `PassThroughRgbPacketProcessor::~PassThroughRgbPacketProcessor()':
ofProtonect2.cpp:(.text._ZN29PassThroughRgbPacketProcessorD0Ev[_ZN29PassThroughRgbPacketProcessorD5Ev]+0xc): undefined reference to `libfreenect2::RgbPacketProcessor::~RgbPacketProcessor()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `libfreenect2::AsyncPacketProcessor<libfreenect2::RgbPacket>::~AsyncPacketProcessor()':
ofProtonect2.cpp:(.text._ZN12libfreenect220AsyncPacketProcessorINS_9RgbPacketEED2Ev[_ZN12libfreenect220AsyncPacketProcessorINS_9RgbPacketEED5Ev]+0x53): undefined reference to `libfreenect2::PoolAllocator::~PoolAllocator()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `libfreenect2::AsyncPacketProcessor<libfreenect2::DepthPacket>::~AsyncPacketProcessor()':
ofProtonect2.cpp:(.text._ZN12libfreenect220AsyncPacketProcessorINS_11DepthPacketEED2Ev[_ZN12libfreenect220AsyncPacketProcessorINS_11DepthPacketEED5Ev]+0x50): undefined reference to `libfreenect2::PoolAllocator::~PoolAllocator()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `libfreenect2::AsyncPacketProcessor<libfreenect2::DepthPacket>::~AsyncPacketProcessor()':
ofProtonect2.cpp:(.text._ZN12libfreenect220AsyncPacketProcessorINS_11DepthPacketEED0Ev[_ZN12libfreenect220AsyncPacketProcessorINS_11DepthPacketEED5Ev]+0x4a): undefined reference to `libfreenect2::PoolAllocator::~PoolAllocator()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o: In function `libfreenect2::AsyncPacketProcessor<libfreenect2::RgbPacket>::~AsyncPacketProcessor()':
ofProtonect2.cpp:(.text._ZN12libfreenect220AsyncPacketProcessorINS_9RgbPacketEED0Ev[_ZN12libfreenect220AsyncPacketProcessorINS_9RgbPacketEED5Ev]+0x4d): undefined reference to `libfreenect2::PoolAllocator::~PoolAllocator()'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o:(.rodata._ZTI29PassThroughRgbPacketProcessor[_ZTI29PassThroughRgbPacketProcessor]+0x10): undefined reference to `typeinfo for libfreenect2::RgbPacketProcessor'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o:(.rodata._ZTI16ofPacketPipeline[_ZTI16ofPacketPipeline]+0x10): undefined reference to `typeinfo for libfreenect2::PacketPipeline'
/home/kida/openFrameworks_098/addons/obj/linux64/Release/ofxMultiKinectV2/libs/protonect/ofProtonect2.o:(.rodata._ZTV29PassThroughRgbPacketProcessor[_ZTV29PassThroughRgbPacketProcessor]+0x58): undefined reference to `libfreenect2::RgbPacketProcessor::setFrameListener(libfreenect2::FrameListener*)'
collect2: error: ld returned 1 exit status
/home/kida/openFrameworks_098/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:382: recipe for target 'bin/example' failed
make[1]: *** [bin/example] Error 1
make[1]: Leaving directory '/home/kida/openFrameworks_098/apps_addons/ofxMultiKinectV2/example'
/home/kida/openFrameworks_098/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:125: recipe for target 'Release' failed
make: *** [Release] Error 2
HOST_OS=Linux
checking pkg-config libraries:   cairo zlib gstreamer-app-1.0 gstreamer-1.0 gstreamer-video-1.0 gstreamer-base-1.0 libudev freetype2 fontconfig sndfile openal openssl glfw3 gl glu glew gtk+-3.0 libmpg123 
/bin/sh: 1: ./example: not found
/home/kida/openFrameworks_098/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:169: recipe for target 'run' failed
make: *** [run] Error 127

Many undefined reference to error has occured...

Please let me know if you know any good solutions m(_ _)m

@ThomasLengeling
Copy link

Hi @kidapu I am having the same issue, don't know if its the version of libfreenect or something is happening when adding the include files.

Have you had any success?

@kidapu
Copy link
Author

kidapu commented Nov 23, 2017

@ThomasLengeling Mmm, sorry. I used another addon ofxKinectV2 for running KinectV2 in Ubuntu. It can run in Ubuntu by this
procedure
.

@m9dfukc
Copy link

m9dfukc commented Jan 9, 2018

I also failed to compile this for Ubuntu 16.04. Did anybody succeed and has a step by step tutorial or even a fork that's working with Linux/Ubuntu?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants