V0.9.8 fail compiling poco

after calling install_dependencies.sh it says that since my version of gcc 5 or bigger is, poco has to be recompiled. But the compilation failed with the following message: ^ Received error ^

I have a Debian SID (Unstable) updated from debian jessie. I was using v0.9.3 and everything was working. now I can not use none of the versions.

already at the beginning we can see the following errors and I hope you can help me:

** Compiling src/Compress.cpp (release, static)
g++ -Iinclude -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/CppUnit/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/CppUnit/WinTestRunner/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Foundation/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/XML/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/JSON/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Util/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Net/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Crypto/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/NetSSL_OpenSSL/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Data/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Data/SQLite/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Data/ODBC/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Data/MySQL/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Zip/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/PageCompiler/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/PageCompiler/File2Page/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/PDF/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/CppParser/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/MongoDB/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/PocoDoc/include -I/home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/ProGen/include -Wall -Wno-sign-compare -DPOCO_BUILD_HOST=debian-axon -D_XOPEN_SOURCE=500 -D_REENTRANT -D_THREAD_SAFE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DPOCO_HAVE_FD_EPOLL -O2 -DNDEBUG -c src/Compress.cpp -o /home/benjas/Apps/OpenFramework/of_v0.9.8_linux64_release/scripts/apothecary/build/poco/Zip/obj/Linux/x86_64/release_static/Compress.o
In file included from include/Poco/Crypto/DigestEngine.h:26:0,
from src/DigestEngine.cpp:17:
src/DigestEngine.cpp: In member function ‘int Poco::Crypto::DigestEngine::nid() const’:
src/DigestEngine.cpp:42:24: error: invalid use of incomplete type ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’
return EVP_MD_nid(_ctx->digest);
^
In file included from /usr/include/openssl/crypto.h:31:0,
from include/Poco/Crypto/OpenSSLInitializer.h:26,
from include/Poco/Crypto/DigestEngine.h:24,
from src/DigestEngine.cpp:17:
/usr/include/openssl/ossl_typ.h:92:16: note: forward declaration of ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’
typedef struct evp_md_ctx_st EVP_MD_CTX;
^~~~~~~~~~~~~
src/DigestEngine.cpp: In member function ‘virtual void Poco::Crypto::DigestEngine::reset()’:
src/DigestEngine.cpp:53:25: error: ‘EVP_MD_CTX_cleanup’ was not declared in this scope
EVP_MD_CTX_cleanup(_ctx);
^
src/CipherImpl.cpp:80:21: error: field ‘_ctx’ has incomplete type ‘EVP_CIPHER_CTX {aka evp_cipher_ctx_st}’
EVP_CIPHER_CTX _ctx;
^~~~
In file included from /usr/include/openssl/crypto.h:31:0,
from include/Poco/Crypto/OpenSSLInitializer.h:26,
from include/Poco/Crypto/CipherKeyImpl.h:24,
from include/Poco/Crypto/CipherKey.h:24,
from include/Poco/Crypto/CipherImpl.h:25,
from src/CipherImpl.cpp:17:
/usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
^~~~~~~~~~~~~~~~~
src/RSAKeyImpl.cpp: In member function ‘Poco::Crypto::RSAKeyImpl::ByteVec Poco::Crypto::RSAKeyImpl::modulus() const’:
src/RSAKeyImpl.cpp:210:31: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’
return convertToByteVec(_pRSA->n);
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from include/Poco/Crypto/OpenSSLInitializer.h:26,
from include/Poco/Crypto/RSAKeyImpl.h:24,
from src/RSAKeyImpl.cpp:17:
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of ‘RSA {aka struct rsa_st}’
typedef struct rsa_st RSA;
^~~~~~
src/RSAKeyImpl.cpp: In member function ‘Poco::Crypto::RSAKeyImpl::ByteVec Poco::Crypto::RSAKeyImpl::encryptionExponent() const’:
src/RSAKeyImpl.cpp:216:31: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’
return convertToByteVec(_pRSA->e);
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from include/Poco/Crypto/OpenSSLInitializer.h:26,
from include/Poco/Crypto/RSAKeyImpl.h:24,
from src/RSAKeyImpl.cpp:17:
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of ‘RSA {aka struct rsa_st}’
typedef struct rsa_st RSA;
^~~~~~
src/RSAKeyImpl.cpp: In member function ‘Poco::Crypto::RSAKeyImpl::ByteVec Poco::Crypto::RSAKeyImpl::decryptionExponent() const’:
src/RSAKeyImpl.cpp:222:31: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’
return convertToByteVec(_pRSA->d);
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from include/Poco/Crypto/OpenSSLInitializer.h:26,
from include/Poco/Crypto/RSAKeyImpl.h:24,
from src/RSAKeyImpl.cpp:17:
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of ‘RSA {aka struct rsa_st}’
typedef struct rsa_st RSA;
^~~~~~

I hope you can help me.
Regards
axon

that looks like the version of poco we use is not compatible anymore with the newest version of openssl in debian testing. you could try using the nightly builds which don’t need recompiling poco

Hi arturo,

thanks for the help.

I tried with the v20161211 and I got this a the end of install_dependencies.sh:

It seems you are running gcc 5 or later, due to incomatible ABI with previous versions
we need to recompile poco. This will take a while
Press any key to continue… ./install_dependencies.sh: line 89: cd: /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/scripts/linux/debian/…/…/apothecary/apothecary: No such file or directory
./install_dependencies.sh: line 90: ./apothecary: No such file or directory

I thought it should not matter, so I call the compileOF.sh successfully.

Then I try the example graphics/polygonExample and it didn’t compile. Here the output:

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 libcurl glfw3 rtaudio libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
    with PKG_CONFIG_LIBDIR=
    Compiling OF library for Release
    make[1]: Entering directory '/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/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 libcurl glfw3 rtaudio libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
    with PKG_CONFIG_LIBDIR=
    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 libcurl glfw3 rtaudio libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
    with PKG_CONFIG_LIBDIR=
    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 libcurl glfw3 rtaudio libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
    with PKG_CONFIG_LIBDIR=
    Done!
    make[1]: Leaving directory '/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworksCompiled/project'


    Compiling polygonExample for Release
    make[1]: Entering directory '/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample'
    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 libcurl glfw3 rtaudio libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
    with PKG_CONFIG_LIBDIR=
    cat: obj/linux64/Release/.compiler_flags: No such file or directory
    Compiling /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample/src/ofApp.cpp
    g++ -c -O3 -march=native -mtune=native -DNDEBUG -Wall -std=c++14 -DGCC_HAS_REGEX -DOF_USING_GTK -DOF_USING_GTK -DOF_USING_MPG123  -pthread -D_REENTRANT -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/AL -I/usr/include/rtaudio -I/usr/include/alsa -I/usr/include/libdrm -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/fmodex/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/gtc -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/detail -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/gtx -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/json/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/kiss/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/pugixml/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/tess2/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/utf8/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/utf8/include/utf8 -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/utils -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/types -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/sound -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/math -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/events -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/graphics -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/app -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/3d -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/gl -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/communication -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/video -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample/src -MMD -MP -MF obj/linux64/Release/src/ofApp.d -MT obj/linux64/Release/src/ofApp.o -o obj/linux64/Release/src/ofApp.o -c /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample/src/ofApp.cpp
    Compiling /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample/src/main.cpp
    g++ -c -O3 -march=native -mtune=native -DNDEBUG -Wall -std=c++14 -DGCC_HAS_REGEX -DOF_USING_GTK -DOF_USING_GTK -DOF_USING_MPG123  -pthread -D_REENTRANT -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/AL -I/usr/include/rtaudio -I/usr/include/alsa -I/usr/include/libdrm -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/fmodex/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/gtc -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/detail -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/gtx -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/json/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/kiss/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/pugixml/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/tess2/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/utf8/include -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/utf8/include/utf8 -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/utils -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/types -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/sound -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/math -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/events -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/graphics -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/app -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/3d -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/gl -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/communication -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/video -I/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample/src -MMD -MP -MF obj/linux64/Release/src/main.d -MT obj/linux64/Release/src/main.o -o obj/linux64/Release/src/main.o -c /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample/src/main.cpp
    In file included from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.hpp:478:0,
                     from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/ext.hpp:73,
                     from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/utils/ofConstants.h:73,
                     from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/ofMain.h:5,
                     from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample/src/main.cpp:1:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec2 glm::unpackUnorm2x8(glm::uint16)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:272:55: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       vec2 const Unpack(reinterpret_cast<u8vec2 const &>(p));
                                                           ^
    In file included from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.hpp:478:0,
                     from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/ext.hpp:73,
                     from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/utils/ofConstants.h:73,
                     from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworks/ofMain.h:5,
                     from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample/src/ofApp.h:3,
                     from /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample/src/ofApp.cpp:1:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec2 glm::unpackUnorm2x8(glm::uint16)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:272:55: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       vec2 const Unpack(reinterpret_cast<u8vec2 const &>(p));
                                                           ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec2 glm::unpackSnorm2x8(glm::uint16)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:298:55: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       vec2 const Unpack(reinterpret_cast<i8vec2 const &>(p));
                                                           ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec2 glm::unpackSnorm2x8(glm::uint16)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:298:55: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       vec2 const Unpack(reinterpret_cast<i8vec2 const &>(p));
                                                           ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::uint64 glm::packUnorm4x16(const vec4&)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:318:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       return reinterpret_cast<uint64 const &>(Topack);
                                                     ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec4 glm::unpackUnorm4x16(glm::uint64)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:323:56: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       vec4 const Unpack(reinterpret_cast<u16vec4 const &>(p));
                                                            ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::uint64 glm::packUnorm4x16(const vec4&)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:318:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       return reinterpret_cast<uint64 const &>(Topack);
                                                     ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec4 glm::unpackUnorm4x16(glm::uint64)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:323:56: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       vec4 const Unpack(reinterpret_cast<u16vec4 const &>(p));
                                                            ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::uint64 glm::packSnorm4x16(const vec4&)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:344:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       return reinterpret_cast<uint64 const &>(Topack);
                                                     ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec4 glm::unpackSnorm4x16(glm::uint64)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:349:56: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       vec4 const Unpack(reinterpret_cast<i16vec4 const &>(p));
                                                            ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::uint64 glm::packHalf4x16(const vec4&)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:374:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       return reinterpret_cast<uint64 const &>(Unpack);
                                                     ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec4 glm::unpackHalf4x16(glm::uint64)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:379:53: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       i16vec4 Unpack(reinterpret_cast<i16vec4 const &>(v));
                                                         ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:379:54: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       i16vec4 Unpack(reinterpret_cast<i16vec4 const &>(v));
                                                          ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::uint64 glm::packSnorm4x16(const vec4&)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:344:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       return reinterpret_cast<uint64 const &>(Topack);
                                                     ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec4 glm::unpackSnorm4x16(glm::uint64)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:349:56: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       vec4 const Unpack(reinterpret_cast<i16vec4 const &>(p));
                                                            ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::uint64 glm::packHalf4x16(const vec4&)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:374:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       return reinterpret_cast<uint64 const &>(Unpack);
                                                     ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl: In function ‘glm::vec4 glm::unpackHalf4x16(glm::uint64)’:
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:379:53: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       i16vec4 Unpack(reinterpret_cast<i16vec4 const &>(v));
                                                         ^
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/glm/include/glm/./gtc/packing.inl:379:54: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       i16vec4 Unpack(reinterpret_cast<i16vec4 const &>(v));
                                                          ^
    Linking bin/polygonExample for linux64
    g++ -o bin/polygonExample  obj/linux64/Release/src/ofApp.o obj/linux64/Release/src/main.o  /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a   -Wl,-rpath=./libs:./bin/libs -Wl,--as-needed -Wl,--gc-sections -L/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/fmodex/lib/linux64/ -lfmodex /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/kiss/lib/linux64/libkiss.a /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/tess2/lib/linux64/libtess2.a   -lz -lgstapp-1.0 -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -ludev -lfontconfig -lfreetype -lsndfile -lopenal -lssl -lcrypto -lcurl -lglfw -lrtaudio -lpulse-simple -lpulse -lasound -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 -lpugixml -luriparser -lXinerama
    /usr/bin/ld: /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/kiss/lib/linux64/libkiss.a(kiss_fftr.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/tess2/lib/linux64/libtess2.a(tess.o): relocation R_X86_64_32 against `.data' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/tess2/lib/linux64/libtess2.a(mesh.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/tess2/lib/linux64/libtess2.a(sweep.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompbenjas@debian-axon:~/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample$ 
    /usr/bin/ld: /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/tess2/lib/linux64/libtess2.a(dict.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: final link failed: Nonrepresentable section on output
    collect2: error: ld returned 1 exit status

    make[1]: *** [bin/polygonExample] Error 1
    make[1]: Leaving directory '/home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/examples/graphics/polygonExample'
    /home/benjas/Apps/OpenFramework/of_v20161211_linux64_release/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:124: recipe for target 'Release' failed
    make: *** [Release] Error 2

regards
axon

can you download this libraries:

http://ci.openframeworks.cc/libs/openFrameworksLibs_master_linux64gcc6.tar.bz2

and substitute the ones in libs with those ones? some of them are addons libraries so you would need to move them to the correct folder, eg: opencv to addons/ofxOpenCv/libs/opencv

Hi arturo,

I tried that and now the examples are compiling. Thank you very much for your help.

Apparently there are many changes from 0.9.3 to now. I am now facing three error that I didn’t have before in my project:

1.- class ofXml has no member named ‘exists’
2.- no matching function for call to ofXml::getValue(const char [])
3.- no matching function for call to ofPolyline_<glm::tvec3<float, (glm::precision)0u> >::addVertex(ofVec2f)’

I will try checking the examples to see if I can find solutions. But if you have some tips I will appreciate them.

Thanks again
regards
axon

1 Like

ofXml has had a lot of changes but the old version is in the new ofxPoco addon as ofxXmlPoco.

also we’ve changed the ofVec* classes with glm a math library that has lately become the defacto standard for graphics maths. if you want to use the nightly builds with an old project without having to port it you can just uncomment line 926 in utils/ofConstants.h:


//#define OF_USE_LEGACY_MESH
1 Like

great, thanks for the tips. I will try them out…

I have the same issue on Lubuntu 16.x 32bit with 0.9.8 . I thought you were discontinuing Poco in 0.9x?
I’m not using Poco directly so can I compile without it?

TIA.

no, poco is still needed for 0.9.8 and we don’t have precompiled binaries for 32bits anymore so your only chance is to recompile poco yourself, perhaps try using a newer version of poco,

OK thanks II’ll try a recompile.
I’m also using 0.9.8 on a Raspberry Pi - this seems ok and doesn’t have this issue or am I missing something?

yes the raspberry pi doesn’t have this problem, the problem is related with recent changes in the gcc compiler flags as they are configured in debian/ubuntu which makes it incompatible with previous versions. raspbian is still based on an older version of debian and doesn’t still have this problem

Thanks that makes sense. Actually I’ve just rebuiilt my Lubuntu system with the latest 16.x 64 bit and
OF 0.9.8.
All works OK and I didn’t have to do anything with Poco.

I seem to have the same problem, but I haven’t managed to solve it with any of the methods in this thread, perhaps I’ve misunderstood some part of it.

I’m on AV linux which is based on Debian 9 “Stretch”. When I get to the end of install_dependencies.sh it tries to compile poco, but it fails with “^ Received error ^”, but nothing that looks interesting above. Then the compileOF script seems to work, but compilePG fails and complains about a lot of undefined poco stuff.

I didn’t manage to get the nightly to work either and I’m waiting for the github cloning to finish right now, but I’d prefer a stable version if at all possible.

Compiling poco from source works when it’s separately downloaded from their website, but I can’t figure out how (if it’s possible) to use it for OF…

EDIT: I cloned the github repo and ran the download_libs.sh script which I think downloaded the projectGenerator-linux64 folder to the root folder. Running the projectGenerator binary works fine, but once I click “Update multiple” I get the error:

`Command failed: /bin/sh -c "/home/erik/Documents/code/openFrameworks/projectGenerator-linux64/resources/app/app/projectGenerator" -r  -o"/home/erik/Documents/code/openFrameworks" -p"linux64,linux64" "/home/erik/Documents/code/openFrameworks/examples"
/bin/sh: 1: /home/erik/Documents/code/openFrameworks/projectGenerator-linux64/resources/app/app/projectGenerator: Exec format error


(command used:"/home/erik/Documents/code/openFrameworks/projectGenerator-linux64/resources/app/app/projectGenerator" -r  -o"/home/erik/Documents/code/openFrameworks" -p"linux64,linux64" "/home/erik/Documents/code/openFrameworks/examples")`

The INSTALL_FROM_GITHUB.md readme also suggests running

projectGenerator -r -o"." examples

from the root folder which doesn’t work because projectGenerator is not in my path. If I point it to the binary (projectGenerator-linux64/projectGenerator) it just starts the GUI.

Running file projectGenerator yields both for the GUI binary and for the binary in resources/app/app/:

projectGenerator: Mach-O 64-bit x86_64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|WEAK_DEFINES|BINDS_TO_WEAK|PIE|HAS_TLV_DESCRIPTORS>

but the latter doesn’t execute. However, running objdump -f on both of them gives me

projectGenerator:     filformat elf64-x86-64
arkitektur: i386:x86-64, flaggor 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
startadress 0x0000000000508848

for the GUI one, but “Format not recognized” for the other. Maybe it’s corrupted?

0.9.8 won’t work for debian stretch, the version of poco we used is not compatible anymore, it won’t even compile.

have you tried running compilePG.sh in the version from github?, that should compile the project generator

After realising that some dependencies had been added and I needed to run the github master version of scripts/linux/debian/install_dependencies.sh (may I suggest adding that to the INSTALL_FROM_GITHUB readme?) the compilePG.sh script succeeds! I then managed to build the project generator app following OF/apps/projectGenerator/frontend/readme.md and it seems to work, as does the OF/scripts/linux/buildAllExamples.sh script. Brilliant, thanks!