成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

編譯MySQL時(shí)Linux thread not found問(wèn)題與解決

數(shù)據(jù)庫(kù) MySQL
本文主要介紹了再FC6系統(tǒng)中從源碼安裝MySQL數(shù)據(jù)庫(kù)時(shí)提示“MySql時(shí)Linux thread not found”時(shí)的解決方案,希望能對(duì)讀者有所幫助。

在FC6系統(tǒng)中從源碼安裝MySQL時(shí)遇到問(wèn)題如下,提示Linux thread not found的錯(cuò)誤,代碼如下:

  1. #./configure --prefix=/usr/local/mysql  
  2.  
  3. …  
  4.  
  5. …  
  6.  
  7. checking "LinuxThreads"... "Not found"  
  8.  
  9. configure: error: This is a linux system and Linuxthreads was not found. On linux Linuxthreads should be used.   
  10.  
  11. Please install Linuxthreads (or a new glibc) and try again.   
  12.  
  13. See the Installation chapter in the Reference Manual for more information. 

在網(wǎng)上隨便搜一下關(guān)鍵字“Linuxthreads was not found”可以找到很多相關(guān)的帖子,但大多都沒(méi)有提供完整解決方案。

下面來(lái)分析一下上面的出錯(cuò)情況,并就此提供一個(gè)解決方案。從上面的出錯(cuò)可以很明顯的看出是說(shuō)系統(tǒng)缺少線程庫(kù)。沒(méi)有線程,Linux可以運(yùn)行嗎?呵呵,那當(dāng)然不行。既然沒(méi)有l(wèi)inuxthread那現(xiàn)在用的是什么呢?

答案是NPTL

作為去除過(guò)時(shí)的LinuxThreads 庫(kù)的一個(gè)步驟,在 Fedora Core 5 test1 中編譯和連接的代碼現(xiàn)在自動(dòng)使用NPTL頭文件和庫(kù)。在過(guò)去的版本中,從 Red Hat Linux 9 開(kāi)始,默認(rèn)的線程模型是LnuxThreads,因?yàn)榻涌谑亲钔ㄓ玫摹PTL 接口的優(yōu)點(diǎn)在于,線程取消的處理更快 (使用 -fexception 參數(shù)時(shí),即使在 C 代碼中)。現(xiàn)在附加的接口也已可用,不需要特殊的編譯器和連接器參數(shù)。

下面言歸正轉(zhuǎn),怎樣解決?

可以修改程序去支持NPTL,也可以在編譯時(shí)加上對(duì)原有thread庫(kù)的支持。我選擇了后者,這樣可以不動(dòng)MySql的源代碼。在mysql手冊(cè)中搜關(guān)鍵字thread,可以查到在Chapter 2. Installing and Upgrading MySQL。

2.8.5. MIT-pthreads Notes

  1. If your system does not provide native thread support, you should build MySQL using the MIT-pthreads package.   
  2.  
  3. This includes older FreeBSD systems, SunOS 4.x, Solaris 2.4 and earlier, and some others. See Section 2.1.1, “Operating Systems Supported by MySQL”.  
  4.  
  5. Beginning with MySQL 4.0.2, MIT-pthreads is no longer part of the source distribution.   
  6.  
  7. If you require this package, you need to download it separately from http://www.mysql.com/Downloads/Contrib/pthreads-1_60_beta6-mysql.tar.gz  
  8.  
  9. After downloading, extract this source archive into the top level of the MySQL source directory.  
  10.  
  11.  It creates a new subdirectory named mit-pthreads. 

從上可以看出:只要下到mit-thread源碼就可以了。但不知道為什么官方網(wǎng)站上已經(jīng)沒(méi)有下了的了(我又找了一個(gè)官網(wǎng)的鏡像還是沒(méi)有,郁悶ing)。再仔細(xì)看一下上面,只是將線程源碼放到MySql源碼目錄的根目錄下以mit-pthreads命名的目錄。官方?jīng)]有自己去下一個(gè)也是一樣的,只要解壓后放到上述位置就可了。

于是去下了一個(gè)pthread源碼包,解壓放到相應(yīng)位置。

再執(zhí)行:

  1. #./configure  --prefix=/usr/local/mysql --with-mit-threads 

 

就順利通過(guò)了。

附:NPTL與 LinuxThreads 相比的優(yōu)點(diǎn)

NPTL 沒(méi)有使用管理線程。管理線程的一些需求,例如向作為進(jìn)程一部分的所有線程發(fā)送終止信號(hào),是并不需要的;因?yàn)閮?nèi)核本身就可以實(shí)現(xiàn)這些功能。內(nèi)核還會(huì)處理每個(gè)線程堆棧所使用的內(nèi)存的回收工作。它甚至還通過(guò)在清除父線程之前進(jìn)行等待,從而實(shí)現(xiàn)對(duì)所有線程結(jié)束的管理,這樣可以避免僵尸進(jìn)程的問(wèn)題。由于 NPTL 沒(méi)有使用管理線程,因此其線程模型在 NUMA 和 SMP 系統(tǒng)上具有更好的可伸縮性和同步機(jī)制。

使用 NPTL 線程庫(kù)與新內(nèi)核實(shí)現(xiàn),就可以避免使用信號(hào)來(lái)對(duì)線程進(jìn)行同步了。為了這個(gè)目的,NPTL 引入了一種名為 futex 的新機(jī)制。futex 在共享內(nèi)存區(qū)域上進(jìn)行工作,因此可以在進(jìn)程之間進(jìn)行共享,這樣就可以提供進(jìn)程間 POSIX 同步機(jī)制。我們也可以在進(jìn)程之間共享一個(gè) futex。這種行為使得進(jìn)程間同步成為可能。實(shí)際上,NPTL 包含了一個(gè) PTHREAD_PROCESS_SHARED 宏,使得開(kāi)發(fā)人員可以讓用戶級(jí)進(jìn)程在不同進(jìn)程的線程之間共享互斥鎖。

由于 NPTL 是 POSIX 兼容的,因此它對(duì)信號(hào)的處理是按照每進(jìn)程的原則進(jìn)行的;getpid() 會(huì)為所有的線程返回相同的進(jìn)程 ID。例如,如果發(fā)送了 SIGSTOP 信號(hào),那么整個(gè)進(jìn)程都會(huì)停止;使用 LinuxThreads,只有接收到這個(gè)信號(hào)的線程才會(huì)停止。這樣可以在基于 NPTL 的應(yīng)用程序上更好地利用調(diào)試器,例如 GDB。

由于在 NPTL 中所有線程都具有一個(gè)父進(jìn)程,因此對(duì)父進(jìn)程匯報(bào)的資源使用情況(例如 CPU 和內(nèi)存百分比)都是對(duì)整個(gè)進(jìn)程進(jìn)行統(tǒng)計(jì)的,而不是對(duì)一個(gè)線程進(jìn)行統(tǒng)計(jì)的。

NPTL 線程庫(kù)所引入的一個(gè)實(shí)現(xiàn)特性是對(duì) ABI(應(yīng)用程序二進(jìn)制接口)的支持。這幫助實(shí)現(xiàn)了與 LinuxThreads 的向后兼容性。

【編輯推薦】

  1. php中批量刪除Mysql中相同前綴的數(shù)據(jù)表
  2. Percona Server與MySQL 5.5的性能比較
  3. 利用mysql的audit審計(jì)功能記錄用戶操作信息
  4. NaviCat通過(guò)Http方式連接服務(wù)器的MySQL數(shù)據(jù)庫(kù)
  5. 詳解Discuz_WIN7_Apache_MySQL_PHP平臺(tái)搭建
責(zé)任編輯:趙鵬 來(lái)源: ChinaUnix博客
相關(guān)推薦

2012-07-31 16:06:28

Linux內(nèi)核編譯

2010-01-15 10:31:19

Linux編譯

2010-06-04 14:40:31

2009-07-10 17:16:39

MyEclipse不編

2024-09-18 15:50:59

Docker容器日志

2023-12-13 18:46:51

Docker容器進(jìn)程

2022-10-24 07:57:47

DebianUbuntuLinux

2010-01-05 18:03:57

2011-08-30 15:09:13

2017-03-27 18:05:49

Linux內(nèi)核編譯與開(kāi)發(fā)

2017-12-04 10:56:47

MySQL問(wèn)題分析解決對(duì)策

2009-09-04 10:55:34

2010-03-10 10:24:16

Linux ssh后門

2009-12-29 11:40:50

2024-10-07 11:20:16

2010-06-02 10:42:39

Linux mysql

2015-05-29 10:04:18

遠(yuǎn)程桌面訪問(wèn)HASP NOT Fo運(yùn)維

2011-06-29 11:06:12

Qt Qvfb

2010-05-28 18:05:22

jsp MySQL

2011-03-15 13:30:27

IBatis.netMySQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩欧美中文 | 日本精品视频 | 亚洲欧美日韩久久 | 亚洲高清在线 | 国产一区二区三区久久 | 国产精品特级片 | 青春草91 | 999久久久久久久久6666 | 亚洲精品9999| 国产99视频精品免费视频7 | 久久另类视频 | 欧美一级久久 | 亚洲综合色自拍一区 | 亚洲人成人一区二区在线观看 | 日韩久久久久久久 | 天堂一区二区三区 | 91在线中文字幕 | 天堂一区二区三区 | 日韩欧美中文在线 | 午夜私人影院 | 精品久久久久久久久久 | 亚洲日韩中文字幕 | 日韩在线观看 | 新疆少妇videos高潮 | 黄色大片免费网站 | 亚洲风情在线观看 | 欧美在线日韩 | 久久人人爽人人爽人人片av免费 | 免费黄色的视频 | 日韩免费电影 | 中文字幕高清av | 欧美在线国产精品 | 精品久久久久久久久久久久 | 日本中文在线视频 | 巨大黑人极品videos精品 | 亚洲一区二区三区在线播放 | 成年人精品视频在线观看 | 亚洲欧洲日本国产 | 国产精品自产av一区二区三区 | 91美女在线 | 国产精品免费小视频 |