[MacPorts] #25459: qt4-mac - 4.6.3 Install error
MacPorts
noreply at macports.org
Wed Jun 30 14:13:40 PDT 2010
#25459: qt4-mac - 4.6.3 Install error
--------------------------------+-------------------------------------------
Reporter: jiangdzh@… | Owner: michaelld@…
Type: defect | Status: new
Priority: High | Milestone:
Component: ports | Version: 1.9.1
Keywords: | Port: qt4-mac
--------------------------------+-------------------------------------------
Comment(by michaelld@…):
So I think the issues are:
* For system-provided features (e.g., sqlite3), the include header path is
added to the CXXFLAGS, which comes immediately after the ${CXX} command
and before ${DEFINES}. Qt provides a variable INCLUDEPATH that is used
for all of the other includes. So, I've created a post-patch reinplace to
get Qt into appending any external header path to the end of the
INCLUDEPATH instead of it being the first path -- this should provide a
temporary (and reasonably quick) solution. The values being appended are
for CFLAGS, so ideally they would be split into "-I stuff" and "the rest"
and appended to those variables separately -- takes too long to work out
how to do that, and this patch should work (I'm testing it right now to
verify that ${prefix}/include is listed -after- the other -I directories).
* For many of Qt's 3rd-party extensions, #include's just use the filename,
e.g.,
{{{
#include "KURL.h"
}}}
instead of a subdirectory that would better define the ownership of the
file, e.g.,
{{{
#include "platform/KURL.h"
}}}
When developing a modern reasonably complex project that expects to
#include from system or user-installed headers, it's -always- wise to both
install into and use directory names for those headers in order to avoid
#include'ing the incorrect file.
* With respect to the previous point, the 'sqlite3' port installs 2 header
files directly into ${prefix}/include -- it's this directory that Qt is
picking up and including in the CXXFLAGS before all other header paths.
So, moving sqlite3's headers into ${prefix}/include/sqlite3 would probably
fix this issue as well.
--
Ticket URL: <http://trac.macports.org/ticket/25459#comment:32>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list