Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab Mac OS X上库的回滚兼容版本_Matlab_Unix_Version Control_Symlink - Fatal编程技术网

Matlab Mac OS X上库的回滚兼容版本

Matlab Mac OS X上库的回滚兼容版本,matlab,unix,version-control,symlink,Matlab,Unix,Version Control,Symlink,所以,我爱我的Macbook,她也爱我。我们有过起伏,但在大多数情况下,我们的关系一直很牢固。虽然最近我们吵了一架。一开始就很简单。我要求她做得更多,试着做更多的实验。我们把sse、快速数学和展开等东西带进卧室,并编辑了我们图书馆的新版本 一开始就很顺利。我们将使用新的库编译一些代码,测试新的waters。随着时间的推移,我们作为一对夫妇的表现大幅提升。她工作得更快,我觉得一切都很好。然后情况变得更糟了。我们又请了一名球员加入。她的名字叫Matlab 我们开始为Matlab编译 mex CC="

所以,我爱我的Macbook,她也爱我。我们有过起伏,但在大多数情况下,我们的关系一直很牢固。虽然最近我们吵了一架。一开始就很简单。我要求她做得更多,试着做更多的实验。我们把sse、快速数学和展开等东西带进卧室,并编辑了我们图书馆的新版本

一开始就很顺利。我们将使用新的库编译一些代码,测试新的waters。随着时间的推移,我们作为一对夫妇的表现大幅提升。她工作得更快,我觉得一切都很好。然后情况变得更糟了。我们又请了一名球员加入。她的名字叫Matlab

我们开始为Matlab编译

mex CC="gcc" CFLAGS="\$CFLAGS -msse -msse2 -msse3 -ffast-math -ftree-vectorize" LDFLAGS="\$LDFLAGS -msse2 -msse3 -ffast-math -ftree-vectorize" -I/usr/local/include -L/usr/local/lib -lsundials_cvode -lsundials_nvecserial -v -o kry_new.mexmaci64 mex_main.c
编译和链接非常有效。但后来麻烦开始了:

kry_new(param,init,0:60:240,abstol,rtol,1)
??? Invalid MEX-file
'/Users/Andrew/Documents/MATLAB/het_optim/kry_new.mexmaci64':
dlopen(/Users/Andrew/Documents/MATLAB/het_optim/kry_new.mexmaci64, 1):
Library not loaded: /usr/local/lib/libsundials_cvode.1.dylib
  Referenced from: /Users/Andrew/Documents/MATLAB/het_optim/kry_new.mexmaci64
  Reason: Incompatible library version: kry_new.mexmaci64 requires version
  2.0.0 or later, but libsundials_cvode.1.dylib provides version 1.0.0.
Matlab觉得我们的实验已经走得很远了。他们是完全不同版本的图书馆。我不知道她是从哪里得到这个主意的。我做了一些调查:

$ otool -L kry_new.mexmaci64 
kry_new.mexmaci64:
    /usr/local/lib/libsundials_cvode.1.dylib (compatibility version 2.0.0, current version 2.0.0)
    @loader_path/libsundials_nvecserial.0.0.2.dylib (compatibility version 0.0.0, current version 0.0.2)
    @loader_path/libmx.dylib (compatibility version 0.0.0, current version 0.0.0)
    @loader_path/libmex.dylib (compatibility version 0.0.0, current version 0.0.0)
    @loader_path/libmat.dylib (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
问题出在《太阳报》上。没有版本2,从来没有。更糟糕的是,我的Macbook站在Matlab一边。我试着卸载,去掉所有对新事物的引用,甚至删除了我们的make文件并尝试重新开始。我试图用老办法重建我们的图书馆。但他们不会放弃难以捉摸的版本2。我不知道如何给他们想要的。我只是不够男人,不能满足他们对我的期望

我唯一能猜到的是,在某种程度上,版本2是有意义的,但我不知何故放弃了它。我想即使我回到原来的样子,我所呈现的链接仍然留在他们的脑海中。我想我忘了我的系统管理员给我的第一条规则,那就是“鸟和蜜蜂说话”,每次你象征着一个动态的图书馆,你就把你自己的一部分给了别人,而你永远也回不来了

为了让我的Macbook和Matlab都留在我的生活中,我不顾一切地撒了一个我并不自豪的谎:

sudo mv libsundials_cvode.1.0.0.dylib libsundials_cvode.2.0.0.dylib 
我认为这不管用,但确实管用。他们现在编译了我的代码,看起来很高兴。但我有一种挥之不去的感觉,那就是我只是在假装,我的谎言会回来咬我


所以,既然丹·萨维奇不理我,我就向你寻求关系方面的建议。我需要告诉我的Macbook,不,1.0.0版对我们来说已经足够了。我怎样才能让她听我的话,在没有我可怕的谎言的情况下解决我的关系中的兼容性问题呢?

如果我找错了方向,请原谅,但是从我所能知道的情况来看,《日晷》的版本是2.4(每个库的版本是2.6)。你试过从这里的来源编译吗

我刚刚编译并安装在运行10.6.7的Mac Pro上,没有任何问题!为了安装.dylib,您需要使用以下命令进行配置,否则它只会生成.la和.a

./configure --enable-shared
我现在有以下资料:

w125-244:sundials-2.4.0 stevemoss$ ls -al /usr/local/lib/libsundials_cvode*
-rwxr-xr-x  1 root  staff    4136 28 Apr 16:07 /usr/local/lib/libsundials_cvode.1.0.0.dylib
lrwxr-xr-x  1 root  staff      29 28 Apr 16:07 /usr/local/lib/libsundials_cvode.1.dylib -> libsundials_cvode.1.0.0.dylib
-rw-r--r--  1 root  staff  512704 28 Apr 16:07 /usr/local/lib/libsundials_cvode.a
lrwxr-xr-x  1 root  staff      29 28 Apr 16:07 /usr/local/lib/libsundials_cvode.dylib -> libsundials_cvode.1.0.0.dylib
-rwxr-xr-x  1 root  staff     878 28 Apr 16:07 /usr/local/lib/libsundials_cvode.la
-rwxr-xr-x  1 root  staff    4136 28 Apr 16:07 /usr/local/lib/libsundials_cvodes.2.0.0.dylib
lrwxr-xr-x  1 root  staff      30 28 Apr 16:07 /usr/local/lib/libsundials_cvodes.2.dylib -> libsundials_cvodes.2.0.0.dylib
-rw-r--r--  1 root  staff  926048 28 Apr 16:07 /usr/local/lib/libsundials_cvodes.a
lrwxr-xr-x  1 root  staff      30 28 Apr 16:07 /usr/local/lib/libsundials_cvodes.dylib -> libsundials_cvodes.2.0.0.dylib
-rwxr-xr-x  1 root  staff     885 28 Apr 16:07 /usr/local/lib/libsundials_cvodes.la


此外,在您的示例中,符号链接可能比mv更好?

我希望我知道。。。但是,所有StackOverflow问题都应重新编写为关系建议列。我在投票:我希望其他人能帮忙。
w125-244:sundials-2.4.0 stevemoss$ otool -L /usr/local/lib/libsundials_cvode.dylib
/usr/local/lib/libsundials_cvode.dylib:
    /usr/local/lib/libsundials_cvode.1.dylib (compatibility version 2.0.0, current version 2.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.10)