#28270: ipe doesn't ensure it's UsingTheRightCompiler --------------------------------------+------------------------------------- Reporter: ryandesign@… | Owner: m.thon@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Resolution: fixed | Keywords: Port: ipe | --------------------------------------+------------------------------------- Comment(by ryandesign@…): Actually, adding those default CXXFLAGS and LDFLAGS has caused problems when upgrading; for example, trying to upgrade the port from 7.0.13 to 7.0.14 I now get... {{{ DEBUG: Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_Users_rschmidt_macports_dports_graphics_ipe/work/.CC_PRINT_OPTIONS' CXXFLAGS='-O2 -arch x86_64' CPPFLAGS='-I/opt/local/include' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6' LDFLAGS='-L/opt/local/lib -arch x86_64' DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_graphics_ipe/work/ipe-7.0.14/src" && /usr/bin/make all IPEPREFIX=/opt/local MOC=/opt/local/bin/moc CXX=/usr/bin/g++-4.2' /usr/bin/make --directory=ipelib all mkdir -p ../../build/obj/ipelib; echo "" > ../../build/obj/ipelib/depend.mak; for f in ipebase.cpp ipeplatform.cpp ipegeo.cpp ipexml.cpp ipeattributes.cpp ipebitmap.cpp ipedct.cpp ipeshape.cpp ipegroup.cpp ipeimage.cpp ipetext.cpp ipepath.cpp ipereference.cpp ipeobject.cpp ipefactory.cpp ipestdstyles.cpp ipeiml.cpp ipepage.cpp ipepainter.cpp ipepdfparser.cpp ipepdfwriter.cpp ipepswriter.cpp ipestyle.cpp ipesnap.cpp ipeutils.cpp ipelatex.cpp ipedoc.cpp; do /usr/bin/g++-4.2 -MM -MT ../../build/obj/ipelib/${f%%.cpp}.o -I/opt/local/include -I../include -DIPEFONTMAP=\"/opt/local/share/ipe/7.0.14/fontmap.xml\" $f >> ../../build/obj/ipelib/depend.mak; done Compiling ipebase.cpp... /usr/bin/g++-4.2 -O2 -arch x86_64 -Wall -g -O2 -fPIC -I/opt/local/include -I../include -DIPEFONTMAP=\"/opt/local/share/ipe/7.0.14/fontmap.xml\" -c -o ../../build/obj/ipelib/ipebase.o ipebase.cpp ipebase.cpp:674: error: prototype for 'long int ipe::StringStream::tell() const' does not match any in class 'ipe::StringStream' /opt/local/include/ipebase.h:291: error: candidate is: virtual int ipe::StringStream::tell() const ipebase.cpp:674: error: 'long int ipe::StringStream::tell() const' cannot be overloaded /opt/local/include/ipebase.h:291: error: with 'virtual int ipe::StringStream::tell() const' ipebase.cpp:715: error: prototype for 'long int ipe::FileStream::tell() const' does not match any in class 'ipe::FileStream' /opt/local/include/ipebase.h:303: error: candidate is: virtual int ipe::FileStream::tell() const ipebase.cpp:715: error: 'long int ipe::FileStream::tell() const' cannot be overloaded /opt/local/include/ipebase.h:303: error: with 'virtual int ipe::FileStream::tell() const' make[1]: *** [../../build/obj/ipelib/ipebase.o] Error 1 }}} ...because some include file has changed in the new version, but -I/opt/local/include is telling it to look at the old version's headers first; if I fix the CXXFLAGS, a similar error occurs later because of the LDFLAGS. So I removed those again with the 7.0.14 update in r76017, and left just the archflags in CXXFLAGS and LDFLAGS. The port already seemed to know where to find the libraries and headers it needs, so there's no need to add that information to CXXFLAGS and LDFLAGS. -- Ticket URL: <https://trac.macports.org/ticket/28270#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS