- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 Windows 7 操作系统。我已按照 PETSc web page 的说明进行操作;在 VS 2005 的命令提示符中,我打开了 cygwin 并使用以下命令安装了 PETSc:
./configure --with-cc='win32fe cl' --with-fc=0 --with-mpi=0 --download-f2cblaslapack
我尝试从网页运行以下示例:
cd src/ksp/ksp/examples/tutorials
make ex2
ex2.c是c程序代码。我收到以下错误:
$ make ex2
makefile:18: /conf/variables: No such file or directory
makefile:19: /conf/rules: No such file or directory
makefile:1151: /conf/test: No such file or directory
make: *** No rule to make target `/conf/test'. Stop.
这是什么原因造成的?
(更重要的是)我该如何修复它?
*编辑:我也可以使用一般性答案,因为目前我什至不知道要 Google 搜索什么,而且我不想只联系 PETSc 支持来解决所有问题。
<小时/>我决定在 Ubuntu 上工作。现在,事情就这样了。安装后我写:
gcc -I$PETSC_DIR/include -L$PETSC_DIR/$PETSC_ARCH/lib -libpetsc ex2
在命令行中。我收到错误消息:
/usr/bin/ld: cannot find -libpetsc ex2: In function
_start':
_start' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o:(.text+0x0): first defined here ex2: In function
(.text+0x1bc4): multiple definition of_fini':
_fini' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o:(.fini+0x0): first defined here ex2:(.rodata+0x0): multiple definition of
(.fini+0x0): multiple definition of_IO_stdin_used'
__data_start': (.data+0x0): multiple definition of
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o:(.rodata.cst4+0x0): first defined here
ex2: In function__data_start'
__data_start': (.data+0x8): multiple definition of
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o:(.data+0x0): first defined here
ex2: In function__dso_handle'
_init': (.init+0x0): multiple definition of `_init' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o:(.init+0x0): first defined here collect2: ld returned 1 exit status
/usr/lib/gcc/x86_64-linux-gnu/4.6/crtbegin.o:(.data+0x0): first defined here
ex2: In function
最佳答案
如 PETSc web page 中所述在遇到问题?部分下,了解与 make
相关的问题您需要设置PETSC_DIR
和PETSC_ARCH
由配置打印。
是什么原因造成的?:makefile
在src/ksp/ksp/examples/tutorials
目录指PETSC_DIR
包含配置文件,即
include ${PETSC_DIR}/conf/variables
include ${PETSC_DIR}/conf/rules
...
include ${PETSC_DIR}/conf/test
现在当你执行 make
时正如 make ex2
(从错误来看,它表明您尚未设置PETSC_DIR
变量),${PETSC_DIR}
因此是空的make
尝试包括/conf/variables
, /conf/rules
& /conf/test
不存在的文件。
如何修复它?
你必须运行make
正如网站上提到的
make PETSC_DIR=<dir_output_from_configure> PETSC_ARCH=<arch_output_from_configure> ex2
在此之前,您需要正确构建源。为了澄清你在问题./configure ...
中提到的内容不安装 PETSc,仅配置构建源。您需要运行make
。当您运行configure
时如果成功,它将输出配置详细信息,包括 PETSC_DIR
和PETSC_ARCH
。示例输出:
./configure --with-mpi=0
===============================================================================
Configuring PETSc to compile on your system
===============================================================================
TESTING: alternateConfigureLibrary from PETSc.packages.petsc4py(config/PETSc/packages/petsc4py.py:65) Compilers:
...
...
PETSc:
PETSC_ARCH: arch-linux2-c-debug
PETSC_DIR: /XXXX/petsc-3.3-p1
Clanguage: C
Scalar type: real
Precision: double
shared libraries: disabled
dynamic loading: disabled
Memory alignment: 16
xxx=========================================================================xxx
Configure stage complete. Now build PETSc libraries with (cmake build):
make PETSC_DIR=/XXXX/petsc-3.3-p1 PETSC_ARCH=arch-linux2-c-debug all
or (experimental with python):
PETSC_DIR=/XXXX/petsc-3.3-p1 PETSC_ARCH=arch-linux2-c-debug ./config/builder.py
xxx=========================================================================xxx
然后你就运行了make PETSC_DIR=/XXXX/petsc-3.3-p1 PETSC_ARCH=arch-linux2-c-debug all
如 configure
的输出中所述。这将构建库。现在您应该能够构建示例了。 (请注意,这是在 Linux 上运行的,您应该几乎能够在 cygwin 上执行相同的操作)
旁注:似乎没有必要设置PETSC_ARCH
为了构建示例,您应该能够使用 make PETSC_DIR=<dir_output_from_configure> ex2
进行构建
希望这有帮助!
关于c - PETSc 示例不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11331289/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!