日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

裝載 ubuntu下git卸載 || 缺少alsa/asoundlib.h問題 || .

 ala咪s 2014-02-13

【W(wǎng)ebRTC排錯(cuò)】ubuntu下git卸載 || 缺少alsa/asoundlib.h問題 ||


排查得到:

webm$ git clone https://git./webm/libvpx.git
Cloning into libvpx...
fatal: Unable to find remote helper for 'https'

解決:

How did you install git, and which version of it do you have? Can you
clone other git repos hosted via HTTP manually using "git clone"? http:///git/708090-report-remote-helper-exec-failures.html suggests
that this may be a problem with your copy of git not being able to run its remote helper  for HTTP.

git 安裝不正確!??!缺少對http的支持,有些包沒裝好

Git is reasonably self-sufficient, but does depend on a few external
   programs and libraries.  Git can be used without most of them by adding
   the approriate "NO_<LIBRARY>=YesPlease" to the make command line or
   config.mak file.

    - "zlib", the compression library. Git won't build without it.

    - "ssh" is used to push and pull over the net.

    - A POSIX-compliant shell is required to run many scripts needed
      for everyday use (e.g. "bisect", "pull").

    - "Perl" version 5.8 or later is needed to use some of the
      features (e.g. preparing a partial commit using "git add -i/-p",
      interacting with svn repositories with "git svn").  If you can
      live without these, use NO_PERL.

    - "openssl" library is used by git-imap-send to use IMAP over SSL.
      If you don't need it, use NO_OPENSSL.

      By default, git uses OpenSSL for SHA1 but it will use it's own
      library (inspired by Mozilla's) with either NO_OPENSSL or
      BLK_SHA1.  Also included is a version optimized for PowerPC
      (PPC_SHA1).

    - "libcurl" library is used by git-http-fetch and git-fetch.  You
      might also want the "curl" executable for debugging purposes.
      If you do not use http:// or https:// repositories, you do not
      have to have them (use NO_CURL).


    - "expat" library; git-http-push uses it for remote lock
      management over DAV.  Similar to "curl" above, this is optional
      (with NO_EXPAT).

    - "wish", the Tcl/Tk windowing shell is used in gitk to show the
      history graphically, and in git-gui.  If you don't want gitk or
      git-gui, you can use NO_TCLTK.


  解決辦法:

干脆不要最新版本,不要自己去官網(wǎng)下載make,直接  2. sudo apt-get install git git-core 來安裝GIT程序,或者到新立得軟件包里面 輸入 git然后安裝。首先要卸載掉之前make源碼的版本才行,

從源碼裝的Git, 它的Makefile 里面沒有make uninstall項(xiàng),所以要?jiǎng)h除歷史版本,只能通過刪除文件的方式。
先要看你的安裝過程是怎么樣的,我的如下:

$ tar -jxvf git-1.4.0.tar.bz2
$ cd git-1.4.0/
$ make
$ sudo make prefix=/usr/local install

所以最終安裝目錄在 /usr/local 下:
$ which git
/usr/local/bin/git
$ git --version
git version 1.4.0
$ ls /usr/local/bin/
git git-http-fetch git-repack
git-add git-http-push git-repo-config
git-am git-imap-send git-request-pull
git-annotate git-index-pack git-rerere
....
要把Git卸載掉,用下面的命令:1.
$ sudo find /usr/local -depth -iname 'git*' -exec rm -rf {} \;
當(dāng)然,如果你使用的是configure 生成的Makefile,要卸載,如下:
安裝過程:
$ ./configure --prefix=/opt/git
$ make all doc
$ sudo make install install-doc install-symlinks
卸載:
$ sudo rm -rf /opt/git
$ sudo find /usr/local -lname '/opt/git/*' -delete

GIT 是用于 Linux 內(nèi)核開發(fā)的版本控制工具。與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫的方式,不必服務(wù)器端軟件支持,使源代碼的發(fā)布和交流極其方便。 Git 的速度很快,這對于諸如 Linux kernel 這樣的大項(xiàng)目來說自然很重要。 Git 最為出色的是它的合并跟蹤(merge tracing)能力。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
WebRTC 還是有錯(cuò)誤

"Updating projects from gyp files...
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found

Exception: Call to 'pkg-config --cflags gtk+-2.0' returned exit status 1. while trying to load trunk/webrtc.gyp
Error: Command /usr/bin/python trunk/build/gyp_chromium --depth=trunk trunk/webrtc.gyp returned non-zero exit status 1 in ...WebRTC

"

解決辦法:

問題5:   No package 'gtk+-2.0' found 錯(cuò)誤

Package gtk+-2.0 was not found in the pkg-config search path.Perhaps you should add the directory containing `gtk+-2.0.pc'to the PKG_CONFIG_PATH environment variableNo package 'gtk+-2.0' foundERROR: pkg-config was not found, or unable to access the gtk+-2.0 package.Install pkg-config and the gtk+ development package,or disable the gui debugger, or the wxWidgets display library (whichever is being used).

解決方法:

[thornbird@thornbird bochs-2.4]$sudo apt-get install libgtk2.0-dev 或者在新立德搜libgtk2.0-dev

終于成功啦?。?!

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

peerconnection_server小問題,默認(rèn)的端口號(hào)8888被占用了,故綁定失敗。通過

netstat 查看已經(jīng)連接的服務(wù)端口(ESTABLISHED)

netstat -a 查看所有的服務(wù)端口(LISTEN,ESTABLISHED) 即可查看。改為8885就ok了。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
peerconnection_client  涉及到 “audio_mixer_manager_alsa_linux.h:19: fatal error: alsa/asoundlib.h: 沒有那個(gè)文件或目錄“ 問題。

解決辦法:

$ apt-file search alsa/asoundlib.h
libasound2-dev: /usr/include/alsa/asoundlib.h

So that’s it, asoundlib.h is in the package libasound2-dev.

apt-file需要使用apt-get install apt-file安裝一下。 

原來是我沒有裝libasound2-dev.  dev即開發(fā)包,用新立德安裝即可。

ALSA聲音編程介紹(譯文)

ALSA聲音編程介紹
ALSA表示高級(jí)Linux聲音體系結(jié)構(gòu)(Advanced Linux Sound Architecture)。它由一系列內(nèi)核驅(qū)動(dòng),應(yīng)用程序編譯接口(API)以及支持Linux下聲音的實(shí)用程序組成。這篇文章里,我將簡單介紹ALSA項(xiàng)目的基本框架以及它的軟件組成。主要集中介紹PCM接口編程,包括您可以自動(dòng)實(shí)踐的程序示例。

您使用ALSA的原因可能就是因?yàn)樗苄?,但它并不是唯一可用的聲音API。如果您想完成低級(jí)的聲音操作,以便能夠最大化地控制聲音并最大化地提高性能,或者如果您使用其它聲音API沒有的特性,那么ALSA是很好的選擇。如果您已經(jīng)寫了一個(gè)音頻程序,你可能想要為ALSA聲卡驅(qū)動(dòng)添加本地支持。如果您對音頻不感興趣,只是想播放音頻文件,那么高級(jí)的API將是更好的選擇,比如SDL,OpenAL以及那些桌面環(huán)境提供的工具集。另外,您只能在有ALSA支持的Linux環(huán)境中使用ALSA。

ALSA歷史
ALSA項(xiàng)目發(fā)起的起因是Linux下的聲卡驅(qū)動(dòng)(OSS/Free drivers)沒有得到積極的維護(hù)。并且落后于新的聲卡技術(shù)。Jaroslav Kysela早先寫了一個(gè)聲卡驅(qū)動(dòng),并由此開始了ALSA項(xiàng)目,隨便,更多的開發(fā)者加入到開發(fā)隊(duì)伍中,更多的聲卡得到支持,API的結(jié)構(gòu)也得到了重組。

Linux內(nèi)核2.5在開發(fā)過程中,ALSA被合并到了官方的源碼樹中。在發(fā)布內(nèi)核2.6后,ALSA已經(jīng)內(nèi)建在穩(wěn)定的內(nèi)核版本中并將廣泛地使用。

ALSA基礎(chǔ)
ALSA由許多聲卡的聲卡驅(qū)動(dòng)程序組成,同時(shí)它也提供一個(gè)稱為libasound的API庫。應(yīng)用程序開發(fā)者應(yīng)該使用libasound而不是內(nèi)核中的ALSA接口。因?yàn)閘ibasound提供最高級(jí)并且編程方便的編程接口。并且提供一個(gè)設(shè)備邏輯命名功能,這樣開發(fā)者甚至不需要知道類似設(shè)備文件這樣的低層接口。相反,OSS/Free驅(qū)動(dòng)是在內(nèi)核系統(tǒng)調(diào)用級(jí)上編程,它要求開發(fā)者提供設(shè)備文件名并且利用ioctrl來實(shí)現(xiàn)相應(yīng)的功能。為了向后兼容,ALSA提供內(nèi)核模塊來模擬OSS,這樣之前的許多在OSS基礎(chǔ)上開發(fā)的應(yīng)用程序不需要任何改動(dòng)就可以在ALSA上運(yùn)行。另外,libaoss庫也可以模擬OSS,而它不需要內(nèi)核模塊。
ALSA包含插件功能,使用插件可以擴(kuò)展新的聲卡驅(qū)動(dòng),包括完全用軟件實(shí)現(xiàn)的虛擬聲卡。ALSA提供一系列基于命令行的工具集,比如混音器(mixer),音頻文件播放器(aplay),以及控制特定聲卡特定屬性的工具。

ALSA體系結(jié)構(gòu)
ALSA API可以分解成以下幾個(gè)主要的接口:
1 控制接口:提供管理聲卡注冊和請求可用設(shè)備的通用功能
2 PCM接口:管理數(shù)字音頻回放(playback)和錄音(capture)的接口。本文后續(xù)總結(jié)重點(diǎn)放在這個(gè)接口上,因?yàn)樗情_發(fā)數(shù)字音頻程序最常用到的接口。
3 Raw MIDI接口:支持MIDI(Musical Instrument Digital Interface),標(biāo)準(zhǔn)的電子樂器。這些API提供對聲卡上MIDI總線的訪問。這個(gè)原始接口基于MIDI事件工作,由程序員負(fù)責(zé)管理協(xié)議以及時(shí)間處理。
4 定時(shí)器(Timer)接口:為同步音頻事件提供對聲卡上時(shí)間處理硬件的訪問。
5 時(shí)序器(Sequencer)接口
6 混音器(Mixer)接口

。

。

。

總結(jié)
我希望這篇文章能夠激勵(lì)你嘗試編寫某些ALSA程序。伴隨著2.6內(nèi)核在Linux發(fā)布版本(distributions)中被廣泛地使用,ALSA也將被廣泛地采用。它的高級(jí)特征將幫助Linux音頻程序更好地向前發(fā)展。
Jaroslav Kysela和Takashi lwai幫助查閱了本文的草稿并提出了寶貴的意見,在此表示感謝。


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

“pulse/pulseaudio.h: 沒有那個(gè)文件或目錄“

同理,解決辦法為  安裝 libpulse-dev

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多