Linux下编译驱动代码时smp_lock.h文件找不到的解决方案
项目中有个驱动代码之前在老版本linux系统中编写的 在移植到 linux-kernel-3.2.0 后,编译时出现一处错误 fatal error: linux/smp_lock.h: No such file or directory
解决办法
将:
#include <linux/smp_lock.h>
替换成:
#include <linux/hardirq.h>
项目中有个驱动代码之前在老版本linux系统中编写的 在移植到 linux-kernel-3.2.0 后,编译时出现一处错误 fatal error: linux/smp_lock.h: No such file or directory
将:
#include <linux/smp_lock.h>
替换成:
#include <linux/hardirq.h>
以最小化安装的CentOS系统默认是不自动设置IP信息的。 我们想要正常访问网络,第一步就必须先把IP设置好。
[root@centos ~]# dhclient eth0
[root@centos ~]# echo 'GATEWAY="192.168.1.1"' >> /etc/sysconfig/network
[root@centos ~]# echo 'DEVICE="eth0"
HWADDR="00:0C:29:28:F9:88"
NM_CONTROLLED="yes"
ONBOOT="yes"
BOOTPROTO="none"
BROADCAST="192.168.1.255"
IPADDR="192.168.1.120"
NETMASK="255.255.255.0"
NETWORK="192.168.1.0"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
TYPE="Ethernet"' > /etc/sysconfig/network-scripts/ifcfg-eth0
[root@centos ~]# echo 'nameserver 8.8.8.8
nameserver 8.8.4.4'> /etc/resolv.conf
[root@centos ~]# service network restart
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
如果在python程序执行时遇到这个错误提示“No module named MySQLdb”
easy_install mysql-python (mix os)
pip install mysql-python (mix os)
apt-get install python-mysqldb (Linux Ubuntu, ...)
cd /usr/ports/databases/py-MySQLdb && make install clean (FreeBSD)
yum install MySQL-python (Linux Fedora, CentOS ...)
对应后面括号内系统执行相应的命令就可以进行安装
由于ubuntu 12.04默认采用了Unity界面,对于我这种菜鸟来说用起来很是不顺手,所以搜了一下,发现有办法回归gnome界面。
在此记录下供自己以及还不了解这个解决办法的人使用。
sudo apt-get install gnome-session-fallback
下面就是设置了,登出当前用户后进行以下步骤:
现在,输入密码登录看看,是不是已经是熟悉的gnome界面了呢。至此,打完收工。 (o≖◡≖)
首先查看日志文件
[root@ubuntu]# cat /var/log/danted.log
发现里面有这样的记录
May 24 13:57:52 (1337839072) danted[13596]: socks_seteuid(): old: 0, new: 65534
May 24 13:57:52 (1337839072) danted[13596]: socks_reseteuid(): current: 65534, new: 0
May 24 13:57:52 (1337839072) danted[13596]: fixsettings(): setting the libwrap uid to 0 is not recommended
May 24 13:57:52 (1337839072) danted[13596]: symbolfunction(): compiletime configuration error? Failed to open "libc.so": /usr/lib/i386-linux-gnu/libc.so: invalid ELF header
说明程序在找/usr/lib/i386-linux-gnu/libc.so位置的libc.so没找到,所以解决办法就是创建一个链接命令如下:
ln -sf /lib/i386-linux-gnu/libc.so.6 /usr/lib/i386-linux-gnu/libc.so
再启动下服务
service danted start
看看是不是启动成功啦! (o≖◡≖)
因为到现在位置在国内没有搜索到这个问题的解决办法,所以记录在这里。或许能帮到有需要的人。
另外,这里有dante socks server的安装说明: http://wiki.kartbuilding.net/index.php/Dante_Socks_Server
在使用未注册的 RedHat Linux 企业版时。使用yum命令会出现如下提示:
[root@localhost ~]# yum install httpd
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
No package httpd available.
Nothing to do
而这种情况可以使用CentOS的yum来代替掉系统本身的yum 脚本如下:
#!/bin/sh
rpm -qa | grep yum | xargs rpm -e --nodeps
wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
wget http://mirrors.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
wget http://mirrors.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-39.el5.centos.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
rpm -ivh yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
rpm -ivh yum-3.2.22-39.el5.centos.noarch.rpm
wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo
mv CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
rm -f yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
rm -f yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
rm -f yum-3.2.22-39.el5.centos.noarch.rpm
rm -f CentOS-Base.repo
将上面的脚本保存为:redhat_use_centos_yum.sh
点击这里直接下载 redhat_use_centos_yum.sh 然后直接运行这个脚本即可。
如果闲麻烦也可以依次输入下面几条指令来下载并执行我已经写好的脚本,同样可以达到目的:
wget http://www.leelib.com/wp-content/uploads/2012/04/redhat_use_centos_yum.sh
chmod 777 redhat_use_centos_yum.sh
sudo ./redhat_use_centos_yum.sh
现在再试试yum命令是否已经没有了 This system is not registered with RHN. 提示,并且可以正常使用了呢! :)
今天因为项目需要,需要编译freeradius来使用。
结果在编译过程中出现如上错误 cannot find -lperl
。
sudo yum -y install libtool-perl*
sudo apt-get install libperl-dev
做个笔记,希望能够帮到遇到这个问题的人。 (o≖◡≖)
为了能让gedit能够直接编辑不属于当前用户的文件,我们需要做如下操作:
gksudo 其实就是对应桌面环境下的 sudo 命令.
我才学到的留以记录,希望能帮到需要的人。
等第2步完成之后你就可以打开更新管理器更新了 顺便一提 网易的更新速度真的很快,我这里下载600K/s
以下是更新列表内容:
deb http://mirrors.163.com/ubuntu/ precise main restricted
deb-src http://mirrors.163.com/ubuntu/ precise main restricted
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb http://mirrors.163.com/ubuntu/ precise universe
deb-src http://mirrors.163.com/ubuntu/ precise universe
deb http://mirrors.163.com/ubuntu/ precise-updates universe
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe
deb http://mirrors.163.com/ubuntu/ precise multiverse
deb-src http://mirrors.163.com/ubuntu/ precise multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-security main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted
deb http://mirrors.163.com/ubuntu/ precise-security universe
deb-src http://mirrors.163.com/ubuntu/ precise-security universe
deb http://mirrors.163.com/ubuntu/ precise-security multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-security multiverse
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main
你也可以在我这里下载自动修改脚本:点我下载