[tlbuild] Building without X11?

Mojca Miklavec mojca.miklavec.lists at gmail.com
Sat Mar 31 18:29:37 CEST 2018


Hi,

My darwinlegacy binaries in subversion are not quite ok yet (the
libc++ library that I compiled against is too new and the binaries
don't work on all OS versions inbetween).

I now tried a slightly different approach which seems to work on all
binaries that currently fail, but it led to troubles with the X11
library. That library is only used in metafont (but in multiple
places: inimf, mf, mflua, mflua-nowin, mfluajit, mfluajit-nowin). The
only two other places where X11 is used are:
- pdfopen/pdfclose
- xdvi-xaw

I wanted to check what pdfopen actually does on macOS, only to figure
out that the binary is broken anyway unless the user explicitly
installs X11 (the same problem with both mine and Dick's binaries):

> ./pdfopen
dyld: Library not loaded: /opt/X11/lib/libX11.6.dylib
  Referenced from: /current/dir/./pdfopen
  Reason: image not found
Abort trap: 6

I would usually ignore the problem, but I'm already stuck at the build
step because tests like these fail on the test system that I'm using:
    FAIL: mftraptest.test
    FAIL: mfluadir/mfluatraptest.test
    FAIL: mfluajitdir/mfluajittraptest.test

I know how to work around these issues, but I have a better question:
is it OK if I simply build everything with --without-x on
darwinlegacy?

As a consequence this removes pdfopen, pdfclose, xdvi-xaw, but I
question their usefulness on macOS anyway (then again, I don't know, I
never really used them).

I now have a set of binaries compiled against 10.7 SDK with
compatibility set to 10.6: that should work on 10.7 (what's currently
in svn doesn't work) and most likely work with 10.6, or at least all
the tests pass and my basic experiments passed. I could alternatively
try to mix-and-match 10.6 and 10.7 SDKs (inject libc++ from 10.7 into
10.6), but I'm afraid that libc++ will be automatically updated on
some subsequent update without me noticing.

Mojca


More information about the tlbuild mailing list