app-text/texlive-core-2009 fails to compile xdvipdfmx with ld error. This is OS X specific problem. Reproducible: Always Steps to Reproduce: 1. emerge texlive-core Actual Results: The last part of the log: i686-apple-darwin9-gcc -DHAVE_CONFIG_H -I. -I.. -I/Users/tetsushi/Gentoo26/var/tmp/portage/app-text/texlive-core-2009/work/texlive-20091107-source/texk -I/Users/tetsushi/Gentoo26/var/tmp/portage/app-text/texlive-core-2009/work/texlive-20091107-source/texk -I/Users/tetsushi/Gentoo26/usr/include/freetype2 -I/Users/tetsushi/Gentoo26/usr/include -Wall -Wunused -Wdeclaration-after-statement -Wno-unknown-pragmas -O2 -march=nocona -pipe -MT xbb.o -MD -MP -MF .deps/xbb.Tpo -c -o xbb.o xbb.c mv -f .deps/xbb.Tpo .deps/xbb.Po /Users/tetsushi/Gentoo26/bin/sh ../libtool --tag=CC --mode=link i686-apple-darwin9-gcc -Wall -Wunused -Wdeclaration-after-statement -Wno-unknown-pragmas -O2 -march=nocona -pipe -framework ApplicationServices -o xdvipdfmx agl.o agl_standard.o bmpimage.o cff.o cff_dict.o cid.o cidtype0.o cidtype2.o cmap.o cmap_read.o cmap_write.o cs_type2.o dpxconf.o dpxcrypt.o dpxfile.o dpxutil.o dvi.o dvipdfmx.o epdf.o error.o fontmap.o jpegimage.o mem.o mfileio.o mpost.o numbers.o otl_conf.o otl_opt.o pdfcolor.o pdfdev.o pdfdoc.o pdfdraw.o pdfencoding.o pdfencrypt.o pdffont.o pdfnames.o pdfobj.o pdfparse.o pdfresource.o pdfximage.o pkfont.o pngimage.o pst.o pst_obj.o sfnt.o spc_color.o spc_dvips.o spc_html.o spc_misc.o spc_pdfm.o spc_tpic.o spc_util.o spc_xtx.o specials.o subfont.o tfm.o tt_aux.o tt_cmap.o tt_glyf.o tt_gsub.o tt_post.o tt_table.o truetype.o type0.o t1_char.o t1_load.o type1.o type1c.o unicode.o vf.o xbb.o /Users/tetsushi/Gentoo26/var/tmp/portage/app-text/texlive-core-2009/work/texlive-20091107-source/texk/kpathsea/libkpathsea.la -L/Users/tetsushi/Gentoo26/usr/lib -lfreetype -lz -lpng -lz libtool: link: i686-apple-darwin9-gcc -Wall -Wunused -Wdeclaration-after-statement -Wno-unknown-pragmas -O2 -march=nocona -pipe -o .libs/xdvipdfmx agl.o agl_standard.o bmpimage.o cff.o cff_dict.o cid.o cidtype0.o cidtype2.o cmap.o cmap_read.o cmap_write.o cs_type2.o dpxconf.o dpxcrypt.o dpxfile.o dpxutil.o dvi.o dvipdfmx.o epdf.o error.o fontmap.o jpegimage.o mem.o mfileio.o mpost.o numbers.o otl_conf.o otl_opt.o pdfcolor.o pdfdev.o pdfdoc.o pdfdraw.o pdfencoding.o pdfencrypt.o pdffont.o pdfnames.o pdfobj.o pdfparse.o pdfresource.o pdfximage.o pkfont.o pngimage.o pst.o pst_obj.o sfnt.o spc_color.o spc_dvips.o spc_html.o spc_misc.o spc_pdfm.o spc_tpic.o spc_util.o spc_xtx.o specials.o subfont.o tfm.o tt_aux.o tt_cmap.o tt_glyf.o tt_gsub.o tt_post.o tt_table.o truetype.o type0.o t1_char.o t1_load.o type1.o type1c.o unicode.o vf.o xbb.o -framework ApplicationServices /Users/tetsushi/Gentoo26/var/tmp/portage/app-text/texlive-core-2009/work/texlive-20091107-source/texk/kpathsea/.libs/libkpathsea.dylib -L/Users/tetsushi/Gentoo26/usr/lib /Users/tetsushi/Gentoo26/usr/lib/libfreetype.dylib /Users/tetsushi/Gentoo26/usr/lib/libpng12.dylib -lz Undefined symbols: "_FcPatternBuild", referenced from: _pdf_load_native_font in fontmap.o "_FcConfigGetCurrent", referenced from: _pdf_load_native_font in fontmap.o "_FcPatternDestroy", referenced from: _pdf_load_native_font in fontmap.o "_FcFontList", referenced from: _pdf_load_native_font in fontmap.o "_FcPatternGetString", referenced from: _pdf_load_native_font in fontmap.o "_FcInit", referenced from: _pdf_load_native_font in fontmap.o "_FcObjectSetDestroy", referenced from: _pdf_load_native_font in fontmap.o "_FcObjectSetBuild", referenced from: _pdf_load_native_font in fontmap.o "_FcPatternGetInteger", referenced from: _pdf_load_native_font in fontmap.o ld: symbol(s) not found collect2: ld returned 1 exit status make[5]: *** [xdvipdfmx] Error 1 make[5]: Leaving directory `/Users/tetsushi/Gentoo26/var/tmp/portage/app-text/texlive-core-2009/work/texlive-20091107-source/texk/xdvipdfmx/src' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/Users/tetsushi/Gentoo26/var/tmp/portage/app-text/texlive-core-2009/work/texlive-20091107-source/texk/xdvipdfmx' make[3]: *** [all] Error 2 make[3]: Leaving directory `/Users/tetsushi/Gentoo26/var/tmp/portage/app-text/texlive-core-2009/work/texlive-20091107-source/texk/xdvipdfmx' make[2]: *** [subtexk] Error 1 make[2]: Leaving directory `/Users/tetsushi/Gentoo26/var/tmp/portage/app-text/texlive-core-2009/work/texlive-20091107-source/texk' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/Users/tetsushi/Gentoo26/var/tmp/portage/app-text/texlive-core-2009/work/texlive-20091107-source/texk' make: *** [all-recursive] Error 1 * ERROR: app-text/texlive-core-2009 failed: * emake failed * * Call stack: * ebuild.sh, line 54: Called call-ebuildshell 'src_compile' * environment, line 583: Called src_compile * environment, line 3174: Called die * The specific snippet of code: * emake SHELL="${EPREFIX}"/bin/sh texmf="${EPREFIX}"${TEXMF_PATH:-/usr/share/texmf} || die "emake failed"; The symbols undefined are of fontconfig. The ebuild writes in src_unpack: # don't use deprecated interfaces from MacFreetype epatch "${FILESDIR}"/${PV}/${P}-nomacfreetype.patch # we don't autoreconf, so just hack configure script sed -i -e 's/XETEX_MAC/NO_XETEX_MAC/' texk/xdvipdfmx/configure || die The nomacfreetype.patch is applied to configure.ac, but you "don't autoreconf". Thus configure keeps unpatched part causing failure. Additionally, if the patch will be properly applied and autoreconfed, there will be no XETEX_MAC in configure.
ok, didn't think of that, needs to run eautoreconf for the directory the patch applies to then.
ok, we run eautoreconf now, thanks!
how did you test this actually?
What do you mean by how do I test? I encountered a failure, then I read log, configure, patch, etc. and guessed the cause of that, but I couldn't have a conclusive patch or something. So, no, I haven't tested anything. This is just a report, not a patch proposal. Sorry if the sentences read as I had a solution.
And, what is the problem with eautoreconf instead of elibtoolize? If per directory eautoreconf doesn't work (as commented in the ebuild now), then eautoreconf for all directories is merely necessary. At least, eautoreconf-instead-of-elibtoolize approach works for me now. # I mean "on this bug". of course don't know other possible bugs of texlive, if any.
I just committed a verified fix. eautoreconf isn't recursively afaict, so a top-level eautoreconf wouldn't help, all subdirs would have to be reconfed, which takes an awfull lot of time.