當測試C2DM的時候在Logcat看到這一行"emulatorUnable to start service Intent { act=com.google.android.c2dm.intent.REGISTER (has extras) }: not found"
解法是你的Android Emulator必須是使用Google APIs Add-On的版本!
2011年1月4日 星期二
2010年12月30日 星期四
SVN Installation on Linux Ubuntu 10.10
很高興lab的大家都至少開始用svn了,對於工作上真的方便很多。整理一下svn的安裝說明,其實設定起來很快速的。
1. 首先安裝相關套件
$ sudo apt-get install subversion libapache2-svn apache2
2. 建立 repository,我們先假定建一個repository叫做project1 在/opt/svnroot下
$ sudo mkdir /opt/svnroot; cd /opt/svnroot
$ sudo svnadmin create project1
$ sudo chown -R www-data:subversion project1;sudo chmod -R g+rws project1
3. 讓使用者可以透過https來access資料
$ sudo vim /etc/apache2/mods-available/dav_svn.conf
貼上
1. 首先安裝相關套件
$ sudo apt-get install subversion libapache2-svn apache2
2. 建立 repository,我們先假定建一個repository叫做project1 在/opt/svnroot下
$ sudo mkdir /opt/svnroot; cd /opt/svnroot
$ sudo svnadmin create project1
$ sudo chown -R www-data:subversion project1;sudo chmod -R g+rws project1
3. 讓使用者可以透過https來access資料
$ sudo vim /etc/apache2/mods-available/dav_svn.conf
貼上
<Location /project1> #https://localhost/project1 DAV svn SVNPath /opt/svnroot/project1 #repository位址 AuthType Basic AuthName "project1 subversion repository" AuthUserFile /opt/svnroot/passwd </Location>
4.重新啟動apache2
$ sudo /etc/init.d/apache2 restart
5.hey~我們還沒設定密碼檔記得嗎?
$ sudo htpasswd -c /opt/svnroot/passwd [user_name]
p.s. 如果要新增第二個帳號記得把-c改成-m否則會洗掉喔!
6. 試著打開瀏覽器到https://[ip]/project1 或者在Windows上安裝trotoissvn 在Linux上可以直接使用$ svn co https://[ip]/project1 來取得資料
Reference:https://help.ubuntu.com/community/Subversion
2010年11月12日 星期五
Install Intel C/C++ Compiler(include mkl)
在科學計算領域,很多人都不相信gnu compiler(gcc)!原因有很多,例如效能?程式結果?取而代之的,大家可能會選用Intel 出產的compiler。但其實Intel有noncomertial的版本可以使用不用錢的。網址是: Intel non-comertial Software 我們只要下載Intel® Parallel Studio XE 2011 for Linux後就幾乎都有了。
下載完解壓縮後,記得先安裝相依套件ex. l_ccompxe_2011.0.084_redist.tgz 所有的安裝都是解壓縮後以root執行install.sh就可以了。
C compiler是icc,C++ compiler是icpc
下載完解壓縮後,記得先安裝相依套件ex. l_ccompxe_2011.0.084_redist.tgz 所有的安裝都是解壓縮後以root執行install.sh就可以了。
C compiler是icc,C++ compiler是icpc
2010年11月11日 星期四
Mount hdfs on Linux Ubuntu 10.04 Server x86-64
其實主要是參考Mounting HDFS ,主要步驟就3個:
sudo apt-get install subversion ant automake sun-java5-jdk sun-java6-jdk
2.設定環境變數
echo "export HADOOP_HOME=[hadoop位址]">>~/.bashrc ex. echo "HADOOP_HOME=/opt/app/hadoop">>~/.bashrc
echo "export JAVA_HOME="/usr/lib/jvm/java-6-sun">>~/.bashrc
source ~/.bashrc
3.編譯第一步
cd $HADOOP_HOME
ant clean
ant compile-c++-libhdfs -Dlibhdfs=1
4.Download forrest and install fuse
wget http://apache.ntu.edu.tw//forrest/apache-forrest-0.8.tar.gz
tar zxf apache-forrest-0.8.tar.gz
chmod +x apache-forrest-0.8/bin/forrest
ant package -Djava5.home=/usr/lib/jvm/java-1.5.0-sun -Dforrest.home=$(pwd)/apache-forrest-0.8
wget http://downloads.sourceforge.net/project/fuse/fuse-2.X/2.8.5/fuse-2.8.5.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Ffuse%2Ffiles%2Ffuse-2.X%2F&ts=1289382396&use_mirror=nchc
mv fuse-2.8.5.tar.gz?r=http:%2F%2Fsourceforge.net%2Fprojects%2Ffuse%2Ffiles%2Ffuse-2.X%2F fuse-2.8.5.tar.gz
tar zxf fuse-2.8.5.tar.gz
cd fuse-2.8.5
mkdir -p /opt/app/fuse;./configure --prefix=/opt/app/fuse
make -j2
make install
cd ..
echo "export FUSE_HOME=/opt/app/fuse">>~/.bashrc
source ~/.bashrc
5.最後一步編譯
ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1
6. 設定dynamic libarary
echo "/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/" >>/etc/ld.so.conf
ldconfig
7.透過fuse_dfs_wrapper.sh掛載
cd build/contrib/fuse-dfs
chmod +x fuse_dfs_wrapper.sh
echo "export PATH=$PATH:$HADOOP_HOME/build/contrib/fuse-dfs" >>~/.bashrc
source ~/.bashrc
mkdir hadoop
fuse_dfs_wrapper.sh dfs://[namenode]:[port] hadoop -d 參考:conf/core-site.xml ex. fuse_dfs_wrapper.sh dfs://oct5:55011 video -d
這樣就可以把hadoop mount 到hadoop資料夾了。
p.s. namenode請填入hostname不要直接打IP
ant compile-c++-libhdfs -Dlibhdfs=1 ant package ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1然而,事情有這麼順利嗎?如果有就好了...以下是我所有步驟,以root權限執行。
- 安裝相關套件 JAVA5 JAVA6 subversion ant automake
1.1加入套件庫
將以下兩列加入/etc/apt/sources.list
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
1.2 更新套件庫、安裝
sudo apt-get updatesudo apt-get install subversion ant automake sun-java5-jdk sun-java6-jdk
2.設定環境變數
echo "export HADOOP_HOME=[hadoop位址]">>~/.bashrc ex. echo "HADOOP_HOME=/opt/app/hadoop">>~/.bashrc
echo "export JAVA_HOME="/usr/lib/jvm/java-6-sun">>~/.bashrc
source ~/.bashrc
3.編譯第一步
cd $HADOOP_HOME
ant clean
ant compile-c++-libhdfs -Dlibhdfs=1
4.Download forrest and install fuse
wget http://apache.ntu.edu.tw//forrest/apache-forrest-0.8.tar.gz
tar zxf apache-forrest-0.8.tar.gz
chmod +x apache-forrest-0.8/bin/forrest
ant package -Djava5.home=/usr/lib/jvm/java-1.5.0-sun -Dforrest.home=$(pwd)/apache-forrest-0.8
wget http://downloads.sourceforge.net/project/fuse/fuse-2.X/2.8.5/fuse-2.8.5.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Ffuse%2Ffiles%2Ffuse-2.X%2F&ts=1289382396&use_mirror=nchc
mv fuse-2.8.5.tar.gz?r=http:%2F%2Fsourceforge.net%2Fprojects%2Ffuse%2Ffiles%2Ffuse-2.X%2F fuse-2.8.5.tar.gz
tar zxf fuse-2.8.5.tar.gz
cd fuse-2.8.5
mkdir -p /opt/app/fuse;./configure --prefix=/opt/app/fuse
make -j2
make install
cd ..
echo "export FUSE_HOME=/opt/app/fuse">>~/.bashrc
source ~/.bashrc
5.最後一步編譯
ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1
6. 設定dynamic libarary
echo "/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/" >>/etc/ld.so.conf
ldconfig
7.透過fuse_dfs_wrapper.sh掛載
cd build/contrib/fuse-dfs
chmod +x fuse_dfs_wrapper.sh
echo "export PATH=$PATH:$HADOOP_HOME/build/contrib/fuse-dfs" >>~/.bashrc
source ~/.bashrc
mkdir hadoop
fuse_dfs_wrapper.sh dfs://[namenode]:[port] hadoop -d 參考:conf/core-site.xml ex. fuse_dfs_wrapper.sh dfs://oct5:55011 video -d
這樣就可以把hadoop mount 到hadoop資料夾了。
p.s. namenode請填入hostname不要直接打IP
詭異的arm-linux-gnueabi-g++ -fopenmp
一直以來把OpenMP 的程式compile到arm執行都是去sourcery下載專業試用版的toolchain或自己編一個toolchain來搞,但是就覺得很麻煩。在Ubuntu 10.10我看到了g++-4.5-arm-linux-gnueabi的套件,眼睛一亮就裝來玩,但...
於是乎,把 librt.so.1, libc.so找出來,原來是在/usr/arm-linux-gnueabi/lib/所以就把這個路徑加到/etc/ld.so.conf在ldconfig一下就搞定了~
/usr/lib/gcc/arm-linux-gnueabi/4.5.1/../../../../arm-linux-gnueabi/bin/ld: warning: librt.so.1, needed by /usr/lib/gcc/arm-linux-gnueabi/4.5.1/libgomp.so, not found (try using -rpath or -rpath-link) /usr/lib/gcc/arm-linux-gnueabi/4.5.1/../../../../arm-linux-gnueabi/bin/ld: warning: libc.so, needed by /usr/lib/gcc/arm-linux-gnueabi/4.5.1/libgcc_s.so.1, not found (try using -rpath or -rpath-link) /usr/lib/gcc/arm-linux-gnueabi/4.5.1/libgomp.so: undefined reference to `clock_getres@GLIBC_2.4' /usr/lib/gcc/arm-linux-gnueabi/4.5.1/libgomp.so: undefined reference to `clock_gettime@GLIBC_2.4'
於是乎,把 librt.so.1, libc.so找出來,原來是在/usr/arm-linux-gnueabi/lib/所以就把這個路徑加到/etc/ld.so.conf在ldconfig一下就搞定了~
# echo "/usr/arm-linux-gnueabi/lib/" >>/etc/ld.so.conf # ldconfig
2008年2月28日 星期四
訂閱:
文章 (Atom)