[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