soixantecircuits/ofxSocketIO

Error compile ofxSocketIO

Opened this issue · 10 comments

i'm using Ubuntu 16.04 ... but when I tried to compile it cause a lot of problems..
undefined reference to sio::client::socket undefined reference tosio::client::connect, ..

please help me, thank you

what oF version are you using?

my version is 0.9.8.

Hi @khangprolxag
Are you compiling the example app ?
If not, could you try to compile it first please ?

Can you trace the make output back to the error and put it there, please ?

meracle@meracle:~/Desktop/OF/addons/ofxSocketIO/example$ make
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 
Compiling OF library for Release
make[1]: Entering directory '/home/meracle/Desktop/OF/libs/openFrameworksCompiled/project'
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 
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 
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 
Done!
make[1]: Leaving directory '/home/meracle/Desktop/OF/libs/openFrameworksCompiled/project'


Compiling example for Release
make[1]: Entering directory '/home/meracle/Desktop/OF/addons/ofxSocketIO/example'
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 
find: ‘/home/meracle/Desktop/OF/addons/ofxSocketIO/example/ofxSocketIO’: No such file or directory
find: ‘Example.xcodeproj’: No such file or directory
find: ‘/home/meracle/Desktop/OF/addons/ofxSocketIO/example/ofxSocketIO’: No such file or directory
find: ‘Example.xcodeproj/xcshareddata’: No such file or directory
find: ‘/home/meracle/Desktop/OF/addons/ofxSocketIO/example/ofxSocketIO’: No such file or directory
find: ‘Example.xcodeproj/xcshareddata/xcschemes’: No such file or directory
find: ‘/home/meracle/Desktop/OF/addons/ofxSocketIO/example/ofxSocketIO’: No such file or directory
find: ‘Example.xcodeproj’: No such file or directory
find: ‘/home/meracle/Desktop/OF/addons/ofxSocketIO/example/ofxSocketIO’: No such file or directory
find: ‘Example.xcodeproj/xcshareddata’: No such file or directory
find: ‘/home/meracle/Desktop/OF/addons/ofxSocketIO/example/ofxSocketIO’: No such file or directory
find: ‘Example.xcodeproj/xcshareddata/xcschemes’: No such file or directory
find: ‘/home/meracle/Desktop/OF/addons/ofxSocketIO/example/ofxSocketIO’: No such file or directory
find: ‘Example.xcodeproj’: No such file or directory
find: ‘/home/meracle/Desktop/OF/addons/ofxSocketIO/example/ofxSocketIO’: No such file or directory
find: ‘Example.xcodeproj/xcshareddata’: No such file or directory
find: ‘/home/meracle/Desktop/OF/addons/ofxSocketIO/example/ofxSocketIO’: No such file or directory
find: ‘Example.xcodeproj/xcshareddata/xcschemes’: No such file or directory
Linking bin/example for linux64
g++ -o bin/example  obj/linux64/Release/src/main.o obj/linux64/Release/src/ofApp.o /home/meracle/Desktop/OF/addons/obj/linux64/Release/ofxSocketIO/src/ofxSocketIOData.o /home/meracle/Desktop/OF/addons/obj/linux64/Release/ofxSocketIO/src/ofxSocketIO.o /home/meracle/Desktop/OF/libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a  /home/meracle/Desktop/OF/addons/ofxSocketIO/libs/socket.io-client/lib/linux64/libboost_random.a /home/meracle/Desktop/OF/addons/ofxSocketIO/libs/socket.io-client/lib/linux64/libboost_date_time.a /home/meracle/Desktop/OF/addons/ofxSocketIO/libs/socket.io-client/lib/linux64/libboost_system.a /home/meracle/Desktop/OF/addons/ofxSocketIO/libs/socket.io-client/lib/linux64/libsioclient.a -Wl,-rpath=./libs:./bin/libs -Wl,--as-needed -Wl,--gc-sections -L/home/meracle/Desktop/OF/libs/fmodex/lib/linux64/ -lfmodex /home/meracle/Desktop/OF/libs/glfw/lib/linux64/libglfw3.a /home/meracle/Desktop/OF/libs/kiss/lib/linux64/libkiss.a /home/meracle/Desktop/OF/libs/tess2/lib/linux64/libtess2.a  /home/meracle/Desktop/OF/libs/poco/lib/linux64/libPocoNetSSL.a /home/meracle/Desktop/OF/libs/poco/lib/linux64/libPocoNet.a /home/meracle/Desktop/OF/libs/poco/lib/linux64/libPocoCrypto.a /home/meracle/Desktop/OF/libs/poco/lib/linux64/libPocoUtil.a /home/meracle/Desktop/OF/libs/poco/lib/linux64/libPocoJSON.a /home/meracle/Desktop/OF/libs/poco/lib/linux64/libPocoXML.a /home/meracle/Desktop/OF/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 -lglut -lX11 -lXrandr -lXxf86vm -lXi -lXcursor -ldl -lpthread -lfreeimage -lboost_filesystem -lboost_system -lXinerama -lrtaudio
/home/meracle/Desktop/OF/addons/obj/linux64/Release/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::setup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&)':
ofxSocketIO.cpp:(.text+0x209): undefined reference to `sio::client::connect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)'
/home/meracle/Desktop/OF/addons/obj/linux64/Release/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::bindEvent(ofEvent<ofxSocketIOData&, std::recursive_mutex>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
ofxSocketIO.cpp:(.text+0x46e): undefined reference to `sio::client::socket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
ofxSocketIO.cpp:(.text+0x47c): undefined reference to `sio::socket::on(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<sio::message> const&, bool, sio::message::list&)> const&)'
/home/meracle/Desktop/OF/addons/obj/linux64/Release/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::emitBinary(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::shared_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
ofxSocketIO.cpp:(.text+0x7af): undefined reference to `sio::client::socket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
ofxSocketIO.cpp:(.text+0x7c5): undefined reference to `sio::socket::emit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sio::message::list const&, std::function<void (sio::message::list const&)> const&)'
/home/meracle/Desktop/OF/addons/obj/linux64/Release/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::emit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
ofxSocketIO.cpp:(.text+0xcb1): undefined reference to `sio::client::socket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
ofxSocketIO.cpp:(.text+0xcc7): undefined reference to `sio::socket::emit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sio::message::list const&, std::function<void (sio::message::list const&)> const&)'
/home/meracle/Desktop/OF/addons/obj/linux64/Release/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::openConnection(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
ofxSocketIO.cpp:(.text+0x528): undefined reference to `sio::client::connect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
/home/meracle/Desktop/OF/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/meracle/Desktop/OF/addons/ofxSocketIO/example'
/home/meracle/Desktop/OF/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:125: recipe for target 'Release' failed
make: *** [Release] Error 2

I hope you can fix it..

EDIT from hugohil: I permitted myself to format your post for better readability :)

Hi,

I am having the same issue. Did anybody find a solution for this?
To my novice eyes this looks like the linux64 libraries couldn't be linked properly or the libraries don't contain the implementation declared in the libraries header files.

My setup:
openframeworks 0.9.8
Ubuntu 16.04 LTS

/home/ubnt/Documents/openframeworks/of_v0.9.8_linux64_release/apps/sitw/KinectTracking/obj/linux64/Release/addons/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::setup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&)':
ofxSocketIO.cpp:(.text+0x209): undefined reference to `sio::client::connect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)'
/home/ubnt/Documents/openframeworks/of_v0.9.8_linux64_release/apps/sitw/KinectTracking/obj/linux64/Release/addons/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::bindEvent(ofEvent<ofxSocketIOData&, std::recursive_mutex>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
ofxSocketIO.cpp:(.text+0x46e): undefined reference to `sio::client::socket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
ofxSocketIO.cpp:(.text+0x47c): undefined reference to `sio::socket::on(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<sio::message> const&, bool, sio::message::list&)> const&)'
/home/ubnt/Documents/openframeworks/of_v0.9.8_linux64_release/apps/sitw/KinectTracking/obj/linux64/Release/addons/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::emitBinary(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::shared_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
ofxSocketIO.cpp:(.text+0x7af): undefined reference to `sio::client::socket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
ofxSocketIO.cpp:(.text+0x7c5): undefined reference to `sio::socket::emit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sio::message::list const&, std::function<void (sio::message::list const&)> const&)'
/home/ubnt/Documents/openframeworks/of_v0.9.8_linux64_release/apps/sitw/KinectTracking/obj/linux64/Release/addons/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::emit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
ofxSocketIO.cpp:(.text+0xcb1): undefined reference to `sio::client::socket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
ofxSocketIO.cpp:(.text+0xcc7): undefined reference to `sio::socket::emit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sio::message::list const&, std::function<void (sio::message::list const&)> const&)'
/home/ubnt/Documents/openframeworks/of_v0.9.8_linux64_release/apps/sitw/KinectTracking/obj/linux64/Release/addons/ofxSocketIO/src/ofxSocketIO.o: In function `ofxSocketIO::openConnection(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
ofxSocketIO.cpp:(.text+0x528): undefined reference to `sio::client::connect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status

Does anyone know how to fix this?

I'm having the same errors with OF 0.11.0 on a raspberry 4.
But I'm still cannot fix this.

https://forum.openframeworks.cc/t/how-to-link-static-library-in-android-project/16584/2

PROJECT_LDFLAGS= -lsndfile -L$(PROJECT_ROOT)/bin/libs
PROJECT_LDFLAGS= $(PROJECT_ROOT)/bin/libs/libsndfile.a

But this didn't helped.

Kindly from khangprolxag there's a fix on Raspberry Pi (ARM architecture):
https://github.com/khangprolxag/ofxSocketIO