# Biber with MikTeX does not use local texmf tree

Environment

• I'm using MikTeX on Linux.
• I have a project located at `\$PROJECTDIR/myproject.tex`.
• I have a bibliography for that project located at `\$LOCALTEXMF/bibtex/bib/mybibs/myproject.bib`.
• I have invoked the bib file with `\addbibresource{myproject.bib}` -- i.e. I have included the file extension in the tex file.
• I have added \$LOCALTEXMF to MikTeX's root directories (as I have tried to suggest with the pseudovariable name).
• I have refreshed the filename database in the MikTeX console. (bibtex wouldn't work if I hadn't done this of course.)
• `kpsewhich myproject.bib` correctly outputs `\$LOCALTEXMF/bibtex/bib/mybibs/myprojectb.bib`.

Behavior

• `bibtex myproject` works perfectly fine.
• `biber myproject` returns `ERROR - Cannot find 'myproject.bib'!`.
• If I copy `myproject.bib` to `\$PROJECTDIR/`, then `biber myproject` works properly. This is clearly an issue of biber not searching in the local texmf tree.

Something strange

• There is a softlink in a directory in my `PATH` called `bibtex` which points to `/opt/miktex/bin/miktex-bibtex` as expected.
• There is a softlink in a directory in my `PATH` called `biber` which points to `/opt/miktex/libexec/miktex/runexe`. I don't understand why this wouldn't point to (the actually non-existent) `/opt/miktex/bin/miktex-biber` in analogy with bibtex.
• `/opt/miktex/libexec/miktex/runexe myproject` returns a different error from `biber myproject`. The former command returns `Sorry, but runexe did not succeed.`. It is particularly perplexing to me that the softlink behaves differently from the executable to which it points.

Questions

• Obviously I already have a workaround (use `bibtex` instead of `biber`), so this question is just academic/for my educational benefit.
• Why does biber fail while bibtex succeeds?
• Why does the biber softlink point to that runexe thing?
• Why does the biber softlink behave different from calling that runexe thing directly?
• I don't think that many people use MikTeX on Linux, so it is understandable that it's in general less tested. Most people on Linux use TeX Live. (Would that be an option for you?) The Biber binary is pretty special, because it is a packed Perl programme that has to unpack itself in order to run. This could explain the different links. Things are supposed to work if you run `biber <filename>`, so I wouldn't worry about the linkage in MikTeX's internals for now. ... Mar 3 at 7:04
• ... Biber uses `kpsewhich` to search for `.bib` files that are not in the working directory, so the file should be found. Mar 3 at 7:04
• To me this looks like an issue you might want to take to github.com/MiKTeX/miktex/issues. Mar 3 at 7:04
• Thanks for the feedback, all! Based on your advice I'll report this as a bug. I do know that most people use texlive rather than MikTeX on Linux, but I like MikTeX better (mostly because I've struggled to get texliveonfly working recently). I have used texlive in the past and I could use it again, but I don't think the inability to use biber (given that bibtex works) is enough to induce me to give up easy on-the-fly package retrieval at the moment. Mar 3 at 14:36