安装MySQLdb-python时无法找到-lprobes_mysql处理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mhmds/article/details/63694774

安装MySQLdb时,首先做了以下步骤配置好mysql_config  

有两种方式可以做:  

① 做个软连接,把mysql_config链接到/usr/local/bin下  

② 修改site.cfg配置,把里面的mysql_config指向$MYSQL_HOME/bin/mysql_config

结果执行安装时,python setup.py install 报错如下:

gcc -pthread -shared build/temp.linux-i686-2.7/_mysql.o -L/home/mysql/mysql/lib -lmysqlclient -lpthread -lprobes_mysql -lz -lm -lrt -ldl -o build/lib.linux-i686-2.7/_mysql.so
/usr/bin/ld: cannot find -lprobes_mysql
collect2: ld 返回 1
error: command \'gcc\' failed with exit status 1


后来使用pip进行安装,结果报同样错误。


后来怀疑是gcc问题,毕竟有"error: command \'gcc\' failed with exit status "
于是通过本地yum源打上了mysql-devel,结果问题依旧。



最后在网上查资料,找到网友的解决方法:

回到关键点上"/usr/bin/ld: cannot find -lprobes_mysql"
细心分析,我们知道,ld是共享库加载器,没有道理ld 找不到,除非只有一种可能,那就是本来就没有,让ld 怎么找呢

因为我的mysql是源码编译安装的,CMAKE没有指定-DENABLE_DTRACE=OFF 选项[缺省是ON]
但要重装mysql??臣妾做不到啊。。。

最后在bugs.mysql.com里面从某个外国人的评论当中得到启发
把mysql_config里面的第112行 libs 键值里面的 -lprobes_mysql(里面有三行与此相关)去掉,再运行 python setup.py install
成功!

如果您的mysql是二进制安装或者直接rpm安装,可能不存在我这个问题














展开阅读全文

ASP.Net读取Excel,无法找到安装的ISAM

06-26

代码如下,以前均可以执行,现在我试了N种办法,不存在引号问题,msexcl40注册成功,但是还是报找不到可安装的ISAMrn我的Excel版本是2003、2007,.Net是2008rn报错的位置是da.fill() (da是OleDbDataAdapter),如果OleDbConnection对象Con.open()时也会报找不到可安装的ISAMrnrnstring strcon = string.Empty;rn string strFilePath=UpKaoqin.PostedFile.FileName;rn string strExt = strFilePath.Substring(strFilePath.LastIndexOf(".") + 1).ToLower();rn if (strExt == "xls")rn rn strcon = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" + strFilePath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";rn //strcon = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" + strFilePath + ";Extended Properties='Excel 8.0'";rn //strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;DataSource=" + strFilePath;rn rn if (strExt == "xlsx")rn rn //strcon = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=" + strFilePath + ";Extended Properties='Excel 12.0;HDR=NO;IMEX=1';Persist Security Info=True";rn strcon = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=" + strFilePath + ";Extended Properties='Excel 12.0;HDR=NO;IMEX=1';Persist Security Info=True";rn rn System.Data.OleDb.OleDbConnection Con = new System.Data.OleDb.OleDbConnection(strcon);rn //Application.doevents();rn tryrn rn //Con.Open();rn string strCom = "Select * From [Sheet1$]";rn System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand(strCom, Con);rn OleDbDataAdapter da = new OleDbDataAdapter(myCommand);rn DataSet ds = new DataSet();rn //myCommand.Fill(ds,"[Sheet1$B1:C2]");rn da.Fill(ds);rn DataTable dt = ds.Tables[0];rn // Con.Close();rn rn catchrn rn 论坛

没有更多推荐了,返回首页