我在 docker 中构建 onlyoffice 时遇到了这个编译错误。有人知道原因是什么吗?我正在使用 root 用户启动的 Docker,make.py 可以确认它已执行...
我在 docker 中构建 onlyoffice 时遇到了这个编译错误。有人知道原因是什么吗?我正在使用 root 用户启动的 Docker,make.py 可以确认它具有执行权限。
这是我的编译环境:
python3./automate.py 服务器
起源/发布/v8.1.0
Linux 版本 4.4.0-186-generic (buildd@lcy01-amd64-002) (gcc 版本 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #216-Ubuntu SMP 2020 年 7 月 1 日星期三 05:34:05 UTC
主版本
FROM ubuntu:16.04
ENV TZ=Etc/UTC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Update the sources.list to use the mirror closet to you
RUN sed -i 's|http://archive.ubuntu.com/ubuntu/|http://free.nchc.org.tw/ubuntu/|g' /etc/apt/sources.list
RUN apt-get -y update && \
apt-get -y install software-properties-common && \
add-apt-repository ppa:openjdk-r/ppa && \
apt-get -y update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install python \
python3 \
sudo \
openjdk-11-jdk \
openjdk-11-jdk-headless \
openjdk-11-jre \
openjdk-11-jre-headless \
git \
openssh-client
RUN rm /usr/bin/python && ln -s /usr/bin/python2 /usr/bin/python
VOLUME ["/work"]
WORKDIR /work
# Set the default command
CMD ["bash"]
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at be6df45... [|attr] crash && memory leak
Cloning into 'hunspell'...
Note: checking out '8a2fdfe5a6bb1cbafc04b0c8486abcefd17ad903'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 8a2fdfe... replace archaic &std::vector::operator[0] with c++11 std::vector::data
/bin/sh: 1: ./make.py: Permission denied
[fetch & build]: boost
[fetch & build]: cef
[fetch & build]: icu
[fetch & build]: openssl
gn gen out.gn/linux_64 --args="v8_static_library=true is_component_build=false v8_monolithic=true v8_use_external_startup_data=false use_custom_libcxx=false treat_warnings_as_errors=false target_cpu=\"x64\" v8_target_cpu=\"x64\" is_debug=false is_clang=true use_sysroot=false"
[fetch & build]: hunspell
[fetch & build]: harfbuzz
Error (./make.py): 126
install dependencies...
---------------------------------------------
build branch: release-v8.1.0
---------------------------------------------
---------------------------------------------
build modules: server
---------------------------------------------
Error (./make.py): 1
root@2148240c5bd1:/work/build_tools/tools/linux# ls
虽然尝试使用“chmod -X make.py”重新添加对“make.py”文件的权限,但对我来说不起作用
我正在尝试使用 SciDet 函数计算矩阵的行列式,但显然它刚刚被删除。我如何在另一个 Scilab 中通过 C 代码计算矩阵的行列式...
代码 C 在 Scilab 中计算矩阵的行列式
代码:
#include "api_scilab.h" // Header file for using SciLab API functions
#include "Scierror.h" // Header file for handling SciLab errors
#include "BOOL.h" // Header file for using BOOL type
#include "localization.h" // Header file for string localization
static const char fname[] = "det"; // Function name
int sci_det(scilabEnv env, int nin, scilabVar* in, int nopt, scilabOpt* opt, int nout, scilabVar* out)
{
int i = 0; // Loop variable
int n = 0; // Dimension of the system
double* A = NULL; // Coefficient matrix
int info; // Error code variable
double determinant = 1.0; // Determinant
/* Check the number of input and output arguments */
if (nin != 1 || nout != 1) {
Scierror(77, _("%s: Wrong number of input or output arguments: 1 input and 1 output expected.\n"), fname); // Error message output
return 1; // Return 1 in case of error
}
/* Check the types of input arguments */
if (scilab_isDouble(env, in[0]) == 0 || scilab_isMatrix2d(env, in[0]) == 0 ||
scilab_isComplex(env, in[0]) == 1) {
Scierror(999, _("%s: Wrong type for input argument. Double matrix expected.\n"), fname); // Error message output
return 1; // Return 1 in case of error
}
/* Get the dimensions of the coefficient matrix */
int rowA = 0, colA = 0;
scilab_getDim2d(env, in[0], &rowA, &colA); // Get matrix dimensions
n = rowA; // Store the dimension
/* Check that matrix A is square */
if (rowA != colA) {
Scierror(999, _("%s: Matrix of coefficients must be square.\n"), fname); // Error message output
return 1; // Return 1 in case of error
}
/* Get data from the input argument */
scilab_getDoubleArray(env, in[0], &A); // Get data from the input matrix
/* Calculate the determinant */
// Your determinant calculation code here
return 0; // Return 0 upon successful execution
}
编译:
files = ["foo6.c"];
ilib_build('build_lib',['det','sci_det','csci6'],files,[]);
--> exec("loader.sce");
Failed reference for dynamic library '/home/zoow/Рабочий стол/ScilabAPI/Matrix/Test//libbuild_lib.so'.
There's been a mistake: /home/zoow/Рабочий стол/ScilabAPI/Matrix/Test//libbuild_lib.so: undefined symbol: sciDet
Failed reference for dynamic library '/home/zoow/Рабочий стол/ScilabAPI/Matrix/Test//libbuild_lib.so'.
There's been a mistake: /home/zoow/Рабочий стол/ScilabAPI/Matrix/Test//libbuild_lib.so: undefined symbol: sciDet
on line 15 of the executable /home/zoow/Рабочий стол/ScilabAPI/Matrix/Test/loader.sce
addinter: The shared archive has not been downloaded: (null)
我可以在代码中计算行列式,但我需要在 Scilab 中计算并将值传递给 C .