艰难的LinuxCNC(EMC2)源代码安装依赖03
在安装MesaLib-7.2.1.tar.gz 之前,先安装libdrm,
libdrm-2.4.41.tar.bz2
http://dri.freedesktop.org/libdrm/libdrm-2.4.41.tar.bz2
# sed -e "/pthread-stubs/d" -i configure.ac &&
# sed -e "/man\/Makefile/d" -i configure.ac &&
# autoreconf -fi &&
# ./configure --prefix=/usr/local --enable-udev &&
# make
# make install
然后,安装tcl-8.5 , tk-8.5,
tcl link:
http://prdownloads.sourceforge.net/tcl/tcl8.5.13-src.tar.gz
tk link:
http://prdownloads.sourceforge.net/tcl/tk8.5.13-src.tar.gz
# cd unix
# ./configure
# make
# make install
同时安装,bwidget,
bwidget-1.9.6.tar.gz
http://sourceforge.net/projects/tcllib/files/BWidget/1.9.6/bwidget-1.9.6.tar.gz/download
安装完成后,进入tclsh
引入使用BWidget:
- If you have uncompressed the archive file under the Tcl Library Path
directory, you only need to do:
如果有没有解压的包文件在tcl 库路径文件夹中,你仅仅需要做:
% package require BWidget
- If not, you have to specify the BWidget installation path in auto_path
global variable:
% lappend auto_path <install_path>
% package require BWidget
To launch the demo, you need to cd into the demo subdirectory:
$ cd <install_path>/demo
$ wish demo.tcl
然后安装 boost.python
pyboost-0.1.0-sources.zip
http://sourceforge.net/projects/pygccxml/files/pyboost/pyboost-0.1/pyboost-0.1.0-sources.zip/download
依赖关系:
pygccxml-1.0.0.zip
http://sourceforge.net/projects/pygccxml/files/pygccxml/pygccxml-1.0/pygccxml-1.0.0.zip/download
pyplusplus-1.0.0.zip
http://sourceforge.net/projects/pygccxml/files/pyplusplus/pyplusplus-1.0/pyplusplus-1.0.0.zip/download
安装以上软件依赖工具cmake,
# unzip pygccxml-1.0.0.zip
# cd pygccxml-1.0.0.zip
# mkdir build
# cd build
# cmake ..
# make
# make install
boost.python这几个软件安装都是这样的步骤,
安装完成后,就可以./configure 配置LinuxCNC 软件了,
# cd linuxcnc-dev
# cd src
# ./configure --enable-run-in-place \
--enable-simulator
会出现问题,没有找到 _tkinter
这个是python 的图形界面工具,跟随python一齐安装,python-2.7.3 中import 没有成功,所以我选择是避开,
--tkConfig --tclConfig
然后配置依赖关系过了,就是make,
这个时候需要正确的安装 ncurses 和 readline, 否则make的时候出现错误。
ncurses
./configure
make
make install
Readline-6.2
ftp://ftp.lfs-matrix.net/pub/lfs/lfs-packages/7.2/readline-6.2-fixes-1.patch
ftp://ftp.lfs-matrix.net/pub/lfs/lfs-packages/7.2/readline-6.2.tar.gz
sed -i '/MV.*old/d' Makefile.in
sed -i '/{OLDSUFF}/c:' support/shlib-install
patch -Np1 -i ../readline-6.2-fixes-1.patch
./configure --prefix=/usr/local --libdir=/lib
make SHLIB_LIBS=-lncurses/* 意思是强制连接到libncurese 库
make install
mv -v /lib/lib{readline,history}.a /usr/local/lib
rm -v /lib/lib{readline,history}.soln -sfv ../../lib/libreadline.so.6
/usr/lib/libreadline.soln -sfv ../../lib/libhistory.so.6 /usr/lib/libhistory.so
mkdir -v /usr/share/doc/readline-6.2install -v -m644 doc/*.{ps,pdf,html,dvi} \/usr/share/doc/readline-6.2
,
现在就可以编译和安装LinuxCNC,
# make
# make install
最后,如果仿真用,最好安装rtai, 或者 连接_thinter 到python ,
如果仿真一个,下一个没有办法仿真,建议重启系统后,选择其他的。
更多操作和开发文件,见LinuxCNC官方pdf资料,还是比较全的。