本文记录在ubuntu下运行OpenSystemArchitect错误的解决方法。
抛弃win7将系统换成了64位的ubuntu,最大的问题就是很多windows下的软件都用不了,比如powerdesigner。
有个开源的软件 叫OpenSystemArchitect据说可替代,于是决定试试。
OpenSystemArchitect的网站(直接打开主页报403错,那里给的纠错link又是主页,递归的例子呃 - -||| )
http://www.codebydesign.com/SystemArchitect/downloads/
下载了
OpenSystemArchitect-4.0.0-linux-x86-64bit.tar.gz (http://www.codebydesign.com/SystemArchitect/downloads /OpenSystemArchitect-4.0.0-linux-x86-64bit.tar.gz)
注意主页上有提到
C代码
OSA requires that unixODBC be installed - preferrably with the GUI bits.
所以需要安装unixodbc www.2cto.com
C代码
sudo apt-get install unixodbc
运行软件,会看到找不到libstdc++.so.5的错误:
error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
原因是当前系统的gcc版本太新了,没有这个老版本的库。
到http://packages.debian.org/squeeze/amd64/libstdc++5/download 下载!
安装libstdc++5
Java代码
$ dpkg-deb -x libstdc++5_3.3.6-20_amd64.deb libstdc++5
$ sudo cp libstdc++5/usr/lib/libstdc++.so.5.0.7 /lib
$ cd /lib
$ sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5
再次运行程序,会看到 Segmentation fault 的错误输出。
C代码
$ strace ./OpenSystemArchitect
会发现一行
open("/etc/odbcinst.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
试着在/etc建一个空文件odbcinst.ini,软件运行成功。