Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#41612 closed defect (fixed)

gr-fosphor fails to build with freetype 2.5.1

Reported by: kgarrels Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: michaelld (Michael Dickens)
Port: gr-fosphor

Description

logfile attached

Attachments (1)

main.log (205.0 KB) - added by kgarrels 7 years ago.
logfile

Download all attachments as: .zip

Change History (10)

Changed 7 years ago by kgarrels

Attachment: main.log added

logfile

comment:1 Changed 7 years ago by kgarrels

build says freetype2 not found.

comment:2 Changed 7 years ago by ryandesign (Ryan Schmidt)

Cc: michaelld@… added
Owner: changed from macports-tickets@… to ryandesign@…
Port: gr-fosphor added
Summary: gr-fosphor fails to build on OSX 10.9gr-fosphor fails to build with freetype 2.5.1

comment:3 Changed 7 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: newclosed

Fixed in r114140.

Michael, could you report this fix to the developers? I don't have an account in their issue tracker yet.

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

Thanks for the quick fix. Yes, I'll report it upstream; no problems. They are very responsive.

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

Really fixed in r114159.

comment:6 Changed 7 years ago by ryandesign (Ryan Schmidt)

Thanks; my fix worked for me on Mavericks, and IIRC on the Mountain Lion buildbot but not the Lion or Snow Leopard buildbots, where it failed, finding an older freetype in /usr/X11R6. (Mountain Lion and later do not ship with any X11 in /usr.) I was not able to understand why this happened because the string /usr/X11R6 does not occur within the gr-fosphor source code. cmake is still somewhat baffling to me. Glad you found a fix.

As part of my fix, I had removed the paths /usr/include/freetype2 and /usr/local/include/freetype2; we never want MacPorts to find freetype there, nor do we want MacPorts to find any dependencies in system directories in general. You've reinstated those paths so future incompatible updates to freetype might result in finding freetype in system locations again. Also I had changed the check to look for ft2build.h, because this file exists in all recent versions of freetype. You changed it back to looking for freetype.h, whose location changed in freetype 2.5.1, so your change works for MacPorts but is not suitable for upstream use because it won't work with freetype earlier than 2.5.1.

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

The upstream developer and I are working on fixing this issue properly for freetype >= 2.5 and < 2.5, but, as you say, my change works within MacPorts, and avoids the older freetype in /usr/X11R6 as well as other system directories -- I'm providing the minimal patch required to get the job done efficiently. You will note that I moved the directory found by PKGCONFIG from PATHS to HINTS -- these are searched before typical system paths (which might include /usr/X11R6), while PATHS are searched after typical system paths. cmake can be quirky but powerful; you just have to know how to coerce it :) All of that said, we will likely switch to checking for ft2config.h since that's what he uses as the primary #include already, and hence it makes more sense to do so than to look for freetype.h; I'm sure we'll come to an agreement on how to proceed in short order.

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

Cc: michaelld@… removed

Cc Me!

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

Cc: michaelld@… added

Cc Me!

Note: See TracTickets for help on using tickets.