经过一番搜索,我发现没有足够简单的算法来指导如何在 Ubuntu 中安装 Asymptote。(我需要更新它 - 这是一条建议来自这个论坛)。
主要的Asymptote 网站允许下载一个文件夹(我下载了),里面有很多文件,但我不知道该怎么处理。我能做的是:
- 我可以使用 Ubuntu 软件存储库。它没有最新的 Asymptote。
- 我可以在终端中输入命令。但我还没有在 Google 上搜索到任何可以输入的内容。
我发现最合理的指示是这里。它们很清晰,我可以管理它们。但是,它们安装了 Asymptote 2.41。但我需要最新版本。我不知道如何向终端解释我需要最新版本,即使我已经在 Desktop/asymptote-2.62 下载了它。
简而言之:如何安装最新版本的 Asymptote(目前为 2.62)?
Ubuntu 18.04、Gnome、TexStudio、texlive-full......我还应该提供什么来使技术细节清晰。
更新:我努力想弄明白 Asymptote 网站手册,但徒劳无功。当它没有按预期进行时,我就会迷失方向。
这是config.log:
This file contains any messages produced by compilers while running
configure, to aid debugging if configure makes a mistake.
It was created by Asymptote configure 2.64, which was generated by GNU
Autoconf 2.69. Invocation command line was
$ ./configure --prefix=/home/sergey/.local/
## --------- ##
## Platform. ##
## --------- ##
hostname = sergey-Inspiron-3252 uname -m = x86_64 uname -r =
5.3.0-40-generic uname -s = Linux uname -v = #32~18.04.1-Ubuntu SMP Mon Feb 3 14:05:59 UTC 2020
/usr/bin/uname -p = unknown /bin/uname -X = unknown
/bin/arch = unknown /usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown
/bin/machine = unknown /usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin PATH: /usr/local/bin PATH: /usr/sbin PATH:
/usr/bin PATH: /sbin PATH: /bin PATH: /usr/games PATH:
/usr/local/games PATH: /snap/bin
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2567: checking for gcc configure:2597: result: no
configure:2660: checking for cc configure:2707: result: no
configure:2763: checking for cl.exe configure:2793: result: no
configure:2817: error: in `/home/sergey/asymptote-2.64':
configure:2819: error: no acceptable C compiler found in $PATH See
`config.log' for more details
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_env_CCC_set= ac_cv_env_CCC_value= ac_cv_env_CC_set=
ac_cv_env_CC_value= ac_cv_env_CFLAGS_set= ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CPP_set=
ac_cv_env_CPP_value= ac_cv_env_CXXCPP_set= ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set= ac_cv_env_CXXFLAGS_value= ac_cv_env_CXX_set=
ac_cv_env_CXX_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_YACC_set=
ac_cv_env_YACC_value= ac_cv_env_YFLAGS_set= ac_cv_env_YFLAGS_value=
ac_cv_env_build_alias_set= ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set= ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set= ac_cv_env_target_alias_value=
## ----------------- ##
## Output variables. ##
## ----------------- ##
ASYGLVERSION='' ATOMICVERSION='' CC='' CFLAGS='-g -O3' CPP=''
CPPFLAGS='' CXX='' CXXCPP='' CXXFLAGS='-std=c++11' DEFS='' Datadir=''
ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='' EXEEXT='' GCLIB=''
GCOPTIONS='' GCPPLIB='' GCVERSION='' GLEW='' GREP='' INCL=''
INSTALL_DATA='' INSTALL_PROGRAM='' INSTALL_SCRIPT='' LDFLAGS='' LEX=''
LEXLIB='' LEX_OUTPUT_ROOT='' LIBOBJS='' LIBS='' LTLIBOBJS='' OBJEXT=''
OPTIONS=''
PACKAGE_BUGREPORT='http://sourceforge.net/projects/asymptote'
PACKAGE_NAME='Asymptote' PACKAGE_STRING='Asymptote 2.64'
PACKAGE_TARNAME='asymptote' PACKAGE_URL='' PACKAGE_VERSION='2.64'
PATH_SEPARATOR=':' PTHREAD_CC='' PTHREAD_CFLAGS='' PTHREAD_LIBS=''
SET_MAKE='' SHELL='/bin/bash' TEXI2DVI='' VERSION='2.64' YACC=''
YFLAGS='' ac_ct_CC='' ac_ct_CXX='' ax_pthread_config=''
bindir='${exec_prefix}/bin' build='' build_alias='' build_cpu=''
build_os='' build_vendor='' contextdir='' datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}'
exec_prefix='NONE' getopt='' host='' host_alias='' host_cpu=''
host_os='' host_vendor='' htmldir='${docdir}'
includedir='${prefix}/include' infodir='${datarootdir}/info'
kpsewhich='' latexdir='' libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale'
localstatedir='${prefix}/var' mandir='${datarootdir}/man'
oldincludedir='/usr/include' pdfdir='${docdir}'
prefix='/home/sergey/.local' program_transform_name='s,x,x,'
psdir='${docdir}' sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc'
target_alias=''
## ----------- ##
## confdefs.h. ##
## ----------- ##
/* confdefs.h */
#define PACKAGE_NAME "Asymptote"
#define PACKAGE_TARNAME "asymptote"
#define PACKAGE_VERSION "2.64"
#define PACKAGE_STRING "Asymptote 2.64"
更新。问题在于缺少 C 编译器。对于未来版本:请确保您已安装它。这是我的做法,并且成功了:
首先更新包列表:
sudo apt update
输入以下命令安装 build-essential 包:
sudo apt install build-essential
该命令安装了一堆新软件包,包括 gcc、g++ 和 make。
您可能还想安装有关使用 GNU/Linux 进行开发的手册页:
sudo apt-get install manpages-dev
要验证 GCC 编译器是否成功安装,请使用 gcc --version 命令打印 GCC 版本:
gcc --version
Ubuntu 18.04 存储库中可用的 GCC 默认版本是 7.4.0:
gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0 Copyright (C) 2017 Free
Software Foundation, Inc. This is free software; see the source for
copying conditions. There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
虽然!当我按照@oliversm 的回复执行最后一步时,我得到了以下结果
make install
@oliversm,现在出了什么问题?
答案1
从源代码编译
这本来是一条评论vonbrand 的回答但最终它还是太大了。
该文件doc/FAC/asy-faq.ascii
(或我认为的类似版本)可以在以下位置找到:github页面上,我认为他们的相关信息常见问题解答页面。同样,他们有一个关于如何在 Unix 上从源代码编译。尝试按照说明操作,但结果是:
- 将文件解压到您想要的任何位置(例如
/home/user/
)。我得到了来自 SourceForge 的文件但 Github 上的也可以。 - 打开终端
/path/to/asymptote-2.62
(可以用鼠标右键单击或cd asymptote-2.62/
)。 - 运行
./configure --prefix=/home/user/.local/
,但如果您想要这个系统范围的那么您可能能够将其更改为./configure --prefix=/usr
。 make
(或者make all
)make install
步骤 3-5 可能需要几分钟(在我的计算机上大约需要 5 分钟)。
在我的计算机上完成此操作后,我可以运行~/.local/bin/asy --version
以查看是否已安装正确的版本 (2.62)。如果您想确保使用的是这个版本而不是较旧的系统版本(我的系统在 下也有 2.44 /usr/bin/
),那么使用符号链接您应该更新ln -s
就可以解决问题,如果您要覆盖 下的项目,则需要 sudo /usr
。PATH
。(例如export PATH=${HOME}/.local/bin:${PATH}
,可以将其添加到您的.bashrc
文件或类似文件中)。
答案2
抓住源头来自 git或者SourceForge,该文件doc/FAQ/asy-faq.ascii
包含详细的安装说明。
如果您需要将其集成到您的系统中,我建议您研究如何创建自己的软件包(抱歉,不知道 Debian/Ubuntu),获取发行版的源包,解压并针对新版本进行编辑和构建。
答案3
截至撰写本文时(2021 年 1 月),它在 Ubuntu 20.04 上可用,并且可以使用 轻松安装sudo apt install asymptote
。