我一直在尝试按照此处的说明将 Mumps 编译为 IPOPT 的线性求解器。 https://mdolab-pyoptsparse.readthedocs-hosted.com/en/latest/optimizers/IPOPT.html 然后在这里使用这个脚本 https://github.com/OpenMDAO/build_pyoptsparse/
然而,当我尝试这样做时,我收到了这样的错误消息,我不确定这些文件是否能够编译。我刚刚开始使用linux,我没有太多的编译经验。我究竟做错了什么?我需要以某种方式设置我的编译器吗?
make all-am
make[1]: Entering directory '/home/rory/Documents/untitled folder/build_pyoptsparse.601acad7/ThirdParty-Mumps'
CC metis_adapter.lo
F77 MUMPS/libseq/mpi.lo
CC MUMPS/libseq/mpic.lo
PPF77 MUMPS/src/tools_common_mod.lo
CC MUMPS/libseq/elapse.lo
PPF77 MUMPS/src/dmumps_comm_buffer.lo
PPF77 MUMPS/src/dmumps_struc_def.lo
PPF77 MUMPS/src/mumps_ooc_common.lo
PPF77 MUMPS/src/mumps_static_mapping.lo
MUMPS/libseq/mpi.f:601:72:
CALL MUMPS_COPY_LOGICAL( SENDBUF, RECVBUF, COUNT )
1
Warning: Type mismatch in argument ‘s’ at (1); passed INTEGER(4) to LOGICAL(4) [-Wargument-mismatch]
MUMPS/libseq/mpi.f:603:72:
CALL MUMPS_COPY_REAL( SENDBUF, RECVBUF, COUNT )
1
Warning: Type mismatch in argument ‘s’ at (1); passed INTEGER(4) to REAL(4) [-Wargument-mismatch]
MUMPS/libseq/mpi.f:606:72:
CALL MUMPS_COPY_DOUBLE_PRECISION( SENDBUF, RECVBUF, COUNT )
1
Warning: Type mismatch in argument ‘s’ at (1); passed INTEGER(4) to REAL(8) [-Wargument-mismatch]
MUMPS/libseq/mpi.f:608:72:
CALL MUMPS_COPY_COMPLEX( SENDBUF, RECVBUF, COUNT )
1
Warning: Type mismatch in argument ‘s’ at (1); passed INTEGER(4) to COMPLEX(4) [-Wargument-mismatch]
MUMPS/libseq/mpi.f:610:72:
CALL MUMPS_COPY_DOUBLE_COMPLEX( SENDBUF, RECVBUF, COUNT )
1
Warning: Type mismatch in argument ‘s’ at (1); passed INTEGER(4) to COMPLEX(8) [-Wargument-mismatch]
MUMPS/libseq/mpi.f:612:72:
CALL MUMPS_COPY_2DOUBLE_PRECISION( SENDBUF, RECVBUF, COUNT )
1
Warning: Type mismatch in argument ‘s’ at (1); passed INTEGER(4) to REAL(8) [-Wargument-mismatch]
PPF77 MUMPS/src/mumps_sol_es.lo
PPF77 MUMPS/src/mumps_part9.lo
CC MUMPS/src/mumps_c.lo
CC MUMPS/src/mumps_common.lo
CC MUMPS/src/mumps_orderings.lo
CC MUMPS/src/mumps_io.lo
CC MUMPS/src/mumps_io_basic.lo
CC MUMPS/src/mumps_io_thread.lo
CC MUMPS/src/mumps_io_err.lo
CC MUMPS/src/mumps_size.lo
MUMPS/src/mumps_io_thread.c: In function ‘mumps_low_level_init_ooc_c_th’:
MUMPS/src/mumps_io_thread.c:345:82: warning: ‘Internal error: mumps_low_level_init_ooc_c_th should not to be called with strat_IO=’ directive writing 84 bytes into a region of size 64 [-Wformat-overflow=]
sprintf(buf,"Internal error: mumps_low_level_init_ooc_c_th should not to be called with strat_IO=%d\n",*async);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
MUMPS/src/mumps_io_thread.c:345:5: note: ‘sprintf’ output between 87 and 97 bytes into a destination of size 64
sprintf(buf,"Internal error: mumps_low_level_init_ooc_c_th should not to be called with strat_IO=%d\n",*async);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MUMPS/src/mumps_io_thread.c:382:86: warning: ‘Internal error: mumps_low_level_init_ooc_c_th should not to be called with strat_IO=’ directive writing 84 bytes into a region of size 64 [-Wformat-overflow=]
sprintf(buf,"Internal error: mumps_low_level_init_ooc_c_th should not to be called with strat_IO=%d\n",*async);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
MUMPS/src/mumps_io_thread.c:382:9: note: ‘sprintf’ output between 87 and 97 bytes into a destination of size 64
sprintf(buf,"Internal error: mumps_low_level_init_ooc_c_th should not to be called with strat_IO=%d\n",*async);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PPF77 MUMPS/src/dmumps_ooc_buffer.lo
PPF77 MUMPS/src/dmumps_load.lo
PPF77 MUMPS/src/dmumps_part7.lo
PPF77 MUMPS/src/dmumps_ooc.lo
PPF77 MUMPS/src/dmumps_part4.lo
PPF77 MUMPS/src/dmumps_part3.lo
PPF77 MUMPS/src/dmumps_part8.lo
PPF77 MUMPS/src/dmumps_part2.lo
PPF77 MUMPS/src/dmumps_part6.lo
MUMPS/src/dmumps_part2.F:4416:31:
CALL DMUMPS_557(id%N, IPE(1), NV(1), IPS(1), NE(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘ipe’ at (1)
MUMPS/src/dmumps_part2.F:4426:25:
CALL DMUMPS_201(NE(1), ND(1), id%INFOG(6), id%INFOG(5),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘ne’ at (1)
MUMPS/src/dmumps_part2.F:4463:36:
CALL DMUMPS_97(id%N, FRERE(1), FILS(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘frere’ at (1)
MUMPS/src/dmumps_part2.F:4475:33:
CALL DMUMPS_97(id%N, FRERE(1), FILS(1), NFSIZ(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘frere’ at (1)
MUMPS/src/dmumps_part6.F:3575:14:
& root%SCHUR_POINTER(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘val_root’ at (1)
MUMPS/src/dmumps_part6.F:3615:14:
& root%RG2L_ROW(1), root%RG2L_COL(1), INVERT,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘rg2l_row’ at (1)
MUMPS/src/dmumps_part2.F:2851:19:
& PERM,FLAG(1))
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘posi’ at (1)
MUMPS/src/dmumps_part2.F:2854:19:
& PERM,FLAG(1))
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘posi’ at (1)
MUMPS/src/dmumps_part8.F:545:36:
CALL DMUMPS_535( MTYPE, id%ISOL_loc(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘isol_loc’ at (1)
MUMPS/src/dmumps_part8.F:1224:36:
CALL DMUMPS_535( MTYPE, id%ISOL_loc(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘isol_loc’ at (1)
MUMPS/src/dmumps_part8.F:1756:32:
& id%MYID_NODES, id%PTLUST_S(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘ptrist’ at (1)
MUMPS/src/dmumps_part8.F:1764:32:
& id%MYID_NODES, id%PTLUST_S(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘ptrist’ at (1)
MUMPS/src/dmumps_part8.F:1796:23:
& MTYPE, RHS_MUMPS(IBEG), LD_RHS, NBRHS_EFF,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘rhs’ at (1)
MUMPS/src/dmumps_part8.F:1805:23:
& MTYPE, RHS_MUMPS(IBEG), LD_RHS, NBRHS_EFF,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘rhs’ at (1)
MUMPS/src/dmumps_part8.F:3753:13:
& root%IPIV(1), root%LPIV, MASTER_ROOT, MYID_NODES,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘ipiv’ at (1)
MUMPS/src/dmumps_part8.F:2101:39:
CALL DMUMPS_245(id%root, id%N, id%S(1), LA_PASSED,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘a’ at (1)
MUMPS/src/dmumps_part8.F:2141:42:
CALL DMUMPS_245(id%root, id%N, id%S(1), LA_PASSED,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘a’ at (1)
MUMPS/src/dmumps_part8.F:2253:23:
& MTYPE, RHS_MUMPS(IBEG), LD_RHS, NBRHS_EFF,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘rhs’ at (1)
MUMPS/src/dmumps_part8.F:2264:16:
& RHS_MUMPS(IBEG), LD_RHS, NBRHS_EFF,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘rhs’ at (1)
MUMPS/src/dmumps_part8.F:2277:23:
& MTYPE, RHS_MUMPS(IBEG), LD_RHS, NBRHS_EFF,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘rhs’ at (1)
MUMPS/src/dmumps_part8.F:2287:16:
& RHS_MUMPS(IBEG), LD_RHS, NBRHS_EFF,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘rhs’ at (1)
MUMPS/src/dmumps_part8.F:2344:23:
& MTYPE, RHS_MUMPS(IBEG), LD_RHS, NBRHS_EFF,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘rhs’ at (1)
MUMPS/src/dmumps_part8.F:2707:49:
& JDUMMY, id%KEEP(1), id%KEEP8(1), id%PROCNODE_STEPS(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘procnode_steps’ at (1)
MUMPS/src/dmumps_part8.F:2715:16:
& id%PTLUST_S(1), id%KEEP(1), id%KEEP8(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘ptrist’ at (1)
MUMPS/src/dmumps_part8.F:2726:42:
CALL DMUMPS_245( id%root, id%N, id%S(1), LA_PASSED,
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘a’ at (1)
MUMPS/src/dmumps_part8.F:2772:48:
& JDUMMY, id%KEEP(1),id%KEEP8(1), id%PROCNODE_STEPS(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘procnode_steps’ at (1)
MUMPS/src/dmumps_part8.F:2782:16:
& id%PTLUST_S(1), id%KEEP(1),id%KEEP8(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘ptrist’ at (1)
MUMPS/src/dmumps_part3.F:6046:21:
& id%ELTVAR( IELTPTR ), id%A_ELT( RELTPTR ),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘eltvar’ at (1)
MUMPS/src/dmumps_part3.F:6064:17:
& id%ELTVAR(IELTPTR),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘elnodes’ at (1)
MUMPS/src/dmumps_part3.F:6072:17:
& id%ELTVAR(IELTPTR),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘elnodes’ at (1)
MUMPS/src/dmumps_part3.F:6104:17:
& id%ELTVAR(IELTPTR),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘elnodes’ at (1)
PPF77 MUMPS/src/dmumps_part1.lo
PPF77 MUMPS/src/dmumps_part5.lo
MUMPS/src/dmumps_part5.F:432:44:
CALL DMUMPS_564(id%KEEP(38), id%PROCNODE(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘procnode’ at (1)
MUMPS/src/dmumps_part5.F:439:44:
CALL DMUMPS_537(id%N,id%NSLAVES,ICNTL(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘icntl’ at (1)
MUMPS/src/dmumps_part5.F:1311:14:
& id%CANDIDATES(1,1), id%I_AM_CAND(1) )
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘candidates’ at (1)
MUMPS/src/dmumps_part5.F:1668:20:
& id%N, id%MAPPING(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘mapping’ at (1)
MUMPS/src/dmumps_part5.F:5128:8:
& id%DBLARR(1), KEEP(13), id%INTARR(1),
1
Warning: Element of assumed-shaped or pointer array passed to array dummy argument ‘dblarr’ at (1)
F77LD libcoinmumps.la
make[1]: Leaving directory '/home/rory/Documents/untitled folder/build_pyoptsparse.601acad7/ThirdParty-Mumps'
make[1]: Entering directory '/home/rory/Documents/untitled folder/build_pyoptsparse.601acad7/ThirdParty-Mumps'
/bin/mkdir -p '/home/rory/ipopt/lib/pkgconfig'
/bin/mkdir -p '/home/rory/ipopt/include/coin-or/mumps'
/bin/mkdir -p '/home/rory/ipopt/lib'
/usr/bin/install -c -m 644 coinmumps.pc '/home/rory/ipopt/lib/pkgconfig'
/bin/bash ./libtool --mode=install /usr/bin/install -c libcoinmumps.la '/home/rory/ipopt/lib'
/usr/bin/install -c -m 644 MUMPS/include/dmumps_c.h MUMPS/include/mumps_c_types.h MUMPS/libseq/mumps_mpi.h mumps_compat.h '/home/rory/ipopt/include/coin-or/mumps'
libtool: install: /usr/bin/install -c .libs/libcoinmumps.so.2.1.0 /home/rory/ipopt/lib/libcoinmumps.so.2.1.0
libtool: install: (cd /home/rory/ipopt/lib && { ln -s -f libcoinmumps.so.2.1.0 libcoinmumps.so.2 || { rm -f libcoinmumps.so.2 && ln -s libcoinmumps.so.2.1.0 libcoinmumps.so.2; }; })
libtool: install: (cd /home/rory/ipopt/lib && { ln -s -f libcoinmumps.so.2.1.0 libcoinmumps.so || { rm -f libcoinmumps.so && ln -s libcoinmumps.so.2.1.0 libcoinmumps.so; }; })
libtool: install: /usr/bin/install -c .libs/libcoinmumps.lai /home/rory/ipopt/lib/libcoinmumps.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /home/rory/ipopt/lib
----------------------------------------------------------------------
Libraries have been installed in:
/home/rory/ipopt/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------