Opened 13 years ago

Closed 13 years ago

#27343 closed defect (fixed)

qt4-mac @4.7.1 +universal Portfile referring to obsolete universal_sysroot

Reported by: corwin.amber@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc:
Port: qt4-mac

Description

Since the use of universal_sysroot for compiling backward-compatible binaries has been dropped from the MacPorts trunk, the recommended method according to #19875 is to use macosx_deployment_target. The Qt-4 Portfile ignores this variable and sets ${SDK} and ${MACOSX_DEPLOYMENT_TARGET} through use of ${os.version}, which causes the linker to fail.

Attempted on 10.6.4 with macosx_deployment_target == 10.5.

Attachments (2)

qt4-mac-Portfile.diff (3.7 KB) - added by michaelld (Michael Dickens) 13 years ago.
"svn diff" of 'qt4-mac' Portile, hopefully allowing the user to set TARGET and SDK
qt4-mac-Portfile.2.diff (2.8 KB) - added by michaelld (Michael Dickens) 13 years ago.
2nd try: "svn diff" of 'qt4-mac' Portile, hopefully allowing the user to set TARGET and SDK

Download all attachments as: .zip

Change History (9)

comment:1 Changed 13 years ago by michaelld (Michael Dickens)

Owner: changed from macports-tickets@… to michaelld@…

Can you try the attached patch & see if it does what you want?

Changed 13 years ago by michaelld (Michael Dickens)

Attachment: qt4-mac-Portfile.diff added

"svn diff" of 'qt4-mac' Portile, hopefully allowing the user to set TARGET and SDK

comment:2 Changed 13 years ago by mf2k (Frank Schima)

Keywords: deployment removed
Port: qt4-mac added

comment:3 Changed 13 years ago by jmroot (Joshua Root)

You should leave out all that info exists stuff; universal_target and universal_sysroot are gone for good. The only thing you really need to care about is macosx_deployment_target. Note that there is a configure.sdkroot variable which will be nonempty in situations where an SDK is needed, which basically means when $macosx_deployment_target != $macosx_version, or when building universal on a ppc tiger machine.

comment:4 Changed 13 years ago by corwin.amber@…

I can confirm that this patch works. These are the debug messages I got from the ui_msg's:

--->  Extracting qt4-mac
--->  Applying patches to qt4-mac
Using 'macosx_deployment_target' to get TARGET: '10.5'
TARGET is '10.5'
--->  Configuring qt4-mac
Using 'configure.sdkroot' for SDK: '/Developer/SDKs/MacOSX10.5.sdk'
--->  Building qt4-mac

Changed 13 years ago by michaelld (Michael Dickens)

Attachment: qt4-mac-Portfile.2.diff added

2nd try: "svn diff" of 'qt4-mac' Portile, hopefully allowing the user to set TARGET and SDK

comment:5 Changed 13 years ago by michaelld (Michael Dickens)

OK; per your recommendations I've reworked the patch & attached the new one that doesn't use the universal_FOO stuff but still makes sure the variables TARGET and SDK are set. Please give it a whirl / view & see if it meets all of the necessary criteria.

comment:6 Changed 13 years ago by jmroot (Joshua Root)

Looks correct, but you really don't need the TARGET variable. You can assume that macosx_deployment_target exists and has a reasonable value. (It'll just be empty on non-Darwin platforms, not that you're required to care about those anyway.)

comment:7 Changed 13 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: newclosed

Fixed in r74980. I left the TARGET stuff for now; might change it later ...

Note: See TracTickets for help on using tickets.