Opened 11 years ago

Closed 11 years ago

#39572 closed defect (fixed)

harfbuzz error

Reported by: pleburan45@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc:
Port: harfbuzz

Description (last modified by ryandesign (Ryan Carsten Schmidt))

when I upgrade harfbuzz package the error is below:

[redundant log removed by admin]

Attachments (1)

main.log (91.5 KB) - added by pleburan45@… 11 years ago.
error message harfbuzz build

Download all attachments as: .zip

Change History (9)

Changed 11 years ago by pleburan45@…

Attachment: main.log added

error message harfbuzz build

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

Description: modified (diff)
Keywords: error build harfbuzz removed
Owner: changed from macports-tickets@… to ryandesign@…

I have not seen this problem before. It installs fine for me on all systems, 10.4 through 10.8.

Your configuration summary says:

Build configuration:

Unicode callbacks (you want at least one):
        Glib:                   true
        ICU:                    false
        UCDN:                   false

Font callbacks (the more the better):
        FreeType:               true

Tools used for command-line utilities:
        Cairo:                  true

Additional shapers (the more the better):
        Graphite2:              false

Test / platform shapers (not normally needed):
        CoreText:               false
        ICU Layout Engine:      false
        Old HarfBuzz:           false
        Uniscribe:              false

Mine says:

Build configuration:

Unicode callbacks (you want at least one):
	Glib:			true
	ICU:			true
	UCDN:			false

Font callbacks (the more the better):
	FreeType:		true

Tools used for command-line utilities:
	Cairo:			true

Additional shapers (the more the better):
	Graphite2:		false

Test / platform shapers (not normally needed):
	CoreText:		false
	ICU Layout Engine:	false
	Old HarfBuzz:		false
	Uniscribe:		false

So, you're missing icu. I wonder why that is. (I also wonder why we're both missing graphite2, but that's another matter.)

Can you show the output of these commands:

port -v installed icu
icu-config --version
otool -L /opt/local/lib/libicuuc.dylib /opt/local/lib/libicudata.dylib
lipo -info /opt/local/lib/libicuuc.dylib /opt/local/lib/libicudata.dylib

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

Looks like that's probably a separate issue so I've filed #39574.

comment:3 Changed 11 years ago by pleburan45@…

this is the output:

$ port -v installed icu
icu @51.2_0+universal (active) platform='darwin 11' archs='i386 x86_64'

$ icu-config- --version
icu-config-i386    icu-config-x86_64  
51.2

$ otool -L /opt/local/lib/libicuuc.dylib /opt/local/lib/libicudata.dylib 
/opt/local/lib/libicuuc.dylib:
	/opt/local/lib/libicuuc.51.dylib (compatibility version 51.0.0, current version 51.2.0)
	/opt/local/lib/libicudata.51.dylib (compatibility version 51.0.0, current version 51.2.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
/opt/local/lib/libicudata.dylib:
	/opt/local/lib/libicudata.51.dylib (compatibility version 51.0.0, current version 51.2.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

$ lipo -info /opt/local/lib/libicuuc.dylib /opt/local/lib/libicudata.dylib 
Architectures in the fat file: /opt/local/lib/libicuuc.dylib are: i386 x86_64 
Architectures in the fat file: /opt/local/lib/libicudata.dylib are: i386 x86_64 
Last edited 11 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:4 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

That looks normal, except: did you run "icu-config- --version" as you showed above, or "icu-config --version" as I asked? The program should be called "icu-config" not "icu-config-" but your main.log file shows icu-config could not be found. If the program has somehow been renamed to have a dash at the end of its name, that would explain the problem, though that would be a strange thing to have happen. It would help if you attach the file /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_harfbuzz/harfbuzz/work/harfbuzz-0.9.18/config.log which might contain more details about how harfbuzz tried (and failed) to find icu.

There were a couple related problems. icu is optional for harfbuzz, so when it couldn't find your icu, it continued to try to build without icu support. I never intended for that to happen in MacPorts; I intended icu support to be always-on. Also there was a bug in the harfbuzz build system that made it fail when icu was not used. They've fixed it but haven't released a new version yet. I applied the patch to the port. Also I've separated icu support into its own harfbuzz-icu port, as the developers of harfbuzz now recommend. These changes are in r107441. This means if you "sudo port selfupdate" and try again to install harfbuzz, it should now succeed, since icu is no longer needed. However, there still seems to be something wrong with your icu installation. If you try to install the new harfbuzz-icu port, it should fail, as might other ports that need icu, so it would be good to solve that mystery by examining the config.log.

comment:5 in reply to:  4 Changed 11 years ago by pleburan45@…

that's right, I'm sorry, wrong copy paste. icu-config not found, I'll try above solution.

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

Have you been able to resolve this issue?

comment:7 in reply to:  6 Changed 11 years ago by pleburan45@…

I've resolve this issue, but there 's another problem on graphviz package ;(

Replying to ryandesign@…:

Have you been able to resolve this issue?

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

Resolution: fixed
Status: newclosed

Ok, if you haven't already, please file a new bug report about that. I'm pretty familiar with Graphviz and it builds fine on all my systems so hopefully we can quickly get to the bottom of that.

Note: See TracTickets for help on using tickets.