[texworks] LaTeXmk issue with Mac OS X Yosemite (new OS)

Herbert Schulz herbs at wideopenwest.com
Tue Oct 21 23:51:24 CEST 2014


> On Oct 21, 2014, at 4:23 AM, Guillaume Cabanac <guillaume.cabanac at univ-tlse3.fr> wrote:
> 
> Hi Stefan,
> 
>> Interesting. This suggests that Tw does not know about the "real" $PATH
>> (otherwise it should find latexmk in $PATH). But at the same time,
>> QProcess::setEnvironment() doesn't seem to work, either, as Tw should
>> append the paths listed in the preferences to $PATH before calling a
>> typesetting tool, and as you showed with your env tool, that does not
>> seem to be the case.
>> 
>> Possibly related: after some googling, I found
>> http://stackoverflow.com/questions/603785/environment-variables-in-mac-os-x
>> It seems that in Mac OS, you can have different environment variables
>> for GUI and for terminal apps. Thus, I would guess that Tw (as GUI app)
>> does not get the environment you have in a terminal. I have no idea why
>> this problem does not show up in TeXShop, though.
>> 
>> Out of curiosity: can you reproduce the problem if you start TeXworks
>> from the command line?
> 
> [~]$ open /Applications/TeX/TeXworks.app
> 
> When opening TW from the console like this, the PATH declared in my ~/.bash_profile is known from TW.
> 
> However, the paths I declare in the GUI under "Paths for TeX and related programs" are not set.  They don't seem to be passed to the process created to run the processing tool.
> 
>>> * * *
>>> 
>>> As a workaround, I managed to make LaTeXmk work successfully in TeXworks that way:
>>> 
>>>  1. put "/usr/texbin" in the GUI under "Paths for TeX and related programs"
>>>  2. sudo ln -s /usr/texbin/pdflatex /usr/bin/pdflatex (as /usr/bin is passed to the process when typesetting)
>>>  3. sudo ln -s /usr/texbin/bibtex /usr/bin/bibtex
>>> 
>>> ... A bit of tinkering that could prevent people from being stuck with this issue... until it gets fixed :-)
>> 
>> Personally, I'd prefer to use a wrapper script for latexmk that simply
>> sources .bash_profile (provided all other TeX programs work as expected)
>> as that would avoid tinkering in system directories with sudo.
> 
> Sure, it's cleaner I admit.
> 
>> Anyway: as I don't have a Mac to test, I don't really know how to debug
>> this further. One possibility would be to replace
>>   QStringList env = QProcess::systemEnvironment();
>>   QStringList binPaths = TWApp::instance()->getBinaryPaths(env);
>> by
>>   QStringList env = QProcess::systemEnvironment();
>>   qDebug() << env;
>>   QStringList binPaths = TWApp::instance()->getBinaryPaths(env);
>>   qDebug() << env;
>> in src/TeXDocument.cpp, recompile TeXworks, start it from the command
>> line and observe the output (this should solve the question what
>> environment Tw really picks up and how it is modified once and for all).
>> But of course this requires compiling TeXworks from source...
> 
> It seems I don't have the proper developing environment (gcc 4.9 instead of gcc 4.0):
> 
>  g++-4.9: error: unrecognized command line option '-stdlib=libc++'
>  g++-4.9: error: unrecognized command line option '-arch'
> 
> I'm sorry I can't investigate this further at the moment...
> 
> Anyways, thanks for your help!
> 
> Guillaume

Howdy,

Take a look at <http://tex.stackexchange.com/questions/208181/why-did-my-tex-related-gui-program-stop-working-in-mac-os-x-yosemite> for more info an the problem.

Good Luck,

Herb Schulz
(herbs at wideopenwest dot com)






More information about the texworks mailing list