Я не могу заставить Asymptote работать под Windows 10

Я не могу заставить Asymptote работать под Windows 10

Я пользуюсь MetaPost уже более двадцати лет. Недавно я наткнулся на Asymptote, который, как мне кажется, является великолепной рационализацией и обобщением замечательного инструмента MetaPost. Я бы очень хотел перейти с MetaPost на Asymptote, но у меня есть проблема.

Моя текущая ОС — Windows 10 Pro. Не спрашивайте.

Я скачал последнюю версию Asymptote для Windows, приняв все настройки по умолчанию, и все, кажется, было хорошо. Вот результат запроса версии.

miktex-asy version 2.67 [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]

ENABLED OPTIONS:
WebGL    3D HTML rendering
OpenGL   3D OpenGL rendering
CURL     URL support

DISABLED OPTIONS:
GSL      GNU Scientific Library (special functions)
FFTW3    Fast Fourier transforms
XDR      external data representation (portable binary file format)
Readline interactive history and editing
Editline interactive editing (if Readline is unavailable)
Sigsegv  distinguish stack overflows from segmentation faults
GC       Boehm garbage collector

Каталог C:\Program Files\Asymptote, похоже, содержит все модули, включая plain. Однако ввод 'asy -f PNG test' в каталоге, содержащем классический test.asy, привел к 'cannot find module plain'.

Хотя это казалось излишним, я последовал совету из WEB и определил переменную окружения ASYMPTOTE_DIR как C:\Program Files\Asymptote, и вот что получилось в результате, который для этого старого автора компиляторов выглядит как ошибка компиляции:

Welcome to miktex-asy version 2.67 (to view the manual, type help)
  real value(string s, int i) {return byteinv(hex(substr(s,2i+offset,2)));}
                                      ^
C:/Program Files/Asymptote/plain_pens.asy: 333.39: no matching variable 'byteinv'
  real[][][] S=_schur(a);
               ^
C:/Program Files/Asymptote/plain.asy: 312.16: no matching variable '_schur'
  pair[][][] S=_schur(a);
               ^
C:/Program Files/Asymptote/plain.asy: 326.16: no matching variable '_schur'
error: recursive loading of module 'plain'

Есть ли у кого-нибудь мысли о том, что я делаю не так?

решение1

Я скопировал этот запрос о помощи в сообщество Asymptote на SourceForge, и Джон Боуман любезно указал на проблему. MikTeX поставляется с безнадежно устаревшей копией asy.exe, которая несовместима с последними версиями Asymptote. Из-за порядка, в котором Windows ищет исполняемые файлы, она нашла эту старую версию до того, как нашла новую. Одним из решений является изменение порядка путей PATH так, чтобы Asymptote предшествовал MikTeX. Я просто переименовал asy.exe в каталоге bin MikTeX. Проблема решена. :)

Связанный контент