Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#63410 closed defect (fixed)

pango @1.42.4: Undefined symbols _CFArrayGetValueAtIndex _CFLocaleCopyPreferredLanguages _CFRelease _CFStringGetCString

Reported by: randys8362 Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc: evanmiller (Evan Miller), mascguy (Christopher Nielsen)
Port: pango

Description

port install pango fails

Attachments (1)

main.log (367.7 KB) - added by randys8362 3 years ago.
_Users_a0412066_mports_macports-ports_x11_pango/pango/main.log

Download all attachments as: .zip

Change History (14)

Changed 3 years ago by randys8362

Attachment: main.log added

_Users_a0412066_mports_macports-ports_x11_pango/pango/main.log

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

Owner: set to ryandesign
Port: pango added; x11/pango removed
Status: newassigned
Summary: Failed to build pango: command execution failedpango @1.42.4: Undefined symbols _CFArrayGetValueAtIndex _CFLocaleCopyPreferredLanguages _CFRelease _CFStringGetCString

The log says:

:info:build Undefined symbols for architecture x86_64:
:info:build   "_CFArrayGetValueAtIndex", referenced from:
:info:build       _pango_language_get_default in pango-language.o
:info:build   "_CFLocaleCopyPreferredLanguages", referenced from:
:info:build       _pango_language_get_default in pango-language.o
:info:build   "_CFRelease", referenced from:
:info:build       _pango_language_get_default in pango-language.o
:info:build   "_CFStringGetCString", referenced from:
:info:build       _pango_language_get_default in pango-language.o
:info:build ld: symbol(s) not found for architecture x86_64

I don't recognize this failure. It built fine for us back when pango was updated to this version a long time ago, but it's possible that recent updates in one of pango's dependencies might have caused this new problem. Most other users get binaries from our server and would not notice a build failure; you use a nonstandard prefix so you build everything from source and would be among the first to discover such breakage.

comment:2 Changed 3 years ago by evanmiller (Evan Miller)

Looks like it's missing a -framework CoreFoundation somewhere in the linker flags.

comment:3 Changed 3 years ago by evanmiller (Evan Miller)

Cc: evanmiller added

comment:4 Changed 3 years ago by randys8362

I don't have sudo on my company owned macbook so my choice is to use a custom prefix or use the "blessed" homebrew.

I tried adding something like:

pango_deps += dependency('appleframeworks', modules: [ 'CoreFoundation', 'ApplicationServices' ])

but doesn't seem to help.

Also seems to be a problem only after upgrading to Big Sur.

Last edited 3 years ago by randys8362 (previous) (diff)

comment:5 Changed 3 years ago by evanmiller (Evan Miller)

It looks like they're up to version 1.49.0. Might be worth getting pango-devel updated to that number and seeing if that fixes things.

comment:6 Changed 3 years ago by evanmiller (Evan Miller)

Looks like the pango upgrade discussion is over here: https://trac.macports.org/ticket/61814

A new meson build system was introduced in 1.43 so this would likely fix issues with configure etc.

comment:7 Changed 3 years ago by randys8362

A simple change to the pango/makefile got it working. I don't understand make enough to even guess at which file needs to be patched or what the change should really look like.

comment:8 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:9 in reply to:  5 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to evanmiller:

It looks like they're up to version 1.49.0. Might be worth getting pango-devel updated to that number and seeing if that fixes things.

I just updated pango-devel to 1.49.0 this morning, and buildbot binaries are available across-the-board.

Randy, once you run port selfupdate, the latest version should be available to you.

Can you test it out, and let us know if it works?

comment:10 Changed 3 years ago by mascguy (Christopher Nielsen)

Randy, there are a few other details I forgot to mention:

  • Before attempting to install pango-devel, forcibly uninstall harfbuzz via port -f uninstall harfbuzz. Otherwise you'll be presented with an error. (When you install pango-devel, it will install the latest version of harfbuzz - harfbuzz-devel. That's necessary, and expected.)
  • Assuming pango-devel installs successfully, you'll want to run port -N rev-upgrade afterward. That will check for any broken ports, and rebuild them if necessary.

Let us know how it goes!

Last edited 3 years ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:11 Changed 3 years ago by randys8362

--->  Fetching distfiles for harfbuzz-devel
--->  Attempting to fetch harfbuzz-2.9.0.tar.xz from https://distfiles.macports.org/harfbuzz
--->  Verifying checksums for harfbuzz-devel
--->  Extracting harfbuzz-devel
--->  Configuring harfbuzz-devel
--->  Building harfbuzz-devel
--->  Staging harfbuzz-devel into destroot
--->  Installing harfbuzz-devel @2.9.0_0
--->  Activating harfbuzz-devel @2.9.0_0
--->  Cleaning harfbuzz-devel
--->  Fetching distfiles for pango-devel
--->  Attempting to fetch pango-1.49.0.tar.xz from https://distfiles.macports.org/pango
--->  Verifying checksums for pango-devel
--->  Extracting pango-devel
--->  Configuring pango-devel
--->  Building pango-devel
--->  Staging pango-devel into destroot
--->  Installing pango-devel @1.49.0_0+quartz+x11
--->  Activating pango-devel @1.49.0_0+quartz+x11
--->  Cleaning pango-devel
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.

Thanks

Last edited 3 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:12 Changed 3 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed

Beautiful, glad we were able to help fix your issue Randy!

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

Well I guess the pango port hasn't been fixed yet, but will be once it's updated to the new version.

Note: See TracTickets for help on using tickets.