Homeに戻る  一覧に戻る 

How to build pari-2.1.6 and gp2c-0.0.3pl3


pari-2.1.6とgp2c-0.0.3pl3をbuildする[2004.12.04]

pari-2.1.6とgp2c-0.0.3pl3がreleaseされたので、さっそくbuildしてみる。
対象となるOSは、NetBSD-1.6.2/i386である。

■GNU readline-4.3をbuild/installしておく。

■pari-2.1.6をbuild/installする。
  1. ソースを展開する。
    $ tar zxf ~/install/pari-2.1.6.tgz
    $ cd pari-2.1.6
    
  2. ./Configureファイルを以下のように変更する。 NetBSD-1.6.2への対応とGNU readline-4.3(/usr/gnu/lib/readline.a)の情報を追加する。
    293c293
    <   rep='os2 freebsd cygwin linux hpux aix osf1 solaris sunos nextstep concentrix irix';
    ---
    >   rep='os2 freebsd netbsd cygwin linux hpux aix osf1 solaris sunos nextstep concentrix irix';
    329c329
    <   nextstep|cygwin*|linux|freebsd|os2|gnu)
    ---
    >   nextstep|cygwin*|linux|freebsd|netbsd|os2|gnu)
    401c401,403
    < readline_enabledp="nil"
    ---
    > #readline_enabledp="nil"
    > readline_enabledp="t"
    > readline=/usr/gnu/lib
    548a551
    >       /usr/gnu/include/readline\
    837c840,841
    <   OPTFLAGS=-O3
    ---
    > #  OPTFLAGS=-O3
    >   OPTFLAGS=-m486 -O2
    870c874
    <     cygwin*|linux-i?86|freebsd-i?86)
    ---
    >     cygwin*|linux-i?86|freebsd-i?86|netbsd-i?86)
    942c946
    <   freebsd)
    ---
    >   freebsd|netbsd)
    1009c1013
    <     gnu-*|*-alpha|solaris-*|linux-*|freebsd-*)
    ---
    >     gnu-*|*-alpha|solaris-*|linux-*|freebsd-*|netbsd-*)
    1044c1048
    <       freebsd-*)  DLLDFLAGS="-Bshareable -x" ;;
    ---
    >       freebsd-*|netbsd-*)  DLLDFLAGS="-Bshareable -x" ;;
    1057c1061
    <     freebsd|linux|sunos|solaris) DLLDFLAGS="$DLLDFLAGS -lc -lm";;
    ---
    >     freebsd|netbsd|linux|sunos|solaris) DLLDFLAGS="$DLLDFLAGS -lc -lm";;
    
  3. ./config/arch-osnameファイルに以下を追加する。
    13a14
    >   netbsd)   arch=i386;;
    
  • ./Configureを実行する。
    $ CFLAGS="-m486 -O2" ./Configure --prefix=/usr/gnu --host=i386-netbsd
    
  • ./src/kernel/ix86/l0asm.cをNetBSD ELFに対応させる。
    39c39
    < #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__)
    ---
    > #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__)
    
  • ./src/gp/gp.cの関数add_historyのprototype宣言を変更する。
    47a48
    > /* H.Nakao
    48a50,51
    > */
    >   extern int add_history(const char*);
    
  • ./src/gp/gp_rl.cの関数filename_completion_function,username_completion_functionのprototype宣言を変更する。
    45a46
    > /* H.Nakao
    47a49,51
    > */
    > extern char *filename_completion_function(const char *text,int state);
    > extern char *username_completion_function(const char *text,int state);
    
  • ./Onetbsd-i386/Makefileを変更する。
    RLLIBSに-ltermcapを追加する。CFLAGSに-m486 -O2を追加する。
    14c14,15
    < CFLAGS     =  -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer  
    ---
    > #CFLAGS     = -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer  
    > CFLAGS     =  -m486 -O2 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer  
    75c76,77
    < RLLIBS    = -L/usr/gnu/lib -lreadline
    ---
    > #RLLIBS    = -L/usr/gnu/lib -lreadline
    > RLLIBS    = -L/usr/gnu/lib -lreadline -ltermcap
    
  • makeする。
    $ make all
    
  • installする。
    $ su
    # make install
    # exit
    $ make clean
    
    ■gp2c-0.0.3pl3をbuildする。
    $ tar zxf ~/install/gp2c-0.0.3pl3.tar.gz
    $ cd gp2c-0.0.3pl3
    $ ln -s ../pari-2.1.6 pari
    $ CFLAGS="-m486 -O2" ./configure --with-pari=~/pari-2.1.6 --prefix=/usr/gnu --host=netbsd-i386
    $ make
    $ su
    # make install
    # exit
    $ make clean
    



    Last Update: 2005.06.12
    H.Nakao

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