Cのコンパイルについて

2010/11/17未分類import

math.hを使うときのコンパイルオプション.

久しぶりにmath.hの関数を使うことになりコンパイルしたらエラーになりました.実行したのは下記.
#include<stdio.h>
#include<math.h>

int main(int argc, char *argv[])
{
	double tei=2;
	double kata=10;
	double atai;

	atai = pow(tei,kata);
	printf("%f\n",atai);		

return 0;
}
コンパイルをした際はノーオプションでgccを使いました.
ushi@BigOwl:~$ gcc power-test.c
/tmp/ccMaP96f.o: In function `main':
power-test.c:(.text+0x31): undefined reference to `pow'
collect2: ld returned 1 exit status
ushi@BigOwl:~$
それが間違いで,math.hを使うときは-lmオプションをつけるべきだったのでした.mathのライブラリを読めというような意味と思われます.
ushi@BigOwl:~$ gcc power-test.c -lm
ushi@BigOwl:~$
今度はエラーが出ることもなく.盲点かも知れないので,記事にしておきます.

どうやら,bccなどでは多分このオプションは不要です.

adiaryの画像アップロードについての設定等

2010/11/08未分類import

adiaryの画像アップロードについての設定等

多くの写真を一度にアップロードするとき

adiaryでは,ファイル類のアップロードはフォーム(せりかのアルバム)を使ってすることが基本ではあるものの,
この場合,数十のファイルを一度に上げることは非常に面倒くさい.
なので,sftpなどの手段でサーバにアクセスできるのであれば,それを使ってadiaryの該当ディレクトリ以下にアップロードすると楽である.
adiaryがインストールされている場所が,/var/www/adiary/memo/であるなら,
/var/www/adiary/memo/public/image/日記名/年月/以下にファイルを置くと,せりかのアルバムに反映される.
サムネイルはデフォルト値が適用され,せりかのアルバムを起動したときに自動的に作成される.デフォルト値の変更は下の手順で行う.

デフォルトのサムネイルサイズの変更

/var/www/adiary/memo/uploader.conf.cgiの該当個所を編集し,Apacheを再起動する.
インストール時のサムネイルサイズは120pxだったが,これを320pxに変更した.

サムネイルの保存先

/var/www/adiary/memo/public/image/日記名/年月/以下に,隠しディレクトリ.thumbnailが存在しその中にある.
この中身のそれぞれのファイルを削除することで,今までのサムネイルは更新される.

アクセス権限

www-dataが読み(書き)できるファイル属性が必要である.
必要に応じて,スーパーユーザや一般ユーザでファイル操作を行うようにする.

Linuxの各種圧縮・展開コマンド

2010/10/25未分類import
Linuxには圧縮・展開のためのコマンドが多く存在するが,オプションが多くて,わからなくなり調べることが多々ある.
何度も調べていると時間のロスが大きいので個人的にまとめておきます.
ちょっとずつ増やしていくつもりです.

tarコマンド

圧縮操作のオススメオプション

tar -cvf filename.tar filename
tar -cvzf filename.tar.gz filename

展開操作のオススメオプション

tar -xvf filename.tar
tar -xvf filename.tar filename
tar -xvzf filename.tar.gz filename
tar -jxvf filename.tar.bz2
ちなみに,日本語のmanページは下記です.
tar-ja.pdf

gzip

普通は上のtarと一緒に使用する.なので上のコマンドを使えばいい気がします.

Debianに自分でインストールしたFirefoxを更新する

2010/10/21未分類import
Linux環境の場合,一般ユーザでFirefoxを使っているとバージョンアップが自動で行われない.
前回インストールしたバージョンは3.6.8だったが,現在の最新版は3.6.11.
そろそろアップデートをしておこうと思ったので実行に移す.
以下の操作を行った.端末での作業を貼り付けただけ(不要部分等一部改変).
なお,FirefoxをDebianにインストールする方法の記事はこちら
ushi@BigOwl:~/Desktop$ ls
firefox-3.6.11.tar.bz2
ushi@BigOwl:~/Desktop$ tar -jxvf firefox-3.6.11.tar.bz2 
firefox/
firefox/mozilla-xremote-client
firefox/platform.ini
firefox/README.txt
firefox/libsoftokn3.chk

・
・
・

firefox/libfreebl3.chk
firefox/libfreebl3.so
firefox/libssl3.so
firefox/libnss3.so
firefox/crashreporter
ushi@BigOwl:~/Desktop$ su
パスワード:
BigOwl:/home/ushi/Desktop# ls
firefox  firefox-3.6.11.tar.bz2
BigOwl:/home/ushi/Desktop# ls /opt/
atokx3	firefox-3.6.8
BigOwl:/home/ushi/Desktop# mv firefox /opt/
BigOwl:/home/ushi/Desktop# cd /opt/
BigOwl:/opt# ls
atokx3	firefox  firefox-3.6.8
BigOwl:/opt# mv firefox firefox-3.6.11
BigOwl:/opt# ls
atokx3	firefox-3.6.11	firefox-3.6.8
BigOwl:/opt# ls
atokx3	firefox-3.6.11	firefox-3.6.8
BigOwl:/opt# ls -al
合計 20
drwxr-xr-x  5 root  root  4096 2010-10-21 01:54 .
drwxr-xr-x 21 root  root  4096 2010-09-28 02:31 ..
drwxr-xr-x  8 root  root  4096 2008-06-16 12:00 atokx3
drwxr-xr-x 13 ushi ushi 4096 2010-10-13 05:16 firefox-3.6.11
drwxr-xr-x 13 root  root  4096 2010-08-27 20:44 firefox-3.6.8
BigOwl:/opt# chown -R 755 firefox-3.6.11/
BigOwl:/opt# ls -al
合計 20
drwxr-xr-x  5 root root  4096 2010-10-21 01:54 .
drwxr-xr-x 21 root root  4096 2010-09-28 02:31 ..
drwxr-xr-x  8 root root  4096 2008-06-16 12:00 atokx3
drwxr-xr-x 13  755 ushi 4096 2010-10-13 05:16 firefox-3.6.11
drwxr-xr-x 13 root root  4096 2010-08-27 20:44 firefox-3.6.8
BigOwl:/opt# cd firefox-3.6.8/
BigOwl:/opt/firefox-3.6.8# ls
LICENSE			    greprefs	     libssl3.so
README.txt		    icons	     libxpcom.so
Throbber-small.gif	    libfreebl3.chk   libxul.so
application.ini		    libfreebl3.so    modules
blocklist.xml		    libmozjs.so      mozilla-xremote-client
browserconfig.properties    libnspr4.so      platform.ini
chrome			    libnss3.so	     plugin-container
components		    libnssckbi.so    plugins
crashreporter		    libnssdbm3.chk   removed-files
crashreporter-override.ini  libnssdbm3.so    res
crashreporter.ini	    libnssutil3.so   run-mozilla.sh
defaults		    libplc4.so	     searchplugins
dependentlibs.list	    libplds4.so      update.locale
dictionaries		    libsmime3.so     updater
extensions		    libsoftokn3.chk  updater.ini
firefox			    libsoftokn3.so
firefox-bin		    libsqlite3.so
BigOwl:/opt/firefox-3.6.8# cd plugins/
BigOwl:/opt/firefox-3.6.8/plugins# ls
libflashplayer.so  libnullplugin.so
BigOwl:/opt/firefox-3.6.8/plugins# cp * ../../firefox-3.6.11/plugins/
BigOwl:/opt/firefox-3.6.8/plugins# 
あとは,常用しているランチャのパスを書き換えるだけ.
Screenshot-ランチャのプロパティ-firefox-3.6.11.png