Ticket #32722 (closed defect: fixed)
pango, pango-devel: build failure with cairo +quartz
| Reported by: | stealthjeff@… | Owned by: | ryandesign@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.0.3 |
| Keywords: | Cc: | blender3dartist@…, macports@…, suv-sf@…, an0nym@…, Tom.Schoonjans@…, macports1@…, cz@… | |
| Port: | pango, pango-devel |
Description (last modified by ryandesign@…) (diff)
Build fails on 10.7 (Lion) with XCode 4.2.1.
Also failed with configure.compiler=llvm-gcc-4.2
Also failed with configure.compiler=apple-gcc-4.2 configure.cxx=g++-apple-4.2
Text from main.log:
:info:build CC basic-coretext.lo :info:build /bin/sh ../../libtool --silent --tag=CC --mode=compile /opt/local/bin/gcc-apple-4.2 -DHAVE_CONFIG_H -I. -I../.. -DG_LOG_DOMAIN=\"Pango\" -DPANGO_ENABLE_ENGINE -DPANGO_ENABLE_DEBUG -I../.. -I../../pango -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include -D_REENTRANT -I/opt/local/include/cairo -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/pixman-1 -I/opt/local/include/freetype2 -I/opt/local/include/libpng14 -I/opt/local/include -pipe -O2 -arch x86_64 -arch i386 -Wall -c -o basic-coretext.lo basic-coretext.c :info:build CCLD pango-basic-fc.la :info:build CCLD pango-basic-coretext.la :info:build Undefined symbols for architecture x86_64: :info:build "_g_object_new", referenced from: :info:build _script_engine_create in basic-coretext.o :info:build "_pango_engine_shape_get_type", referenced from: :info:build _script_engine_init in basic-coretext.o :info:build "_g_type_module_register_type", referenced from: :info:build _script_engine_init in basic-coretext.o :info:build "_pango_font_get_glyph_extents", referenced from: :info:build _set_glyph in basic-coretext.o :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_core_text_font_get_type", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_type_check_instance_cast", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_core_text_font_get_ctfont", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_strndup", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_free", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_glyph_string_set_size", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_font_get_type", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_font_get_coverage", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_utf8_skip", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_is_zero_width", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_utf8_get_char", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_coverage_get", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_unichar_type", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_get_mirror_char", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_coverage_unref", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build ld: symbol(s) not found for architecture x86_64 :info:build collect2: ld returned 1 exit status :info:build Undefined symbols for architecture i386: :info:build "_g_object_new", referenced from: :info:build _script_engine_create in basic-coretext.o :info:build "_pango_engine_shape_get_type", referenced from: :info:build _script_engine_init in basic-coretext.o :info:build "_g_type_module_register_type", referenced from: :info:build _script_engine_init in basic-coretext.o :info:build "_pango_font_get_glyph_extents", referenced from: :info:build _set_glyph in basic-coretext.o :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_core_text_font_get_type", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_type_check_instance_cast", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_core_text_font_get_ctfont", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_strndup", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_free", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_glyph_string_set_size", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_font_get_type", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_font_get_coverage", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_is_zero_width", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_utf8_get_char", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_coverage_get", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_unichar_type", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_get_mirror_char", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_pango_coverage_unref", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build "_g_utf8_skip", referenced from: :info:build _basic_engine_shape in basic-coretext.o :info:build ld: symbol(s) not found for architecture i386 :info:build collect2: ld returned 1 exit status :info:build lipo: can't open input file: /var/tmp//ccz25ym7.out (No such file or directory) :info:build make[3]: *** [pango-basic-coretext.la] Error 1 :info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_x11_pango-devel/pango-devel/work/pango-1.29.4/modules/basic'
Can provide full log if required.
Attachments
Change History
comment:1 Changed 17 months ago by ryandesign@…
- Cc stealthjeff@… removed
- Owner changed from macports-tickets@… to ryandesign@…
- Description modified (diff)
comment:3 follow-up: ↓ 9 Changed 16 months ago by blender3dartist@…
The build fails because of the "-no-undefined" option being passed. Removing it allows pango to build and install. I don't know the repercussions in removing this flag, however.
comment:7 Changed 13 months ago by ryandesign@…
- Cc an0nym@…, Tom.Schoonjans@…, macports1@… added
- Status changed from new to assigned
- Port changed from pango-devel to pango, pango-devel
- Summary changed from pango-devel @1.29.4 +no_x11 +quartz +universal - build failure to pango, pango-devel: build failure with +no_x11 +quartz
Now that pango has been updated to 1.30.0 it also experiences this problem, as reported in duplicate #34055.
comment:8 Changed 13 months ago by jmr@…
- Summary changed from pango, pango-devel: build failure with +no_x11 +quartz to pango, pango-devel: build failure with cairo +quartz
You don't need -x11/+no_x11 to get this, I'm seeing it with +x11. Given that the quartz variant does nothing in pango, this must depend on how cairo is built.
comment:9 in reply to: ↑ 3 Changed 13 months ago by sean.michael.farley@…
Replying to blender3dartist@…:
The build fails because of the "-no-undefined" option being passed. Removing it allows pango to build and install. I don't know the repercussions in removing this flag, however.
Yes, this is the correct solution. -no-undefined is usually reserved for making static libraries. The symbols that are missing are all defined in libgobect, libpangocairo, or libpango itself (from other object files).
Changed 13 months ago by sean.michael.farley@…
- Attachment pango.patch added
remove the -no-undefined flag
comment:10 follow-up: ↓ 11 Changed 13 months ago by ryandesign@…
Hmm, I wonder why we are using -no-undefined in the first place. I wonder also why we are using -bind_at_load. Both have been in the portfiles for awhile. Anybody know these things?
comment:11 in reply to: ↑ 10 Changed 13 months ago by sean.michael.farley@…
Replying to ryandesign@…:
Hmm, I wonder why we are using -no-undefined in the first place. I wonder also why we are using -bind_at_load. Both have been in the portfiles for awhile. Anybody know these things?
While I can't say why this was changed in the first place, it looks like -no-undefined was first introduced here (syncing with fink?):
browser:trunk/dports/x11/pango/Portfile?rev=2670
As for the -bind_at_load, yeah, that should also be removed since it's only really for executables. It was first introduced here:
browser:trunk/dports/x11/pango/Portfile?rev=6220
Maybe it was a mistake in the first place?
comment:13 Changed 13 months ago by jmr@…
The linking situation on Jaguar, which is what would have been targeted back then, is quite different to the platforms we support now. The glibtool situation probably wasn't nearly as good back then either. So yeah, if you don't know a reason to be adding those ldflags, don't.
comment:14 Changed 13 months ago by ryandesign@…
- Status changed from assigned to closed
- Resolution set to fixed
Ok, I've removed them in r92079.
comment:15 Changed 13 months ago by ryandesign@…
Has duplicate #34093.

