Homeに戻る  一覧に戻る 

How to build PARI/GP 2.1.5 and gp2c-0.0.2pl5


pari/gp-2.1.5とgp2c-0.0.2pl5をBuildする[2003.04.10]

■pari-2.1.5がreleaseされたので、これをbuildする。 また、pari/gpからC言語へのコンパイラであるgp2c-0.0.2pl5もbuildする。 言うまでもなく、対象OSはNetBSD-1.6/i386である。

■GNU readline-4.3をbuild/installする。
$ tar zxf ~/install/readline-4.3.tar.gz
$ cd readline-4.3
$ CFLAGS="-m486 -O2" ./configure --prefix=/usr/gnu
$ make everything
$ su
# make install
$ make clean
■pari/gp-2.1.5をbuild/installする。
  1. ソースを展開する。
    $ tar zxf pari-2.1.5.tgz
    $ cd ./pari-2.1.5
          
  2. NetBSD-1.6に対応させ、GNU readline 4.3ライブラリ(/usr/gnu/lib/libreadline.a)を組み込むために、./Configureファイルを以下のように変更する。
    freebsdに対応している部分に、netbsdを追加する。
    GNU readlineライブラリの情報を追加する。
    839,840c837
    < #  OPTFLAGS=-O3
    <   OPTFLAGS="-m486 -O2"
    ---
    >   OPTFLAGS=-O3
    873c870
    <     cygwin*|linux-i?86|freebsd-i?86|netbsd-i?86)
    ---
    >     cygwin*|linux-i?86|freebsd-i?86)
    945c942
    <   freebsd|netbsd)
    ---
    >   freebsd)
    1012c1009
    <     *-alpha|solaris-*|linux-*|freebsd-*|netbsd-*)
    ---
    >     *-alpha|solaris-*|linux-*|freebsd-*)
    1047c1044
    <       freebsd-*|netbsd-*)  DLLDFLAGS="-Bshareable -x" ;;
    ---
    >       freebsd-*)  DLLDFLAGS="-Bshareable -x" ;;
    1060c1057
    <     freebsd|netbsd|linux|sunos|solaris) DLLDFLAGS="$DLLDFLAGS -lc -lm";;
    ---
    >     freebsd|linux|sunos|solaris) DLLDFLAGS="$DLLDFLAGS -lc -lm";;
          
  3. config/arch-osnameに以下を追加する。
    14d13
    <   netbsd)   arch=i386;;
    
  4. Configureを実行する。
    $ CFLAGS="-m486 -O2" ./Configure --prefix=/usr/gnu --host=i386-netbsd
         
  5. ./src/kernel/ix86/l0asm.cのFreeBSDに対応した部分をNetBSDに対応させる。
    39c39
    < #if defined(__EMX__) || defined(__DJGCC__) || defined(__GO32__) || (defined(linux) && !defined(__ELF__)) || defined(__386BSD__) || (defined(__NetBSD__) && !defined(__ELF__)) || (defined(__FreeBSD__) && !defined(__ELF__)) || defined(NeXT) || defined(__CYGWIN32__) || defined(__MINGW32__)
    ---
    > #if defined(__EMX__) || defined(__DJGCC__) || defined(__GO32__) || (defined(linux) && !defined(__ELF__)) || defined(__386BSD__) || defined(__NetBSD__) || (defined(__FreeBSD__) && !defined(__ELF__)) || defined(NeXT) || defined(__CYGWIN32__) || defined(__MINGW32__)
         
  6. ./src/gp/gp.cの関数add_historyのprototype宣言を変更する。
    48d47
    < /* H.Nakao
    50,51d48
    < */
    <   extern int add_history(const char*);
         
  7. ./src/gp/gp_rl.cの関数rl_message,filename_completion_function,username_completion_functionのprototype宣言を変更する。 マクロHAS_RL_COMPLETION_MATCHESを定義する。
    41,43c41
    < #define HAS_RL_COMPLETION_MATCHES /*H.Nakao*/
    < /*extern int rl_message (const char *, ...);*/
    < extern int rl_message ();
    ---
    > extern int rl_message (const char *, ...);
    48d45
    < /* H.Nakao
    51,53d47
    < */
    < extern char *filename_completion_function(const char *text,int state);
    < extern char *username_completion_function(const char *text,int state);
         
  8. ./Onetbsd-i386/Makefleにtermcapライブラリを追加する(GNU readlineライブラリから参照する)。
    72c72
    < RLLIBS    = -L/usr/gnu/lib -lreadline -ltermcap
    ---
    > RLLIBS    = -L/usr/gnu/lib -lreadline
         
  9. makeする。
    $ make all
         
  10. installする。
    $ su
    # make install
         

■gp2c-0.0.2pl5をbuildする。
$ tar zxf ~/install/gp2c-0.0.2pl5.tgz
$ cd gp2c-0.0.2pl5
$ ln -s ../pari-2.1.5 pari
$ CFLAGS="-m486 -O2" ./configure --with-pari=~/pari-2.1.5 --prefix=/usr/gnu --host=netbsd-i386
$ make
$ su
# make install
# exit
$ make clean

参考文献





Last Update: 2005.06.12
H.Nakao

Homeに戻る[Homeに戻る]  一覧に戻る[一覧2003に戻る]