Compile libjingle on ubuntu

Problem 1:

First, the library will not even compile (with gcc 4.x) without source
code modifications:
The first error is:
../../talk/base/stringutils.h:272: error: extra qualification
‘talk_base::Traits::’ on member ‘empty_str’

Solution:
This can easily be fixed by making the source change to ‘talk/base/
stringutils.h’:
From (will be found at line no. 272 in version 0.4 of libjingle, as already gven in the error message):
inline static const char* Traits::empty_str() { return “”; }
To:
inline static const char* empty_str() { return “”; }

Other errors can be corrected by applying a similar change to:
talk/base/base64.h
(i.e. change
Base64::Base64Table to Base64Table and Base64::DecodeTable[] to DecodeTable[] in line nos. 26 & 27)
talk/xmpp/xmppclient.h
(i.e. change XmppClient::GetStateName to GetStateName in line no. 141)

talk/p2p/base/sessionmanager.h
(i.e. change SessionManager::CreateErrorMessage to CreateErrorMessage in line no. 159)


Problem 2:

Second, the pcp example will not correctly run giving the error (on
the file ‘receiver’):
File transfer started.
Get temp failed
File transfer failed
session.cc(377): state_ == STATE_RECEIVEDINITIATE @ ChooseTransport
Aborted (core dumped)

Solution:

This error is caused because a temporary path is attempting to be
generated, but fails because the function incorrectly does not return
the result code ‘true’. The file that must be modified is ‘talk/base/
unixfilesystem.cc’:
simply add the line:
return true;
to the end of the function UnixFilesystem::GetTemporaryFolderI
resulting in:
bool UnixFilesystem::GetTemporaryFolderI(Pathname &pathname, bool
create,
const std::string *append) {
pathname.SetPathname(“/tmp”);
if (append) {
pathname.AppendFolder(*append);
if (create)
CreateFolder(pathname);
}
return true; //Insert this here at line no. 114
}
(more…)

Share
Posted in ubuntu, 网站. Tags: , , , . »

how to set up jvm by apt under ubuntu

1. GET jdk and jre by apt

#apt-get install sun-java6-jdk sun-java6-jre

2.SET JRE 

#update-alternatives –config java

you will see

    ———————————————–
          1    /usr/bin/gij-4.2
          2    /usr/lib/jvm/java-gcj/jre/bin/java
          3    /usr/lib/jvm/ia32-java-6-sun/jre/bin/java
*         4    /usr/lib/jvm/java-6-sun/jre/bin/java
 +        5    /usr/lib/jvm/java-6-openjdk/jre/bin/java
          6    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
choose which you want

3.SET JAVAC

    #update-alternatives –config java
———————————————–
          1    /usr/bin/gij-4.2
          2    /usr/lib/jvm/java-gcj/jre/bin/java
          3    /usr/lib/jvm/ia32-java-6-sun/jre/bin/java
*         4    /usr/lib/jvm/java-6-sun/jre/bin/java
 +        5    /usr/lib/jvm/java-6-openjdk/jre/bin/java
          6    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java

4. # javac -version
javac 1.6.0_06

5 # java -version
java version “1.6.0″
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

Notice: do not set JAVA_HOME!

Share
Posted in ubuntu. Tags: , , , , , , , . »

Debian,fonts.conf,字体,让你的Debian桌面美观起来

其实原理很简单,贴上我的fonts.conf
不用安装什么美化包
也不用改什么字体的路径,以为内系统字体是有用的
首先,确保你的debian上有windows的字体
其次,修改fonts.conf,把我下面fonts.conf和你的比较一下
我的debian sarge4就是这么用的,这个方法我用了很久,没想到竟然最适合Debian
<?xml version=”1.0″?>
<!DOCTYPE fontconfig SYSTEM “fonts.dtd”>
<!– /etc/fonts/fonts.conf file to configure system font access –>
<fontconfig>
<!–
DO NOT EDIT THIS FILE.
IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
LOCAL CHANGES BELONG IN ‘local.conf’.
The intent of this standard configuration file is to be adequate for
most environments.  If you have a reasonably normal environment and
have found problems with this configuration, they are probably
things that others will also want fixed.  Please submit any
problems to the fontconfig bugzilla system located at fontconfig.org
Note that the normal ‘make install’ procedure for fontconfig is to
replace any existing fonts.conf file with the new version.  Place
any local customizations in local.conf which this file references.
Keith Packard
–>
<!– Font directory list –>
<dir>/usr/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/usr/local/share/fonts</dir>
<dir>~/.fonts</dir>
<!–
Accept deprecated ‘mono’ alias, replacing it with ‘monospace’
–>
<match target=”pattern”>
<test qual=”any” name=”family”>
<string>mono</string>
</test>
<edit name=”family” mode=”assign”>
<string>monospace</string>
</edit>
</match>
<!–
Accept alternate ‘sans serif’ spelling, replacing it with ‘sans-serif’
–>
<match target=”pattern”>
<test qual=”any” name=”family”>
<string>sans serif</string>
</test>
<edit name=”family” mode=”assign”>
<string>sans-serif</string>
</edit>
</match>
<!–
Accept deprecated ‘sans’ alias, replacing it with ‘sans-serif’
–>
<match target=”pattern”>
<test qual=”any” name=”family”>
<string>sans</string>
</test>
<edit name=”family” mode=”assign”>
<string>sans-serif</string>
</edit>
</match>
<!–
Mark common families with their generics so we’ll get
something reasonable
–>
<!–
Serif faces
–>
<alias>
<family>Tahoma</family>
<family>SimSun</family>
<family>NSimSun</family>
<family>Arial</family>
<family>Bitstream Vera Serif</family>
<family>Times New Roman</family>
<family>Thorndale AMT</family>
<family>Times</family>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<family>Kochi Mincho</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>MS 明朝</family>
<family>Baekmuk Batang</family>
<family>FreeSerif</family>
<default><family>SimSun</family></default>
</alias>
<!–
Sans-serif faces
–>
<alias>
<family>Tahoma</family>
<family>SimSun</family>
<family>NSimSun</family>
<family>Arial</family>
<family>Bitstream Vera Sans</family>
<family>Helvetica</family>
<family>Arial</family>
<family>Verdana</family>
<family>Albany AMT</family>
<family>Nimbus Sans L</family>
<family>Luxi Sans</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family>MS ゴシック</family>
<family>Baekmuk Dotum</family>
<family>SimSun</family>
<family>FreeSans</family>
<default><family>Tahoma</family></default>
</alias>
<!–
Monospace faces
–>
<alias>
<family>Tahoma</family>
<family>SimSun</family>
<family>NSimSun</family>
<family>Arial</family>
<family>Bitstream Vera Sans Mono</family>
<family>Courier</family>
<family>Courier New</family>
<family>Andale Mono</family>
<family>Luxi Mono</family>
<family>Cumberland AMT</family>
<family>Nimbus Mono L</family>
<family>NSimSun</family>
<family>FreeMono</family>
<default><family>Tahoma</family></default>
</alias>
<!–
If the font still has no generic name, add sans-serif
–>
<match target=”pattern”>
<test qual=”all” name=”family” compare=”not_eq”>
<string>sans-serif</string>
</test>
<test qual=”all” name=”family” compare=”not_eq”>
<string>serif</string>
</test>
<test qual=”all” name=”family” compare=”not_eq”>
<string>monospace</string>
</test>
<edit name=”family” mode=”append_last”>
<string>sans-serif</string>
</edit>
</match>
<!–
URW provides metric and shape compatible fonts for these 3 Adobe families
Mark these as effective replacements by binding the replacement
family names strongly
–>
<match target=”pattern”>
<test name=”family”><string>Times</string></test>
<edit name=”family” mode=”append” binding=”same”>
<string>Nimbus Roman No9 L</string>
</edit>
</match>
<match target=”pattern”>
<test name=”family”><string>Helvetica</string></test>
<edit name=”family” mode=”append” binding=”same”>
<string>Nimbus Sans L</string>
</edit>
</match>
<match target=”pattern”>
<test name=”family”><string>Courier</string></test>
<edit name=”family” mode=”append” binding=”same”>
<string>Nimbus Mono L</string>
</edit>
</match>
<!–
AMT provides metric and shape compatible fonts for these three web font
families.  Bind them weakly as matching here is not as important as
with web fonts.
–>
<alias>
<family>Times New Roman</family>
<family>Tahoma</family>
<family>SimSun</family>
<family>NSimSun</family>
<family>Arial</family>
<accept><family>Thorndale AMT</family></accept>
</alias>
<alias>
<family>Arial</family>
<family>Tahoma</family>
<family>SimSun</family>
<family>NSimSun</family>
<family>Arial</family>
<accept><family>Albany AMT</family></accept>
</alias>
<alias>
<family>Courier New</family>
<accept><family>Cumberland AMT</family></accept>
</alias>

<!–
Some Asian fonts misadvertise themselves as monospaced when
in fact they are dual-spaced (half and full).  This makes
FreeType very confused as it forces all widths to match.
Undo this magic by disabling the width forcing code –>
<match target=”font”>
<test name=”family”><string>GulimChe</string></test>
<edit name=”globaladvance”><bool>false</bool></edit>
</match>

<match target=”font”>
<test name=”family”><string>DotumChe</string></test>
<edit name=”globaladvance”><bool>false</bool></edit>
</match>
<match target=”font”>
<test name=”family”><string>BatangChe</string></test>
<edit name=”globaladvance”><bool>false</bool></edit>
</match>
<match target=”font”>
<test name=”family”><string>GungsuhChe</string></test>
<edit name=”globaladvance”><bool>false</bool></edit>
</match>
<!–
The Bitstream Vera fonts have GASP entries suggesting that hinting be
disabled below 8 ppem, but FreeType ignores those, preferring to use
the data found in the instructed hints.  The initial Vera release
didn’t include the right instructions in the ‘prep’ table. Fix this
by disabling hinting manually at smaller sizes (< 8ppem)
–>
<match target=”font”>
<test name=”family”>
<string>Bitstream Vera Sans</string>
</test>
<test name=”pixelsize” compare=”less”>
<double>7.5</double>
</test>
<edit name=”hinting”>
<bool>false</bool>
</edit>
</match>
<match target=”font”>
<test name=”family”>
<string>Bitstream Vera Serif</string>
</test>
<test name=”pixelsize” compare=”less”>
<double>7.5</double>
</test>
<edit name=”hinting”>
<bool>false</bool>
</edit>
</match>
<match target=”font”>
<test name=”family”>
<string>Bitstream Vera Sans Mono</string>
</test>
<test name=”pixelsize” compare=”less”>
<double>7.5</double>
</test>
<edit name=”hinting”>
<bool>false</bool>
</edit>
</match>
<!–
Load per-user customization file
–>
<include ignore_missing=”yes”>~/.fonts.conf</include>
<!–
Load local system customization file
–>
<include ignore_missing=”yes”>conf.d</include>
<include ignore_missing=”yes”>local.conf</include>
<!–
Provide required aliases for standard names
–>
<alias>
<family>serif</family>
<prefer>
<family>Bitstream Vera Serif</family>
<family>Tahoma</family>
<family>SimSun</family>
<family>NSimSun</family>
<family>Arial</family>
<family>Times New Roman</family>
<family>Thorndale AMT</family>
<family>Luxi Serif</family>
<family>Nimbus Roman No9 L</family>
<family>Times</family>
<family>Frank Ruehl</family>
<family>Kochi Mincho</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>MS 明朝</family>
<family>Baekmuk Batang</family>
<family>FreeSerif</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>

<family>Tahoma</family>
<family>SimSun</family>
<family>Bitstream Vera Sans</family>
<family>NSimSun</family>
<family>Arial</family>
<family>Verdana</family>
<family>Arial</family>
<family>Albany AMT</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
<family>Helvetica</family>
<family>Nachlieli</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family>MS ゴシック</family>
<family>Baekmuk Dotum</family>
<family>SimSun</family>
<family>FreeSans</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Tahoma</family>
<family>SimSun</family>
<family>NSimSun</family>
<family>Arial</family>
<family>Bitstream Vera Sans Mono</family>
<family>Andale Mono</family>
<family>Courier New</family>
<family>Cumberland AMT</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>Courier</family>
<family>Miriam Mono</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>Baekmuk Dotum</family>
<family>FreeMono</family>
</prefer>
</alias>

<!–
Artificial oblique for fonts without an italic or oblique version
–>

<match target=”font”>
<!– check to see if the font is roman –>
<test name=”slant”>
<const>roman</const>
</test>
<!– check to see if the pattern requested non-roman –>
<test target=”pattern” name=”slant” compare=”not_eq”>
<const>roman</const>
</test>
<!– multiply the matrix to slant the font –>
<edit name=”matrix” mode=”assign”>
<times>
<name>matrix</name>
<matrix><double>1</double><double>0.2</double>
<double>0</double><double>1</double>
</matrix>
</times>
</edit>
<!– pretend the font is oblique now –>
<edit name=”slant” mode=”assign”>
<const>oblique</const>
</edit>
</match>

<!–
Synthetic emboldening for fonts that do not have bold face available
–>
<match target=”font”>
<!– check to see if the font is just regular –>
<test name=”weight” compare=”less_eq”>
<int>100</int>
</test>
<!– check to see if the pattern requests bold –>
<test target=”pattern” name=”weight” compare=”more_eq”>
<int>200</int>
</test>
<!– set the embolden flag –>
<edit name=”embolden” mode=”assign”>
<bool>true</bool>
</edit>
</match>
<match target=”font” >
<test compare=”more” name=”pixelsize” qual=”any”>
<double>6</double>
</test>
<test compare=”less” name=”pixelsize” qual=”any”>
<double>16</double>
</test>
<edit mode=”assign” name=”antialias” >
<bool>false</bool>
</edit>
</match>
<config>
<!–
These are the default Unicode chars that are expected to be blank
in fonts.  All other blank chars are assumed to be broken and
won’t appear in the resulting charsets
–>
<blank>
<int>0×0020</int> <!– SPACE –>
<int>0x00A0</int> <!– NO-BREAK SPACE –>
<int>0x00AD</int> <!– SOFT HYPHEN –>
<int>0x034F</int> <!– COMBINING GRAPHEME JOINER –>
<int>0×0600</int> <!– ARABIC NUMBER SIGN –>
<int>0×0601</int> <!– ARABIC SIGN SANAH –>
<int>0×0602</int> <!– ARABIC FOOTNOTE MARKER –>
<int>0×0603</int> <!– ARABIC SIGN SAFHA –>
<int>0x06DD</int> <!– ARABIC END OF AYAH –>
<int>0x070F</int> <!– SYRIAC ABBREVIATION MARK –>
<int>0x115F</int> <!– HANGUL CHOSEONG FILLER –>
<int>0×1160</int> <!– HANGUL JUNGSEONG FILLER –>
<int>0×1680</int> <!– OGHAM SPACE MARK –>
<int>0x17B4</int> <!– KHMER VOWEL INHERENT AQ –>
<int>0x17B5</int> <!– KHMER VOWEL INHERENT AA –>
<int>0x180E</int> <!– MONGOLIAN VOWEL SEPARATOR –>
<int>0×2000</int> <!– EN QUAD –>
<int>0×2001</int> <!– EM QUAD –>
<int>0×2002</int> <!– EN SPACE –>
<int>0×2003</int> <!– EM SPACE –>
<int>0×2004</int> <!– THREE-PER-EM SPACE –>
<int>0×2005</int> <!– FOUR-PER-EM SPACE –>
<int>0×2006</int> <!– SIX-PER-EM SPACE –>
<int>0×2007</int> <!– FIGURE SPACE –>
<int>0×2008</int> <!– PUNCTUATION SPACE –>
<int>0×2009</int> <!– THIN SPACE –>
<int>0x200A</int> <!– HAIR SPACE –>
<int>0x200B</int> <!– ZERO WIDTH SPACE –>
<int>0x200C</int> <!– ZERO WIDTH NON-JOINER –>
<int>0x200D</int> <!– ZERO WIDTH JOINER –>
<int>0x200E</int> <!– LEFT-TO-RIGHT MARK –>
<int>0x200F</int> <!– RIGHT-TO-LEFT MARK –>
<int>0×2028</int> <!– LINE SEPARATOR –>
<int>0×2029</int> <!– PARAGRAPH SEPARATOR –>
<int>0x202A</int> <!– LEFT-TO-RIGHT EMBEDDING –>
<int>0x202B</int> <!– RIGHT-TO-LEFT EMBEDDING –>
<int>0x202C</int> <!– POP DIRECTIONAL FORMATTING –>
<int>0x202D</int> <!– LEFT-TO-RIGHT OVERRIDE –>
<int>0x202E</int> <!– RIGHT-TO-LEFT OVERRIDE –>
<int>0x202F</int> <!– NARROW NO-BREAK SPACE –>
<int>0x205F</int> <!– MEDIUM MATHEMATICAL SPACE –>
<int>0×2060</int> <!– WORD JOINER –>
<int>0×2061</int> <!– FUNCTION APPLICATION –>
<int>0×2062</int> <!– INVISIBLE TIMES –>
<int>0×2063</int> <!– INVISIBLE SEPARATOR –>
<int>0x206A</int> <!– INHIBIT SYMMETRIC SWAPPING –>
<int>0x206B</int> <!– ACTIVATE SYMMETRIC SWAPPING –>
<int>0x206C</int> <!– INHIBIT ARABIC FORM SHAPING –>
<int>0x206D</int> <!– ACTIVATE ARABIC FORM SHAPING –>
<int>0x206E</int> <!– NATIONAL DIGIT SHAPES –>
<int>0x206F</int> <!– NOMINAL DIGIT SHAPES –>
<int>0×3000</int> <!– IDEOGRAPHIC SPACE –>
<int>0×3164</int> <!– HANGUL FILLER –>
<int>0xFEFF</int> <!– ZERO WIDTH NO-BREAK SPACE –>
<int>0xFFA0</int> <!– HALFWIDTH HANGUL FILLER –>
<int>0xFFF9</int> <!– INTERLINEAR ANNOTATION ANCHOR –>
<int>0xFFFA</int> <!– INTERLINEAR ANNOTATION SEPARATOR –>
<int>0xFFFB</int> <!– INTERLINEAR ANNOTATION TERMINATOR –>
</blank>
<!–
Rescan configuration every 30 seconds when FcFontSetList is called
–>
<rescan>
<int>30</int>
</rescan>
</config>
</fontconfig>

Share
Posted in ubuntu. Tags: , . »

PDO使用服务名连接远程的oracle db解决方案for Debian,接上一篇

接上一篇!
1.在Debian上安装Oracle客户端,如果不能安装,可使用强制方法安装
./runInstaller -ignoreSysPrereqs
2.安装Instant Client 详细内容见上篇
3.设置LD_LIBRARY_PATH,追加oracle client所在的目录下的lib
4.设置TNS_ADMIN,方法同上篇
5.用客户端配置网络服务
6.重启你的系统后,重启apache
此时你就可以用 oci:dbname=yoursercive的方式连接了

Share
Posted in 数据库. Tags: , , , , . »

Oracle10g For Linux,agtctl,lsnrctl简单问题解决方法!

本文针对的Oracle10g For Linux x86-emt64,并且针对安装和安装完成后一些不正常现象
keywords Oracle10g Linux,agtctl,lsnrctl,安装,启动,访问,复发访问,客户端,无法连接
Ora:
1.安装oralce的时候,没有办法通过系统检测?
设置你的/etc/sysctl.conf
将他要的各个项设置到安装程序要求的值 (下列值是我的安装程序要求的,其根据情况请自便)
kernel.core_uses_pid = 1
kernel.shmmni=123232153
kernel.shmall=536870912
kernel.shmmax=536870912
fs.file-max = 65536
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
然后reboot系统,重新安装,注意,oracle10g所需的包,如果是在64位Linux上安装,请注意安装相关64位包!
2.刚刚安装完后,启动oracle的时候提示没有控制文件。
出现此情况,多半是没有创建数据库
此时,请创建数你的据库
sqlplus /nolog
sqlplus>connect /as sysdba
sqlplus>startup
sqlplus>create database yourdb
sqlplus>shutdown
sqlplus>startup
3.无法启动Oralce代理程序
如果其他正常,请检查是否设置了AGTCTL_ADMIN环境变量!
没有设置的话,请编辑 /etc/profile
增加这个AGTCTL_ADMIN变量,指向你的$ORACLE_HONE/admin
4.客户端无法访问oracle服务端,新建的Net服务名无法连接
出现此问题,如果其他都正常,那么就可能使侦听程序没有启动
,要解决此问题,只需
#lsnrctl start
5.客户端可以访问Oracle服务端,但是其他第三方软件却不行 ,连设置windows的数据源都会死机
请检查 服务器上的侦听程序是否启动,弱没有启动,请查看第四条
如果侦听程序启动了,用户名密码也正确,请检查,电脑上安装过几次Oralce客户端!客户端最好只
安装一次,不要安装两个以上的客户端,这样可以保证正常!

Share
Posted in 数据库. Tags: , . »