相关疑难解决方法(0)

Xcode - 安装命令行工具

如何使用当前的Xcode/Mac OS X v10.8(Mountain Lion)或更高版本安装命令行构建工具?

与Xcode不同,没有安装程序(它只是一个包).

看起来所有命令行工具都在那里(在bundle中,在Contents/Developer下),但没有一个适当的环境变量设置为使用它们.

是否有一个我可以运行的脚本,它将设置我的环境以支持从命令行构建?

macos xcode download command-line-tool

406
推荐指数
10
解决办法
45万
查看次数

无法通过自制软件安装gfortran

当我试图安装gfortran时,我收到了此消息.

~$ brew install gfortran
Error: No available formula for gfortran
GNU Fortran is now provided as part of GCC, and can be installed with:
  brew install gcc
Run Code Online (Sandbox Code Playgroud)

我的问题是如何用自制软件或端口安装gfortran?

要么

如果现在GNU Fortran是GCC的一部分我如何使用gcc编译fortran代码?

我不确定我是否误解了一些我记得上次我仍然可以使用gfortran编译我的代码但现在它不起作用的东西.

更多的信息:

当我使用命令时,brew list我仍然看到gfortran在那里,但不能使用它.

更多信息(最新):

好的,现在我可以使用gfortran命令,但另一个问题来了

~$ gfortran-4.9 hello.f
dyld: Library not loaded: /usr/local/lib/libcloog-isl.4.dylib
  Referenced from: /usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/f951
  Reason: image not found
gfortran-4.9: internal compiler error: Trace/BPT trap: 5 (program f951)
Abort trap: 6
Run Code Online (Sandbox Code Playgroud)

homebrew fortran gfortran fortran90

19
推荐指数
1
解决办法
2万
查看次数

使用Emscripten与Fortran:LAPACK绑定

我的目标是使用LAPACK和Emscripten.

我的问题是:如何将LAPACK移植到JS?这是我能想到的两种方式:CLAPACK到JS我的问题是:有人知道一个晚于3.2.1的非官方版本吗?另一种想法是:如何将FORTRAN移植到JS?

Emscripten能够将C代码转换为JavaScript.但遗憾的是,LAPACK 3.5.0(http://www.netlib.org/lapack/)仅适用于FORTRAN95.

CLAPACK项目(http://www.netlib.org/clapack/)基本上就是我想要的:LAPACK的C版本.但是这个已经过时了; 最新的是3.2.1.

F2C仅适用于FORTRAN 77.LAPACK 3.5.0是用FORTRAN 95编写的.

所以现在我的问题是:为什么没有更新的LAPACK端口到C?

最佳方法是使用clang和emscripten直接将LAPACK的FORTRAN95代码转换为javascript.但我只是不知道从哪里开始.

Emscripten目前不支持FORTRAN.但它处理LLVM bitcode,因此使用clang从FORTRAN文件生成LLVM bc应该不是问题.

出于测试目的,我有这个文件:

      program hello
      print *, "Hello World!"
      end program hello
Run Code Online (Sandbox Code Playgroud)

用"clang hello.f -o hello -lgfortran"编译就好了.我无法将其转换为有效的bitcode.

clang -c -emit-llvm hello.f      
clang -S -emit-llvm hello.f -o hello.bc -lgfortran
Run Code Online (Sandbox Code Playgroud)

这些方法都不起作用,因为emscripten一直告诉我

emcc -c hello.o -o hello.js
hello.o is not valid LLVM bitcode
Run Code Online (Sandbox Code Playgroud)

我不确定是否可能这样做,因为LAPACK显然需要libgfortran才能工作.而且我无法将库合并到javascript代码中......

提前致谢!

编辑:

我几乎设法将BLAS从LAPACK 3.5.0转换为JS.我用dragonegg来完成这个.

gfortran caxpy.f -flto -S -fplugin=/usr/lib/gcc/x86_64-linux-gnu/4.6/plugin/dragonegg.so 
gfortran cgerc.f ...
...
Run Code Online (Sandbox Code Playgroud)

从中获得LLVM bitcode之后:

emcc caxpy.s.ll cgerc.s.ll cher.s.ll ... -o blas.js …
Run Code Online (Sandbox Code Playgroud)

javascript c fortran lapack emscripten

5
推荐指数
1
解决办法
2010
查看次数