Closed Jmuccigr closed 6 years ago
From a quick look at the code, I'd guess that you didn't install MacTeX, but installed via the TL shell script? If you set the path to tlmgr (normally /Library/TeX/texbin
) in TLU's preferences, the update checker should pick that up and use it. If TLU itself is working, then we have a problem.
You could try this in Terminal and let me know what it prints out. It should all be on a single line:
python -c 'from CoreFoundation import CFPreferencesCopyAppValue; print(CFPreferencesCopyAppValue("TLMTexBinPathPreferenceKey", "com.googlecode.mactlmgr.tlu"))'
(typed in Mail, untested as I don't have a Mac handy)
It outputs None
. I ran the python script from the command line after I saw the less informative output in Console.
And I installed via the download at tug.org.
Does /Library/TeX/texbin
exist? It should, if you installed via the MacTeX route. If it does, open up TLU's Preferences window and manually set "TeX programs" to /Library/TeX/texbin
. After you quit TLU, that python one-liner should return the correct value (eventually; Apple broke the preferences system pretty badly). It works for me on High Sierra, at least.
You can also run ~/Library/Application\ Support/TeX\ Live\ Utility/update_check.py
directly from Terminal for testing. The notification isn't working for me today, but that's a separate problem from the one you're seeing.
Yes, that path exists and it's what's already in the TLU prefs. The update_check.pl yields the same thing it did when I ran it above. :-)
In that case, I have no idea what's going on, unless you're not using Apple's Python? Try defaults read com.googlecode.mactlmgr.tlu TLMTexBinPathPreferenceKey
and see if the key exists.
The domain/default pair of (com.googlecode.mactlmgr.tlu, TLMTexBinPathPreferenceKey) does not exist
I do have python installed via homebrew, so I wonder if that's it.
The actual python script uses /usr/bin/python
to avoid that, but the one-liner will use whatever was in your path. It's a moot point since . It's more concerning that your preferences aren't being stored, which is one of the bugs in Apple's rewrite to make Mac OS like iOS. A reboot might fix that.
Here's another thought: check ~/Library/Application\ Support/TeX\ Live\ Utility/update_check.py
to see if line 161 and following is this:
# if this hasn't been set, try the default path
texbin_path = CFPreferencesCopyAppValue("TLMTexBinPathPreferenceKey", bundle_id)
if texbin_path == None:
if os.path.exists("/usr/texbin"):
texbin_path = "/usr/texbin"
elif os.path.exists("/Library/TeX/texbin"):
texbin_path = "/Library/TeX/texbin"
if texbin_path == None:
log_message("no tlmgr path set; TeX Live update check will not proceed")
return 1
No, 163-164 is this:
if texbin_path == None and os.path.exists("/usr/texbin"):
texbin_path = "/usr/texbin"
If I replace it, I now get a real response "TeX Live 2017 is frozen..." and I just got a system notification about upgrades being available.
That script should've been upgraded in 2016, so apparently the code that does that has been broken for two years. Sorry about that, and thanks for the help in figuring it out! I'll get that fixed before TL 2018 is released.
The "TL is frozen" message is correct if you have TL 2017 installed, although you may have a final batch of updates for it. If you have the 2018 pretest installed, then we're facing the problem with Apple's preferences system being broken, and I can't do anything about that.
Nope, I'm in 2017. Thanks for all the help.
Reopening as a reminder to myself to fix this
Fix checked in.
Just saw this in Console for today, no older entries. TeX Live was updated two days ago:
update_check.py: no tlmgr path set; TeX Live update check will not proceed
On High Sierra.