[solved] Problems because of gcc-6 + poco

edit:
I think I might have just screwed up royally, as even the installation of OF that WAS working before doesn’t work anymore. Maybe a reinstall of the OS will be best…


I intially posted this in an existing thread on Poco, but as that thread was marked solved I thought it would make more sense to open a new one. Feel free to correct me and merge them.

I’m still having problems with Poco. I had OF 0.9.8 running without any problems on Jessie for a long time but now wanted to use the most recent version (either a nightly or the Git repo) because of GLM and an addon (ofxopenvr).

Now, whatever I try to do (and with whatever version I download), I keep getting this error when running ./scripts/linux/debian/install_dependencies.sh:

src/CipherImpl.cpp:80:21: error: field '_ctx' has incomplete type 'EVP_CIPHER_CTX {aka evp_cipher_ctx_st}

I’ve tries a bunch of different options, like using the files from the openFrameworksLibs file mentioned by @arturo in another thread and adding some flags mentioned in an issue on the Poco repo (but it would’t recognize the -fPIC part (and I’m actually not even sure if it would help)).

It shouldn’t try to recompile poco if I’d use gcc < 5, but if I try to uninstall gcc 6 (it seems I have both 4.8 and 6 installed) it will also uninstall a LOT of other things, like Arduino and Virtualbox, which doesn’t make sense to me.

I’m running Debian Stretch (‘testing’) since a couple of days and might just reinstall to go back to jessie (I installed testing to see if there would be better HTC Vive support) which might solve this problem as well, but I was wondering if anyone has a suggestion for other options to try.

if you are using the nightly builds it should work right away, you shouldn’t try to uninstall anything in the system, just leave the default gcc and download the correct version from the downloads page. for example for gcc6 today:

http://ci.openframeworks.cc/versions/nightly/of_v20170414_linux64gcc6_nightly.tar.gz

I think I’m just stupid and was using the linux64 version which I always use on my other device (which runs Jessie) instead of the gcc6 version which this device needs… I’m sorry I can’t read. I’ll try contribute some more example code to the reference in return :wink:

I noticed is that with this version ./install_dependencies.sh still wants to recompile Poco, which fails. At this point I’m not sure if I’m even supposed to try and run this (normally I would?) but to be complete, this is what I was trying.

  1. Run ./install_dependencies.sh
  2. Error: apothecary is missing. Fix: copied apothecary from the git version.
  3. Run again
  4. Error: Unbound variable $CXX. Quick fix: Added CXX=/usr/bin/gcc to poco.sh (this is not a problem with OF but with Poco expecting this environment variable to exist)
  5. Run again
  6. The error it all started with: error: field '_ctx' has incomplete type 'EVP_CIPHER_CTX (which I think you mentioned before comes from the latest openssl not being compatible?)

ah, no, no it shouldn’t be trying to recompile poco anymore. i changed it for ubuntu but forgot to remove it for debian