[SIP] Kphone安裝記錄

URL Link //n.sfs.tw/10295

2016-11-25 23:08:56 By 張○○

<此文檔是 2008.02.17 讀研時的記錄,這近清檔案找出來,也許有人用得到,也許>

Kphone是2008年當時ipv6剛要推廣時,唯一支援IPv6的公用網路電話,同時間的Xlite並不支援IPv6,因此安裝他是測試IPv6網路電話的唯一解。

系統

# uname -a
Linux ax.er 2.6.18-8.el5 #1 SMP Thu Mar 15 19:57:35 EDT 2007 i686 i686 i386 GNU/Linux

Fedora 7

安裝

一、下載http://wire.cs.nthu.edu.tw/software.php 3.0版

他的說明,是只支援v6,而且是unix based。
Kphone is a tool for audio/video conferencing. WIRELab have ported it to operate on IPv6. This version is only for IPv6, IPv4 is *NOT* supported.
直接解壓出現錯誤:
tar: 保存檔含有過時的 base-64 標頭
解決方法:直接在windows下用winrar解完後再傳入。

二、安裝gcc-c++完後開始組態,出現錯誤

[root@ax kphone-ipv6-3.0]# ./configure
........
checking for extra libs... no
checking for X... configure: error: Can't find X includes. Please check your installation and add the correct paths!

找不到的檔案
configure:4581:27: error: X11/Intrinsic.h: No such file or directory

解法一、網路上說要安裝xorg-*,結果全裝了29個套件,錯誤不變

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 xorg-x11-drv-i810-devel  i386       1.6.5-9.6.el5    base              8.5 k
 xorg-x11-drv-via-devel  i386       0.2.1-9          base              5.1 k
 xorg-x11-fonts-ISO8859-14-100dpi  noarch     7.1-2.1.el5      base              1.0 M
 xorg-x11-fonts-ISO8859-14-75dpi  noarch     7.1-2.1.el5      base              903 k
 xorg-x11-fonts-ISO8859-15-100dpi  noarch     7.1-2.1.el5      base              1.1 M
 xorg-x11-fonts-ISO8859-15-75dpi  noarch     7.1-2.1.el5      base              932 k
 xorg-x11-fonts-ISO8859-2-100dpi  noarch     7.1-2.1.el5      base              1.0 M
 xorg-x11-fonts-ISO8859-2-75dpi  noarch     7.1-2.1.el5      base              900 k
 xorg-x11-fonts-ISO8859-9-100dpi  noarch     7.1-2.1.el5      base              1.1 M
 xorg-x11-fonts-ISO8859-9-75dpi  noarch     7.1-2.1.el5      base              931 k
 xorg-x11-fonts-cyrillic  noarch     7.1-2.1.el5      base              392 k
 xorg-x11-fonts-ethiopic  noarch     7.1-2.1.el5      base              160 k
 xorg-x11-fonts-syriac   noarch     7.1-2.1.el5      base              1.2 M
 xorg-x11-proto-devel    i386       7.1-9.el5.centos  base              253 k
 xorg-x11-resutils       i386       7.1-2.fc6        base               61 k
 xorg-x11-server-Xdmx    i386       1.1.1-48.26.el5  base              918 k
 xorg-x11-server-Xephyr  i386       1.1.1-48.26.el5  base              1.6 M
 xorg-x11-server-Xvfb    i386       1.1.1-48.26.el5  base              1.6 M
 xorg-x11-server-sdk     i386       1.1.1-48.26.el5  base              367 k
 xorg-x11-util-macros    i386       1.0.2-4.fc6      base              8.1 k
 xorg-x11-xbitmaps       i386       1.0.1-4.1        base               32 k
 xorg-x11-xfs-utils      i386       1:1.0.2-4        base               27 k
 xorg-x11-xfwp           i386       1.0.1-3.1        base               46 k
 xorg-x11-xsm            i386       1.0.2-4.fc6      base               76 k
 xorg-x11-xtrans-devel   i386       1.0.1-1.1.fc6    base               66 k
Updating:
 xorg-x11-apps           i386       7.1-4.0.1.el5    base              254 k
 xorg-x11-drv-evdev      i386       1:1.0.0.5-3.el5  base               10 k
 xorg-x11-drv-i810       i386       1.6.5-9.6.el5    base              284 k
 xorg-x11-drv-keyboard   i386       1.1.0-3          updates            14 k
 xorg-x11-drv-mga        i386       1.4.2-6.el5      base               82 k
 xorg-x11-drv-nv         i386       2.1.2-1.el5      base              112 k
 xorg-x11-drv-vesa       i386       1.3.0-8.1.el5    base               19 k
 xorg-x11-server-Xnest   i386       1.1.1-48.26.el5  base              1.5 M
 xorg-x11-server-Xorg    i386       1.1.1-48.26.el5  base              3.2 M
 xorg-x11-xfs            i386       1:1.0.2-4        base               68 k
Installing for dependencies:
 libX11-devel            i386       1.0.3-8.0.1.el5  base              665 k
 libXau-devel            i386       1.0.1-3.1        base               11 k
 libXdmcp-devel          i386       1.0.1-2.1        base              7.5 k
 mesa-libGL-devel        i386       6.5.1-7.5.el5    base              465 k
Updating for dependencies:
 libX11                  i386       1.0.3-8.0.1.el5  base              796 k
 mesa-libGL              i386       6.5.1-7.5.el5    base              9.7 M

Transaction Summary
=============================================================================
Install     29 Package(s)
Update      12 Package(s)
Remove       0 Package(s)

Total download size: 32 M

解法二、網路上說要安裝 libXext-devel,事實上,問題沒解決
(1/1): libXext-devel-1.0. 100% |=========================|  57 kB    00:00

解法三、網路上目前已知的解法不能用,不過被我試出來了,再加安裝這個libXt-devel問題就解決了,注意X要大寫
[root@ax kphone-ipv6-3.0]# yum install libXt-devel

Installing: libICE-devel                 ######################### [1/3]
Installing: libSM-devel                  ######################### [2/3]
Installing: libXt-devel                  ######################### [3/3]

checking for X... libraries /usr/lib, headers .
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for libpng... no
checking for Qt... configure: error: Qt (>= Qt 2.2.2) (headers and libraries) not found. Please check your installation!

通過了,不過出現另一個Qt的問題。

三、先裝qt

[root@ax kphone-ipv6-3.0]# yum install qt
Downloading Packages:
(1/1): qt-3.3.6-23.el5.i3 100% |=========================| 3.6 MB    00:01
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating  : qt                           ######################### [1/2]
  Cleanup   : qt                           ######################### [2/2]

錯誤依舊
再安裝qt-devel
[root@ax kphone-ipv6-3.0]# yum install qt-devel
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 qt-devel                i386       1:3.3.6-23.el5   base               11 M
Installing for dependencies:
 fontconfig-devel        i386       2.4.1-6.el5      base              168 k
 freetype-devel          i386       2.2.1-19.el5     base              150 k
 libXcursor-devel        i386       1.1.7-1.1        base               14 k
 libXft-devel            i386       2.1.10-1.1       base               16 k
 libXinerama-devel       i386       1.0.1-2.1        base              5.1 k
 libXrandr-devel         i386       1.1.1-3.1        base               14 k
 libXrender-devel        i386       0.9.1-3.1        base              8.8 k
 libjpeg-devel           i386       6b-37            base              105 k
 libmng-devel            i386       1.0.9-5.1        base               53 k
 libpng-devel            i386       2:1.2.10-7.1.el5_0.1  updates           182 k
 mesa-libGLU-devel       i386       6.5.1-7.5.el5    base               91 k
Updating for dependencies:
 freetype                i386       2.2.1-19.el5     base              313 k
 libpng                  i386       2:1.2.10-7.1.el5_0.1  updates           242 k
 mesa-libGLU             i386       6.5.1-7.5.el5    base              228 k

Transaction Summary
=============================================================================
Install     12 Package(s)
Update       3 Package(s)
Remove       0 Package(s)

Total download size: 13 M

checking for Qt... configure: error: Qt (>= Qt 2.2.2) (libraries) not found. Please check your installation!
問題解決了一半,注意括弧中的headers不見了,只剩libraries

現在卡在這裡,網路上的解決方法目前試過還無法解決(卡了好久)

四、組態加參數得解

網路上說要裝qt3-devel,結果沒有for fedora的這個。原來在fedora系列中,qt-devel 3.x.x就是 qt3-devel
不過找到一個網站http://www.kde-apps.org/content/show.php/Kvdr?content=63816
# ./configure --enable-mt    加參數 --enable-mt 得解

checking for Qt... libraries /usr/lib/qt-3.3/lib, headers /usr/lib/qt-3.3/include using -mt
checking if Qt compiles without flags... no
....
checking for KDE... configure: error:
in the prefix, you've chosen, are no KDE headers installed. This will fail.
So, check this please and use another prefix!
再出錯

五、安裝kdelibs-devel

[root@ax kphone-ipv6-3.0]# yum install kdelibs-devel
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 kdelibs-devel           i386       6:3.5.4-13.el5.centos  base              1.3 M
Installing for dependencies:
 alsa-lib-devel          i386       1.0.14-1.rc4.el5  base              1.4 M
 arts                    i386       8:1.5.4-1        base              1.1 M
 arts-devel              i386       8:1.5.4-1        base              213 k
 audiofile-devel         i386       1:0.2.6-5        base               15 k
 avahi-devel             i386       0.6.16-1.el5     base               38 k
 avahi-qt3               i386       0.6.16-1.el5     base               17 k
 bzip2-devel             i386       1.0.3-3          base               38 k
 esound-devel            i386       1:0.2.36-3       base               32 k
 glib2-devel             i386       2.12.3-2.fc6     base              1.3 M
 kdelibs                 i386       6:3.5.4-13.el5.centos  base               18 M
 kdnssd-avahi            i386       0.1.3-0.1.20060713svn.fc6  base               43 k
 kdnssd-avahi-devel      i386       0.1.3-0.1.20060713svn.fc6  base               11 k
 libacl-devel            i386       2.2.39-2.1.el5   base               81 k
 libart_lgpl-devel       i386       2.3.17-4         base               20 k
 libattr-devel           i386       2.4.32-1.1       base               33 k
 libgcrypt-devel         i386       1.2.3-1          base              272 k
 libgpg-error-devel      i386       1.4-2            base               17 k
 libidn-devel            i386       0.6.5-1.1        base              239 k
 libogg-devel            i386       2:1.1.3-3.el5    base               73 k
 libtiff-devel           i386       3.8.2-7.el5      base              475 k
 libvorbis-devel         i386       1:1.1.2-3.el5.0  base              541 k
 libxml2-devel           i386       2.6.26-2.1.2     base              2.1 M
 libxslt-devel           i386       1.1.17-2         base              295 k
 pcre-devel              i386       6.6-2.el5_1.7    updates           176 k
Updating for dependencies:
 alsa-lib                i386       1.0.14-1.rc4.el5  base              406 k
 pcre                    i386       6.6-2.el5_1.7    updates           112 k

Transaction Summary
=============================================================================
Install     25 Package(s)
Update       2 Package(s)
Remove       0 Package(s)

Total download size: 29 M

安裝完重新組態又出現新的錯誤
checking for kdb2html... not found
configure: error: The important program kdb2html was not found!
Please check whether you installed KDE correctly.

這個問題一堆人在問,沒什麼結論,不過有一個解法:
kdb2html is a program of KDE3.2
downgrade to KDE3.2
copy the program (it's only a shell script)
get your old kde (in my case 3.5.1)
copy kdb2html into /opt/kde..../bin/
chmod 777 kdb2html

意思是說kdb2html是KDE3.2的程式,請降版本到3.2,我是3.5.2,找到他,拷背到/opt/kde和/bin/
但是我移除kde-devel 3.5後,用rpm去裝3.1或3.2卻出現一大堆的相依性問題。

卡了很久,放棄。

六、去網路下載新版的kphone-4.2.tar.gz

組態沒問題,不過編譯卻出錯了。
[root@ax kphone]# make
.....
/usr/lib/qt-3.3/include/qxml.h:448: 警告:「class QXmlLexicalHandler」 有虛函式卻沒有虛解構函式
/usr/lib/qt-3.3/include/qxml.h:461: 警告:「class QXmlDeclHandler」 有虛函式卻沒有虛解構函式
kcallwidget.h:70: 錯誤:有多餘的限定 「KCallWidget::」 於成員 「setDTMFSender」 上
kphoneview.h:57: 錯誤:有多餘的限定 「KPhoneView::」 於成員 「DoCall」 上
make[1]: *** [main.o] Error 1
make[1]: Leaving directory `/root/kphone/kphone'
make: *** [all] Error 2

這個部落格有人提供解法 http://kedych.blogspot.com/2007/07/imskphone.html

1.1 kphone/kphoneview.h:57
//KCallWidget *KPhoneView::DoCall( QString num, SipCall::CallType ctype );
KCallWidget *DoCall( QString num, SipCall::CallType ctype );


1.2 kphone/kcallwidget.h:70
//void KCallWidget::setDTMFSender( QString &s );

void setDTMFSender( QString &s );
照著改
有出現一些qt3.3的警告,可是不影響編譯。
/usr/lib/qt-3.3/include/qxml.h:224: 警告:「class QXmlReader」 有虛函式卻沒有虛解構函式
......

[root@ax kphone]# make install 可以順利執行完畢。

目的在 /usr/local/bin/kphone 把他丟到桌上即可執行。

小語:
放棄不表示不願面對挑戰,放棄也許在會其他地方找到解決的關鍵。

七、FEDORA 7 安裝kphone 4.2

[root@pc kphone]# uname -a
Linux pc.er 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:35:01 EDT 2007 i686 i686 i386 GNU/Linux

組態出現問題
checking location of Qt header files...
not found. Giving up.

安裝完 qt*後要重開機,就順利通過

configure: error: libssl not found
[root@pc kphone]# yum install openssl*
安裝完就解決這個問題

八、裝完發現kphone 4.2只支援v4;v6的話要安裝這個最後的套件kphone-ipv6-3.11

所以問題五還是要處理,無法逃避;這下子必需要有kdb2html這個檔案;網路上說此檔是在
kdelibs-devel-3.2.2-4.i386.rpm中,而且是fedora core 1的時候就有了

嘗試安裝
[root@pc ~]# rpm -ivh kdelibs-devel-3.2.2-4.i386.rpm
error: Failed dependencies:
        arts-devel is needed by kdelibs-devel-3.2.2-4.i386
        fam-devel is needed by kdelibs-devel-3.2.2-4.i386
        kdelibs = 6:3.2.2-4 is needed by kdelibs-devel-3.2.2-4.i386
        libart_lgpl-devel is needed by kdelibs-devel-3.2.2-4.i386
        libstdc++.so.5 is needed by kdelibs-devel-3.2.2-4.i386
        libstdc++.so.5(CXXABI_1.2) is needed by kdelibs-devel-3.2.2-4.i386
        libstdc++.so.5(GLIBCPP_3.2) is needed by kdelibs-devel-3.2.2-4.i386
可怕的相依性問題。
[root@pc ~]# rpm -ivh libstdc++-3.3.3-7.i386.rpm
Preparing...                ########################################### [100%]
        package libstdc++-4.1.2-27.fc7 (which is newer than libstdc++-3.3.3-7) is already installed

已經有新版的4.1.2;舊版的裝不上去
無法移除因為他的關連相關性太多了,看來kphone-ipv6是2004年released,查一下那是fedora core 1
的時代,所以目前想過的方法有三:一個修改configure檔使他避過這個問題、二是安裝舊版、三就只剩下去
找到core1的版本了..... 網路上下載點都不見了(因為太占空間,現在都出到core8了),不過我知道哪裡
有原始片

九、此問題在我重裝fedora core 1後刃而解

安裝時記得勾選KDE相關套件;該檔只是一個沒有用的shell,
早知道就寫一個空的去騙他就好了。kdb2html檔案內容如下:

#! /bin/sh

echo "this script does nothing. Convert your documentation to XML DTD 4.1.2"
echo "otherwise provide HTML. This should do nothing, because either the HTML"
echo "is already there or the application should use meinproc and XML"

拷背到 /usr/bin 就好了。後來發現只要新增一個叫kdb2html的空檔就好了
後面組態很順利,編譯也很順利。

十、執行出現程式記憶體區段錯誤

[root@ax kphone]# ./kphone
程式記憶體區段錯誤

這裡有網路上相關的提問,沒有確切的解答。
http://fedora.tw/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=1479&forum=5&move=prev&topic_time=1177910206

xwindow視窗的也無法執行(沒畫面沒錯誤),不知原因為何?所以我又裝了3.0版(清大的版本)問題依舊。
目前想的到的是不是要有一個純的v6介面?不過試過了也是沒用,是不是要到core1的平台才能執行呢?
還是要設定什麼檔才會執行?

十一、問題順利解決,我找到了fedora core1 ,直接裝不會有任何問題。

舊程式只能跑在系統中…繞了一圈白遮騰..

唉...

為了這個舊系統,還得去找一台主機來安裝,因為他有麥克風和喇叭的需要,無法裝在vm中(那時vm已漸漸流行)

kphone的一些畫面(撥號)


正在響的Kphone v6