Opened 8 years ago

Closed 8 years ago

#38209 closed defect (fixed)

graphite2: i386 ppc universal build fails on Intel

Reported by: ryandesign (Ryan Schmidt) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc: nerdling (Jeremy Lavergne)
Port: graphite2

Description

Jeremy reported to me by email that graphite2 +universal fails to build on an Intel Mac when ppc is in universal_archs, with an error which I already reported upstream here:

http://sourceforge.net/tracker/?func=detail&aid=3593055&group_id=66144&atid=513479

The problem is the segment caching code, which (for some reason which the developer didn't understand) fails to build on PowerPC. He said this code is only used by libreoffice, and then only by its non-Mac builds, so there is nothing that would need this code on OS X. And we don't have libreoffice in MacPorts anyway.

I thought I had fixed the problem in r101970 by disabling the segment caching code in a "platform powerpc" block, but I neglected to realize that the problem would also affect universal builds done on an Intel Mac but including a PowerPC component.

Change History (1)

comment:1 Changed 8 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: newclosed

I suggested that we could use the muniversal portgroup and its merger_configure_args array to turn off the segment caching code on the PowerPC builds only. First I had to fix the muniversal portgroup to work better with the cmake portgroup: r103445. Then I found that although the build would work, the merging in the destroot would fail:

Error: org.macports.destroot for port graphite2 returned: /opt/local/lib/libgraphite2.la differs in /opt/local/var/macports/build/_Users_rschmidt_macports_dports_graphics_graphite2/graphite2/work/destroot-powerpc and /opt/local/var/macports/build/_Users_rschmidt_macports_dports_graphics_graphite2/graphite2/work/destroot-intel and cannot be merged

But the difference was only in a comment line which for some reason contained the absolute path to the .la file in its build directory. Fixed by patching the cmake file that generated the .la file.

r103446

Note: See TracTickets for help on using tickets.