tetexをインストール

私は文書をTeXでしかかけないという特異な体質を持っています。Wordを使うと全身にじんましんがでるのと、生産性が1/30になるので仕方がないのです。

でも使っているTeXは約10年前にインストールしたもの。1996年製のノートPC。TeXにしか使ってないので別になんともないんですが、まぁちょっと手が空いたので現DesktopへTeX環境を作ろうかなと。

ここから必要物件をダウンロードしてmake。Fedoraの新しいカーネルだとstdio.h中のgetlineと定義がコンフリクトするようです。

srcdir=. /bin/sh ./web2c/convert tangleboot
gcc -DHAVE_CONFIG_H  -I. -I. -I.. -I./..   -g -O2  -c tangleboot.c -o tangleboot.o
In file included from tangleboot.c:95:
tangleboot.h:34: error: conflicting types for ‘getline’
/usr/include/stdio.h:653: note: previous declaration of ‘getline’ was here
tangleboot.c:2175: error: conflicting types for ‘getline’
/usr/include/stdio.h:653: note: previous declaration of ‘getline’ was here

一時的に/usr/include/stdio.hのgetline定義を

extern _IO_ssize_t __getline (char **__restrict __lineptr,
                            size_t *__restrict __n,
                            FILE *__restrict __stream) __wur;

と変更するとコンパイルは通ります。本来なら、TeX側のヘッダで#ifdefとかでgetlineを別のシンボルへ定義しなおしてあげるとか、ソースそのものを修正しちゃうってのが正しいんでしょうが。