日期:2014-05-16  浏览次数:20983 次

艰难的LinuxCNC(EMC2)源代码安装依赖01
艰难的LinuxCNC(EMC2)源代码安装依赖01


为了写一个圆弧补偿的程序,分析了ode,想再深入了解一下,在linuxCNC(emc2)系统仿真,看看它的算法,没有想到源代码安装,有如此庞大的依赖关系库,因为LinuxCNC的资料比较完善。这个软件只有一半的代码开放,内涵一多半代码没有开放,由于项目源于美国国家标准和技术研究院,也可以理解这样的事情。


现介绍一下linuxCNC软件:


LinuxCNC (增强版机械控制)是机床(车床和铣床)的计算机控制系统;

(传统的是计算机数值控制CNC computer numerical control)。
LinuxCNC 是自由软件,且开放源代码, 现行版本认证协议是GPL and LGPL。


LinuxCNC 包括:

多个图形用户界面,包括一个触摸屏

一个G代码解释器,(RS-274机床编程语言)

一个实时具有前瞻性的运动规划系统

低层机械电子操作(比如传感器和电机)

一个易用的“电子测试板“层面的快速生成你设备的独有配置

一个配备梯形图的PLC编程软件

方便的deb格式安装和Live-CD(嵌入linuxCNC的ubuntu光盘)

它不支持CAD制图,或者,G代码生成机械自动生产的公式。

它可以仿真到9轴运动和支持多样界面

在计算机上LinuxCNC软件上可以完成控制可操作真实的伺服(模拟或者PWM脉宽)并配闭环反馈系统

运动控制特点包括: 切削半径和长度补偿,路径偏差限制在允许的误差范围内,车削螺纹,多轴运动同步,合理的进给率,操作者进给极限限制,和常规速度控制。

支持非笛卡尔运动系统是支持用户的运动动力模型,可以支持的结构(机械结构)包括hexapods 六角并连杆系统
(Steward 平台和类似的感念)和 旋转关节系统的运动支持,
比如PUMA 或者SCARA 机器人,(商业名称:工业机器人industrial rotob,学术名称:机械手臂 manipulator)
/* Steward是20世纪60年代德国工程师,最早提出的六自由度装配平台,应用到机械加工上的就是并连杆机床 */


LinuxCNC 运行在Linux的 实时 扩展上, 支持现行的 2.4 & 2.6 内核,实时扩展应用的是RT-Linux 或者 RTAI 补丁。


安装deb格式和刻录Live-CD是比较快的安装方法,但是开发者如果安装它,尤其是一个新系统,那就比较麻烦了,

我写了我安装的过程,希望为开发者节省安装的时间,

系统: debian squeeze, 604 stable version, i586, version, 裸系统,只有gnome,没有autotools.

硬件: hp nx6120 笔记本电脑, intel pentium m.

1, 首先安装gcc, autoconf, autogen, automake, make, libtool,m4, 这几个软件,我安装的方法是synaptic

打开(左上角的菜单),》系统,》系统管理 》 新立得软件包管理器,  或者在终端中进入超级用户,su, 然后输 synaptic

搜索上述软件,并选择,放入安装光盘,选择并点击《 应用 》执行安装。

2, 下载 LinuxCNC源代码,在终端中直接输入以下指令,在当前文件夹新建linuxcnc-dev,把所有代码下载到此文件夹内,

 git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc-dev


3,开始安装,进入linuxcnc-dev 文件夹,

# cd linuxcnc-dev

然后,查看安装命令,

# ls

查看文件,其中有一个README的文件,可以用查看内容,

# cat README (or, nano README or, vi README) 

内容如下:


From the top level directory, switch to the source directory:

  cd src

In the source directory, build LinuxCNC:

  ./configure --enable-run-in-place
  [or, if you do not have a realtime kernel:]
  ./configure --enable-run-in-place --enable-simulator

  make clean
  make
  sudo make setuid

to run the software go back to the top level directory, and issue:

  . scripts/rip-environment
  linuxcnc

根据提示,我们进入src文件夹,

# cd src

然后开始编译配置文件,输入命令

./configure --enable-run-in-place --enable-simulator


4,出现了问题,就是,依赖mesalib,我们就说说安装MesaLib-7.5.1

下载地址:http://downloads.sourceforge.net/project/mesa3d/MesaLib-7.5.1.tar.gz



Mesa-7.5.1的依赖关系,依赖glib-2.0, 而glib-2.0以来Xorg Libraries,


4.1 Xorg Libraries,

详细的安装参考: Xorg-7.7 (因为此版本支持自动下载和安装多个文件)


http://www.linuxfromscratch.org/blfs/view/svn/x/x7lib.html

 Xorg Libraries 以来以下软件,

Fontconfig-2.10.2, Xorg Protocol Headers, libXdmcp-1.1.1, and libxcb-1.9 

我安装的时候,按照这个顺序来的,
 24. X Window System E