Error when trying to run compilePG.sh following the installation guide for linux

#1

Hi,

I am trying to get started with openframworks, but am having trouble during installation. I wasn’t sure if this should be posted in beginners or bugs,errors category but here it is. I tried searching the forums but didn’t know if this was a related post or not. I am following the guide for linux but when I try to run

./compilePG.sh

I receive the following error message:

/home/isa/of_v0.10.1_linux64gcc5_release/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:403: recipe for target 'bin/projectGenerator' failed
make[1]: *** [bin/projectGenerator] Error 1
make[1]: Leaving directory '/home/isa/of_v0.10.1_linux64gcc5_release/apps/projectGenerator/commandLine'
/home/isa/of_v0.10.1_linux64gcc5_release/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:124: recipe for target 'Release' failed
make: *** [Release] Error 2
make: Leaving directory '/home/isa/of_v0.10.1_linux64gcc5_release/apps/projectGenerator/commandLine'
There has been a problem compiling the command line projectGenerator.
Please report this problem in the forums.
#2
  • it seems that you are using the gcc5 version of OF, unless you are using an old distribution you will usually need the gcc6 version

  • In some very recent distributions, there’s a known problem that is already solved if you use the nightly buids

  • The real error is not in the output you are posting, can you post a little more of the output until you find something that really shows the error? you should look for a message starting with “error:”

#3

Thank you for the reply.
I think the first error appear from here.

/home/isa/of_v0.10.1_linux64gcc5_release/addons/ofxPoco/libs/poco/lib/linux64/libPocoXML.a(DOMWriter.o):DOMWriter.cpp:function Poco::XML::DOMWriter::writeNode(std::string const&, Poco::XML::Node const*): error: undefined reference to 'Poco::FileOutputStream::FileOutputStream(std::string const&, std::_Ios_Openmode)'
/home/isa/of_v0.10.1_linux64gcc5_release/addons/ofxPoco/libs/poco/lib/linux64/libPocoXML.a(AbstractContainerNode.o):AbstractContainerNode.cpp:function Poco::XML::AbstractContainerNode::findNode(__gnu_cxx::__normal_iterator<char const*, std::string>&, __gnu_cxx::__normal_iterator<char const*, std::string> const&, Poco::XML::Node const*, Poco::XML::NamespaceSupport const*): error: undefined reference to 'Poco::NumberParser::parse(std::string const&, char)'
/home/isa/of_v0.10.1_linux64gcc5_release/addons/ofxPoco/libs/poco/lib/linux64/libPocoXML.a(EntityResolverImpl.o):EntityResolverImpl.cpp:function Poco::XML::EntityResolverImpl::resolveSystemId(std::string const&): error: undefined reference to 'Poco::URIStreamOpener::open(std::string const&) const'
/home/isa/of_v0.10.1_linux64gcc5_release/addons/ofxPoco/libs/poco/lib/linux64/libPocoXML.a(ParserEngine.o):ParserEngine.cpp:function Poco::XML::ParserEngine::handleUnknownEncoding(void*, char const*, XML_Encoding*): error: undefined reference to 'Poco::TextEncoding::find(std::string const&)'
/home/isa/of_v0.10.1_linux64gcc5_release/addons/ofxPoco/libs/poco/lib/linux64/libPocoXML.a(ParserEngine.o):ParserEngine.cpp:function Poco::XML::ParserEngine::handleExternalEntityRef(XML_ParserStruct*, char const*, char const*, char const*, char const*): error: undefined reference to 'Poco::URI::URI(std::string const&)'
/home/isa/of_v0.10.1_linux64gcc5_release/addons/ofxPoco/libs/poco/lib/linux64/libPocoXML.a(ParserEngine.o):ParserEngine.cpp:function Poco::XML::ParserEngine::handleExternalEntityRef(XML_ParserStruct*, char const*, char const*, char const*, char const*): error: undefined reference to 'Poco::URI::resolve(std::string const&)'
/home/isa/of_v0.10.1_linux64gcc5_release/addons/ofxPoco/libs/poco/lib/linux64/libPocoXML.a(ParserEngine.o):ParserEngine.cpp:function Poco::XML::ParserEngine::handleExternalEntityRef(XML_ParserStruct*, char const*, char const*, char const*, char const*): error: undefined reference to 'Poco::URI::toString() const'
/home/isa/of_v0.10.1_linux64gcc5_release/addons/ofxPoco/libs/poco/lib/linux64/libPocoXML.a(ParserEngine.o):ParserEngine.cpp:function Poco::XML::ParserEngine::handleExternalEntityRef(XML_ParserStruct*, char const*, char const*, char const*, char const*): error: undefined reference to 'Poco::URI::toString() const'
collect2: error: ld returned 1 exit status
/home/isa/of_v0.10.1_linux64gcc5_release/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:403: recipe for target 'bin/projectGenerator' failed
make[1]: *** [bin/projectGenerator] Error 1
make[1]: Leaving directory '/home/isa/of_v0.10.1_linux64gcc5_release/apps/projectGenerator/commandLine'
/home/isa/of_v0.10.1_linux64gcc5_release/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:124: recipe for target 'Release' failed
make: *** [Release] Error 2
make: Leaving directory '/home/isa/of_v0.10.1_linux64gcc5_release/apps/projectGenerator/commandLine'
There has been a problem compiling the command line projectGenerator.
Please report this problem in the forums.

Would the best solution be to install the gcc6 version instead? Or nightly builds?

#4

i think the gcc6 version will solve the issue, what distribution are you using?

#5

Then I will try that. Thank you.
I am using Mint 18.3.

#6

yes you shouldn’t need the nightly builds for that distro / version

#7

I think the errors decreased but I still can’t compile it properly. Is it worth trying the nightly builds?

/home/isa/of_v0.10.1_linux64gcc6_release/addons/ofxPoco/libs/poco/lib/linux64/libPocoXML.a(AbstractContainerNode.o):AbstractContainerNode.cpp:function Poco::XML::AbstractContainerNode::findNode(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, Poco::XML::Node const*, Poco::XML::NamespaceSupport const*): error: undefined reference to 'Poco::NumberParser::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char)'
collect2: error: ld returned 1 exit status
/home/isa/of_v0.10.1_linux64gcc6_release/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:403: recipe for target 'bin/projectGenerator' failed
make[1]: *** [bin/projectGenerator] Error 1
make[1]: Leaving directory '/home/isa/of_v0.10.1_linux64gcc6_release/apps/projectGenerator/commandLine'
/home/isa/of_v0.10.1_linux64gcc6_release/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:124: recipe for target 'Release' failed
make: *** [Release] Error 2
make: Leaving directory '/home/isa/of_v0.10.1_linux64gcc6_release/apps/projectGenerator/commandLine'
There has been a problem compiling the command line projectGenerator.
Please report this problem in the forums.

#8

have you re-run the install_dependencies script?

#9

Yes

#10

after downloading the gcc6 version? in that case can you type from the root of the OF folder:

cat addons/ofxPoco/addon_config.mk

and post the output?

#11

Yeah. This is the output I got.

# All variables and this file are optional, if they are not present the PG and the
# makefiles will try to parse the correct values from the file system.
#
# Variables that specify exclusions can use % as a wildcard to specify that anything in
# that position will match. A partial path can also be specified to, for example, exclude
# a whole folder from the parsed paths from the file system
#
# Variables can be specified using = or +=
# = will clear the contents of that variable both specified from the file or the ones parsed
# from the file system
# += will add the values to the previous ones in the file or the ones parsed from the file
# system
#
# The PG can be used to detect errors in this file, just create a new project with this addon
# and the PG will write to the console the kind of error and in which line it is

meta:
	ADDON_NAME = ofxPoco
	ADDON_DESCRIPTION = Addon to maintain legacy projects still using POCO
	ADDON_AUTHOR = OF Team
	ADDON_TAGS = "poco"
	ADDON_URL =

common:
	# dependencies with other addons, a list of them separated by spaces
	# or use += in several lines
	# ADDON_DEPENDENCIES =

	# include search paths, this will be usually parsed from the file system
	# but if the addon or addon libraries need special search paths they can be
	# specified here separated by spaces or one per line using +=
	ADDON_INCLUDES = libs/poco/include
	ADDON_INCLUDES += src

	# any special flag that should be passed to the compiler when using this
	# addon
	# ADDON_CFLAGS =

	# any special flag that should be passed to the linker when using this
	# addon, also used for system libraries with -lname
	# ADDON_LDFLAGS =

	# linux only, any library that should be included in the project using
	# pkg-config
	# ADDON_PKG_CONFIG_LIBRARIES =

	# osx/iOS only, any framework that should be included in the project
	# ADDON_FRAMEWORKS =

	# source files, these will be usually parsed from the file system looking
	# in the src folders in libs and the root of the addon. if your addon needs
	# to include files in different places or a different set of files per platform
	# they can be specified here
	# ADDON_SOURCES =

	# some addons need resources to be copied to the bin/data folder of the project
	# specify here any files that need to be copied, you can use wildcards like * and ?
	# ADDON_DATA =

	# when parsing the file system looking for libraries exclude this for all or
	# a specific platform
	# ADDON_LIBS_EXCLUDE =


	ADDON_SOURCES_EXCLUDE = libs/poco/include/%

linux:
    ADDON_LDFLAGS = -lPocoNetSSL
	ADDON_LDFLAGS += -lPocoNet
	ADDON_LDFLAGS += -lPocoCrypto
	ADDON_LDFLAGS += -lPocoUtil
	ADDON_LDFLAGS += -lPocoXML
	ADDON_LDFLAGS += -lPocoFoundation
	ADDON_LDFLAGS += -lcrypto
	ADDON_LDFLAGS += -lssl

linux64:
    ADDON_LDFLAGS = -lPocoNetSSL
	ADDON_LDFLAGS += -lPocoNet
	ADDON_LDFLAGS += -lPocoCrypto
	ADDON_LDFLAGS += -lPocoUtil
	ADDON_LDFLAGS += -lPocoXML
	ADDON_LDFLAGS += -lPocoFoundation
	ADDON_LDFLAGS += -lcrypto
	ADDON_LDFLAGS += -lssl

linuxarmv6l:
	ADDON_LDFLAGS = -lPocoNetSSL
	ADDON_LDFLAGS += -lPocoNet
	ADDON_LDFLAGS += -lPocoCrypto
	ADDON_LDFLAGS += -lPocoUtil
	ADDON_LDFLAGS += -lPocoXML
	ADDON_LDFLAGS += -lPocoFoundation
	ADDON_LDFLAGS += -lcrypto
	ADDON_LDFLAGS += -lssl

linuxarmv7l:
	ADDON_LDFLAGS = -lPocoNetSSL
	ADDON_LDFLAGS += -lPocoNet
	ADDON_LDFLAGS += -lPocoCrypto
	ADDON_LDFLAGS += -lPocoUtil
	ADDON_LDFLAGS += -lPocoJSON
	ADDON_LDFLAGS += -lPocoXML
	ADDON_LDFLAGS += -lPocoFoundation
	ADDON_LDFLAGS += -lcrypto
	ADDON_LDFLAGS += -lssl

android/armeabi-v7a:
	ADDON_INCLUDES = libs/poco/include/%
	ADDON_INCLUDES += src
	ADDON_LIBS = libs/poco/lib/android/armeabi-v7a/libPocoNetSSL.a
	ADDON_LIBS += libs/poco/lib/android/armeabi-v7a/libPocoNet.a
	ADDON_LIBS += libs/poco/lib/android/armeabi-v7a/libPocoCrypto.a
	ADDON_LIBS += libs/poco/lib/android/armeabi-v7a/libPocoUtil.a
	ADDON_LIBS += libs/poco/lib/android/armeabi-v7a/libPocoJSON.a
	ADDON_LIBS += libs/poco/lib/android/armeabi-v7a/libPocoXML.a
	ADDON_LIBS += libs/poco/lib/android/armeabi-v7a/libPocoFoundation.a

android/x86:
	ADDON_INCLUDES = libs/poco/include/%
	ADDON_INCLUDES += src
	ADDON_LIBS = libs/poco/lib/android/x86/libPocoNetSSL.a
	ADDON_LIBS += libs/poco/lib/android/x86/libPocoNet.a
	ADDON_LIBS += libs/poco/lib/android/x86/libPocoCrypto.a
	ADDON_LIBS += libs/poco/lib/android/x86/libPocoUtil.a
	ADDON_LIBS += libs/poco/lib/android/x86/libPocoJSON.a
	ADDON_LIBS += libs/poco/lib/android/x86/libPocoXML.a
	ADDON_LIBS += libs/poco/lib/android/x86/libPocoFoundation.a

osx:
	ADDON_INCLUDES += libs/openssl/include
	ADDON_LIBS = libs/poco/lib/osx/PocoNetSSL.a
	ADDON_LIBS += libs/poco/lib/osx/PocoNet.a
	ADDON_LIBS += libs/poco/lib/osx/PocoCrypto.a
	ADDON_LIBS += libs/poco/lib/osx/PocoUtil.a
	ADDON_LIBS += libs/poco/lib/osx/PocoJSON.a
	ADDON_LIBS += libs/poco/lib/osx/PocoXML.a
	ADDON_LIBS += libs/poco/lib/osx/PocoFoundation.a
	ADDON_LIBS += libs/openssl/lib/osx/crypto.a
	ADDON_LIBS += libs/openssl/lib/osx/ssl.a

ios:
	ADDON_INCLUDES += libs/openssl/include
	ADDON_LIBS = libs/poco/lib/ios/PocoNetSSL.a
	ADDON_LIBS += libs/poco/lib/ios/PocoNet.a
	ADDON_LIBS += libs/poco/lib/ios/PocoCrypto.a
	ADDON_LIBS += libs/poco/lib/ios/PocoUtil.a
	ADDON_LIBS += libs/poco/lib/ios/PocoJSON.a
	ADDON_LIBS += libs/poco/lib/ios/PocoXML.a
	ADDON_LIBS += libs/poco/lib/ios/PocoFoundation.a
	ADDON_LIBS += libs/openssl/lib/ios/crypto.a
	ADDON_LIBS += libs/openssl/lib/ios/ssl.a

tvos:
	ADDON_INCLUDES += libs/openssl/include
	ADDON_LIBS = libs/poco/lib/tvos/PocoNetSSL.a
	ADDON_LIBS += libs/poco/lib/tvos/PocoNet.a
	ADDON_LIBS += libs/poco/lib/tvos/PocoCrypto.a
	ADDON_LIBS += libs/poco/lib/tvos/PocoUtil.a
	ADDON_LIBS += libs/poco/lib/tvos/PocoJSON.a
	ADDON_LIBS += libs/poco/lib/tvos/PocoXML.a
	ADDON_LIBS += libs/poco/lib/tvos/PocoFoundation.a
	ADDON_LIBS += libs/openssl/lib/tvos/crypto.a
	ADDON_LIBS += libs/openssl/lib/tvos/ssl.a

msys2:
	ADDON_LDFLAGS = -lPocoNetSSL
	ADDON_LDFLAGS += -lPocoNet
	ADDON_LDFLAGS += -lPocoCrypto
	ADDON_LDFLAGS += -lPocoUtil
	ADDON_LDFLAGS += -lPocoJSON
	ADDON_LDFLAGS += -lPocoXML
	ADDON_LDFLAGS += -lPocoFoundation
	ADDON_LDFLAGS += -lcrypto
	ADDON_LDFLAGS += -lssl
	ADDON_CFLAGS = -DPOCO_STATIC

vs:
	ADDON_CFLAGS = -DPOCO_STATIC
	ADDON_CFLAGS += -DPOCO_NO_AUTOMATIC_LIBS
	ADDON_LIBS += iphlpapi.lib

#12

oh, i see, the problem is that we don’t really officially support mint, the ubuntu script only detects this if you are on ubuntu and won’t fix the config on mint. to fix it you need to copy scripts/linux/extra/poco_config.mk to addons/ofxPoco/addon_config.mk

That should solve this issue.

#13

I see. Where in addon_config.mk should I add the line?

#14

just overwrtie the whole file

#15

I copied scripts/linux/extra/poco_config.mk to addons/ofxPoco/addon_config.mk but now I receive many errors with undefined references.

error: undefined reference to 'Poco::NumberParser::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char)'
collect2: error: ld returned 1 exit status
/home/isa/of_v0.10.1_linux64gcc6_release/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:403: recipe for target 'bin/projectGenerator' failed
make[1]: *** [bin/projectGenerator] Error 1
make[1]: Leaving directory '/home/isa/of_v0.10.1_linux64gcc6_release/apps/projectGenerator/commandLine'
/home/isa/of_v0.10.1_linux64gcc6_release/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:124: recipe for target 'Release' failed
make: *** [Release] Error 2
make: Leaving directory '/home/isa/of_v0.10.1_linux64gcc6_release/apps/projectGenerator/commandLine'
There has been a problem compiling the command line projectGenerator.
Please report this problem in the forums.
#16

I’m not sure what might be going on then. In any case in linux you don’t need the project generator, just install the qt creator wizard or copy the Makefile and config.make file into a new project and it’ll work right away. compiling examples should work now too as well just opening any of the examples from qt creator

1 Like
#17

All right, thank you!