5

When I went to MacTeX 2023 and I ran Biber for the first time, TeXShop told me I had to install the Command Line Tools. I did and everything works without problems.

However, I have been wondering for some time what exactly Biber needs the development tools for. Simply out of interest and to learn more; also with regard to LaTeX.

PS: I use LuaLaTeX and BibLaTeX.

Ingmar
  • 6,690
  • 5
  • 26
  • 47
herry.23
  • 197
  • I'm not using Mac myself, but GNU/Linux. Both are UNIX-like systems and running on a very similar basis. I guess because Apple is somewhat more restricted in his basic properties, you may have to "allow" software which is not Apple-based to be executed on your system resp. install it first, as mentioned by @DavidCarlisle. Look maybe here or here for some general explanations. But as already mentioned, I don't use Mac itself, so their may be another reason. – lukeflo Aug 30 '23 at 15:23
  • 3
    There is also some voodoo because of the different architectures which seems to involve dev tools, e.g. https://github.com/plk/biber/issues/448#issuecomment-1505364085 – samcarter_is_at_topanswers.xyz Aug 30 '23 at 15:44

1 Answers1

9

Summarizing the comment here, the reason the Developer Tools need to be installed comes from the way the biber unpacks itself on first run. Each new version of the binary checks to see whether it is different from the previous version. But since Mac binaries support two different chip architectures (Intel and Apple) the binary distributed is a Universal (or "fat") binary, i.e. it contains binaries for each architecture.

The command line tool lipo is an Apple utility which creates or operates on Universal binaries, and does various things. One of those things is that it can extract one of the two binaries included in the universal binary to create a "thin" binary. This is what the Mac version of biber does behind the scenes. It checks which architecture it is on and then extracts the relevant binary for that architecture using the lipo command.

Since lipo is not part of the standard OS, but comes packaged with the developer command line tools, that's why they need to be installed to keep your biber binary up to date.

Alan Munn
  • 218,180
  • Nice explanation, thanks Alan. Never knew about how that worked on Mac – daleif Aug 31 '23 at 06:50
  • Maybe you could also explain how the developer tools can be installed. Then we could use this Q&A as a go-to duplicate for Biber on a Mac problems that involve missing developer tools. – moewe Sep 10 '23 at 12:18
  • I'd guess that for example https://tex.stackexchange.com/q/692389/35864 would qualify as a duplicate. – moewe Sep 10 '23 at 12:18