2012年2月26日日曜日

ubuntu 11.10 に python 2.5系をインストール

$ wget 'http://python.org/ftp/python/2.5.6/Python-2.5.6.tar.bz2'
$ tar xf Python-2.5.6.tar.bz2
$ cd Python-2.5.6/

$ ./configure --disable-ipv6 --disable-shared --enable-unicode

$ make

running build_ext
/usr/include/sqlite3.h: version 3.7.7
Traceback (most recent call last):
File "./setup.py", line 1545, in
main()
File "./setup.py", line 1540, in main
'Lib/smtpd.py']
File "/usr/local/src/works/Python-2.5.6/Lib/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/local/src/works/Python-2.5.6/Lib/distutils/dist.py", line 974, in run_commands
self.run_command(cmd)
File "/usr/local/src/works/Python-2.5.6/Lib/distutils/dist.py", line 994, in run_command
cmd_obj.run()
File "/usr/local/src/works/Python-2.5.6/Lib/distutils/command/build.py", line 112, in run
self.run_command(cmd_name)
File "/usr/local/src/works/Python-2.5.6/Lib/distutils/cmd.py", line 333, in run_command
self.distribution.run_command(command)
File "/usr/local/src/works/Python-2.5.6/Lib/distutils/dist.py", line 994, in run_command
cmd_obj.run()
File "/usr/local/src/works/Python-2.5.6/Lib/distutils/command/build_ext.py", line 290, in run
self.build_extensions()
File "./setup.py", line 97, in build_extensions
self.detect_modules()
File "./setup.py", line 810, in detect_modules
sqlite_libdir = [os.path.abspath(os.path.dirname(sqlite_libfile))]
File "/usr/local/src/works/Python-2.5.6/Lib/posixpath.py", line 119, in dirname
return split(p)[0]
File "/usr/local/src/works/Python-2.5.6/Lib/posixpath.py", line 77, in split
i = p.rfind('/') + 1
AttributeError: 'NoneType' object has no attribute 'rfind'
make: *** [sharedmods] Error 1

コケる c⌒っ゚Д゚)っ

ライブラリパスを指定

$ make distclean
$ LDFLAGS="-L/usr/lib/i386-linux-gnu" ./configure --disable-ipv6 --disable-shared --disable-unicode
$ make
creating build/scripts-2.5
copying and adjusting /usr/local/src/works/Python-2.5.6/Tools/scripts/pydoc -> build/scripts-2.5
copying and adjusting /usr/local/src/works/Python-2.5.6/Tools/scripts/idle -> build/scripts-2.5
copying and adjusting /usr/local/src/works/Python-2.5.6/Lib/smtpd.py -> build/scripts-2.5
changing mode of build/scripts-2.5/pydoc from 664 to 775
changing mode of build/scripts-2.5/idle from 664 to 775
changing mode of build/scripts-2.5/smtpd.py from 664 to 775
$

こんどは成功(`・ω・´)


$ sudo make install
 :
Compiling /usr/local/lib/python2.5/zipfile.py ...
make: *** [libinstall] Error 1

が、しかし・・・ make install 失敗(´・ω・`)

しょうがないのでエラーを無視でaltinstall

$ sudo make -i altinstall

changing mode of /usr/local/bin/smtpd.py to 775
running install_egg_info
Removing /usr/local/lib/python2.5/lib-dynload/Python-2.5.6-py2.5.egg-info
Writing /usr/local/lib/python2.5/lib-dynload/Python-2.5.6-py2.5.egg-info

これでよしとしよう

2012年2月25日土曜日

xfce4 で eclipse 使用時に ctrl+F6 ctrl+F7 あたりが効くようにする

eclipse使ってて、ctrl+F6とか効かない場合
xfce4のショートカットが邪魔してる
いちおう、debian(xubuntu)とかRedHat系含め、xfce4使ってるなら同じはず

$ vim ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

<property name="&lt;Control&gt;F4" type="string" value="workspace_4_key"/>
<property name="&lt;Control&gt;F5" type="string" value="workspace_5_key"/>
<property name="&lt;Control&gt;F6" type="string" value="workspace_6_key"/>
<property name="&lt;Control&gt;F7" type="string" value="workspace_7_key"/>

あたりを、ばっさり削除する。

保存後に、ログインし直しでOK

注意
・ワースペ使ってる場合、ショートカットが無くなる
・設定エディタで、xfce4-keyboard-shortcutsのxfwm4の下を編集すると復活することがある

debian で時間帯を設定する

$ sudo vim /etc/default/rcS
UTC=no

$ sudo dpkg-reconfigure tzdata

2012年1月23日月曜日

Hoge.c

/*
============================================================================
Name : Hoge.c
Author : M♂DS
Version :
Copyright : M♂DS
Description : Hoge in C, Ansi-style
============================================================================
*/

#include
#include

#define BUFFLEN 256

struct _list {
struct _list *prev;
struct _list *next;
char buff[BUFFLEN];
};

typedef struct _list LIST;

LIST * makeList(LIST *current) {
if (current == (LIST *) NULL) {
current = (LIST *) calloc(1, sizeof(LIST));
current->prev = (LIST *) NULL;
} else {
current->next = (LIST *) calloc(1, sizeof(LIST));
current->next->prev = current;
current = current->next;
}
current->next = (LIST *) NULL;
return current;
}

int main(void) {
LIST *q, *p;
int i;

p = q = (LIST *) NULL;
for (i = 0; i < 100; i++) {
p = makeList(p);
if (q == NULL) {
q = p;
}
snprintf(p->buff, BUFFLEN, "hoge %03d", i);
}

for (p = q; p; p = p->next) {
puts(p->buff);
}
return EXIT_SUCCESS;
}

次の案件に備えて11年ぶりくらいに
C言語を使ってみたが
意外と忘れてなくて良かったε-(´∀`*)ホッ

.screenrc

# -*- shell-script -*-

termcap kterm hs@
terminfo kterm hs@
term ansi
vbell off
bind w windowlist -b
hardstatus alwayslastline "%{= gw} %H %{= wk}%-Lw%{= bw}%n%f* %t%{= wk}%+Lw %{= wk}%=%{= gk} %y/%m/%d %c "
defhstatus I^En:^EtI
shell -$SHELL
startup_message off
autodetach on
defscrollback 5000

bind 'd' setenv DISPLAY
bind w windowlist -b
bind ^p paste
bind p paste

bind r eval 'echo "Resize window"' 'command -c resize'
bind -c resize ^] command
bind -c resize j eval 'resize +1' 'command -c resize'
bind -c resize k eval 'resize -1' 'command -c resize'

bindkey -m > eval "stuff ' '" writebuf 'exec sh -c "xsel -i -b < /tmp/screen-exchange; sleep 0.1"'