| | 216 | * よくある(?)エラーなどは => [./oldmethod] |
| | 217 | |
| | 218 | == download toolcgain == |
| | 219 | * mitty@precise:~$ wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/OpenWrt-Toolchain-ar71xx-for-mips_r2-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2 |
| | 220 | * mitty@precise:~$ tar xjf OpenWrt-Toolchain-ar71xx-for-mips_r2-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2 |
| | 221 | |
| | 222 | == export ENVIRONMENT == |
| | 223 | * mitty@precise:~$ export STAGING_DIR=~/OpenWrt-Toolchain-ar71xx-for-mips_r2-gcc-4.6-linaro_uClibc-0.9.33.2/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/ |
| | 224 | * mitty@precise:~$ export PATH=$PATH:$STAGING_DIR/bin/ |
| | 225 | |
| | 226 | == libiconv == |
| | 227 | * mitty@precise:~$ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz |
| | 228 | * mitty@precise:~$ tar xzf libiconv-1.14.tar.gz |
| | 229 | * mitty@precise:~/libiconv-1.14$ CC=mips-openwrt-linux-gcc ./configure --prefix=$STAGING_DIR --host=mips-openwrt-linux |
| | 230 | * mitty@precise:~/libiconv-1.14$ make |
| | 231 | * mitty@precise:~/libiconv-1.14$ make install |
| | 232 | |
| | 233 | == zlib == |
| | 234 | * mitty@precise:~$ wget http://zlib.net/zlib-1.2.7.tar.gz |
| | 235 | * mitty@precise:~$ tar xzf zlib-1.2.7.tar.gz |
| | 236 | * mitty@precise:~/zlib-1.2.7$ CC=mips-openwrt-linux-gcc AR=mips-openwrt-linux-ar RANLIB=mips-openwrt-linux-ranlib ./configure --prefix=$STAGING_DIR |
| | 237 | * mitty@precise:~/zlib-1.2.7$ make |
| | 238 | * mitty@precise:~/zlib-1.2.7$ make install |
| | 239 | |
| | 240 | == openssl == |
| | 241 | * mitty@precise:~$ wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz |
| | 242 | * mitty@precise:~$ tar xzf openssl-1.0.1c.tar.gz |
| | 243 | * mitty@precise:~/openssl-1.0.1c$ ./Configure --prefix=$STAGING_DIR --cross-compile-prefix=mips-openwrt-linux- gcc |
| | 244 | * mitty@precise:~/openssl-1.0.1c$ make |
| | 245 | * mitty@precise:~/openssl-1.0.1c$ make install |
| | 246 | |
| | 247 | == ncurses == |
| | 248 | * mitty@precise:~$ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz |
| | 249 | * mitty@precise:~$ tar xzf ncurses-5.9.tar.gz |
| | 250 | * mitty@precise:~/ncurses-5.9$ CC=mips-openwrt-linux-gcc CXX=mips-openwrt-linux-g++ ./configure --prefix=$STAGING_DIR --host=mips-openwrt-linux --enable-echo --enable-const --enable-overwrite --disable-rpath --without-ada --without-debug --without-profile --without-progs --disable-big-core --disable-home-terminfo --with-normal --with-shared --with-terminfo-dirs=/usr/share/terminfo --with-default-terminfo-dir=/usr/share/terminfo |
| | 251 | * mitty@precise:~/ncurses-5.9$ make |
| | 252 | * mitty@precise:~/ncurses-5.9$ make install |
| | 253 | |
| | 254 | == readline == |
| | 255 | * mitty@precise:~$ wget ftp://ftp.cwru.edu/pub/bash/readline-5.2.013.tar.gz |
| | 256 | * mitty@precise:~$ tar xzf readline-5.2.013.tar.gz |
| | 257 | * mitty@precise:~/readline-5.2.013$ wget ftp://ftp.cwru.edu/pub/bash/readline-5.2-patches/readline52-014 |
| | 258 | * mitty@precise:~/readline-5.2.013$ patch < readline52-014 |
| | 259 | * mitty@precise:~/readline-5.2.013$ CC=mips-openwrt-linux-gcc ./configure --prefix=$STAGING_DIR --host=mips-openwrt-linux |
| | 260 | * mitty@precise:~/readline-5.2.013$ make |
| | 261 | * mitty@precise:~/readline-5.2.013$ make install |
| | 262 | |
| 217 | | * mitty@precise:~/openwrt/trunk/package$ svn co https://lab.mitty.jp/svn/lab/trunk/Dev/utvpn/utvpn-unix-v101-7101-public utvpn |
| 218 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ ./configure |
| 219 | | {{{ |
| 220 | | ------------------------------------------------------------- |
| 221 | | SoftEther UT-VPN for Unix |
| 222 | | |
| 223 | | Copyright (C) 2004-2010 SoftEther Corporation. |
| 224 | | Copyright (C) 2004-2010 University of Tsukuba, Japan. |
| 225 | | Copyright (C) 2003-2010 Daiyuu Nobori. All Rights Reserved. |
| 226 | | |
| 227 | | This program is free software; you can redistribute it and/or |
| 228 | | modify it under the terms of the GNU General Public License |
| 229 | | version 2 as published by the Free Software Foundation. |
| 230 | | ------------------------------------------------------------- |
| 231 | | |
| 232 | | Please select your Operating System below: |
| 233 | | 1: Linux |
| 234 | | 2: FreeBSD |
| 235 | | 3: Solaris |
| 236 | | 4: Mac OS X |
| 237 | | |
| 238 | | Which is your operating system (1-4): |
| 239 | | 1 |
| 240 | | |
| 241 | | Please select your CPU Bits below: |
| 242 | | 1: 32-bit |
| 243 | | 2: 64-bit |
| 244 | | |
| 245 | | Which is the bits of your CPU (1-2): |
| 246 | | 1 |
| 247 | | |
| 248 | | Makefile is generated. Please execute 'make' to build UT-VPN. |
| 249 | | }}} |
| 250 | | |
| 251 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ sha1sum Makefile makefiles/linux_32bit_ja.mak |
| 252 | | {{{ |
| 253 | | 5d63c1cbb04ef9a3ecc6d4b8f1150cac20fbfa9d Makefile |
| 254 | | 5d63c1cbb04ef9a3ecc6d4b8f1150cac20fbfa9d makefiles/linux_32bit_ja.mak |
| 255 | | }}} |
| 256 | | * Makefileは単純にcpしているだけ |
| 257 | | |
| 258 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ svn cp makefiles/linux_32bit_ja.mak Makefile |
| 259 | | |
| 260 | | === build with gcc for mips === |
| 261 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ export PATH=$PATH:~/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/ |
| 262 | | |
| 263 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make CC=mips-openwrt-linux-gcc LD=mips-openwrt-linux-ld |
| 264 | | {{{ |
| 265 | | mips-openwrt-linux-gcc -DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char -c src/Mayaqua/Cfg.c -o tmp/objs/Mayaqua/Cfg.o |
| 266 | | mips-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined |
| 267 | | In file included from src/Mayaqua/Cfg.c:90:0: |
| 268 | | ./src/Mayaqua/Mayaqua.h:219:31: fatal error: readline/readline.h: No such file or directory |
| 269 | | compilation terminated. |
| 270 | | make: *** [tmp/objs/Mayaqua/Cfg.o] Error 1 |
| 271 | | }}} |
| 272 | | * mitty@precise:~$ sudo aptitude install -R libssl-dev libreadline-dev libncurses-dev |
| 273 | | |
| 274 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ export STAGING_DIR=~/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/ |
| 275 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make CC=mips-openwrt-linux-gcc LD=mips-openwrt-linux-ld |
| 276 | | {{{ |
| 277 | | (snip) |
| 278 | | |
| 279 | | mips-openwrt-linux-gcc tmp/as/Ham.a -O2 -fsigned-char -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz -o output/ham/ham |
| 280 | | /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/bin/ld: cannot find -lssl |
| 281 | | /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/bin/ld: cannot find -lcrypto |
| 282 | | /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/bin/ld: cannot find -lreadline |
| 283 | | /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/bin/ld: cannot find -lncurses |
| 284 | | /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/bin/ld: cannot find -lz |
| 285 | | collect2: ld returned 1 exit status |
| 286 | | }}} |
| 287 | | |
| 288 | | === rebuild after libraries were installed === |
| 289 | | * make install [#zlib], [#openssl], [#ncurses] and [#readline] |
| 290 | | |
| 291 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make clean |
| 292 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make CC=mips-openwrt-linux-gcc LD=mips-openwrt-linux-ld |
| 293 | | {{{ |
| 294 | | |
| 295 | | mips-openwrt-linux-gcc tmp/as/Ham.a -O2 -fsigned-char -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz -o output/ham/ham |
| 296 | | tmp/as/Ham.a(Internat.o): In function `IconvWideToStrInternal': |
| 297 | | Internat.c:(.text+0x634): undefined reference to `iconv_open' |
| 298 | | Internat.c:(.text+0x648): undefined reference to `iconv_open' |
| 299 | | tmp/as/Ham.a(Internat.o): In function `IconvStrToWideInternal': |
| 300 | | Internat.c:(.text+0x66c): undefined reference to `iconv_open' |
| 301 | | Internat.c:(.text+0x680): undefined reference to `iconv_open' |
| 302 | | tmp/as/Ham.a(Internat.o): In function `IconvFreeInternal': |
| 303 | | Internat.c:(.text+0x690): undefined reference to `iconv_close' |
| 304 | | tmp/as/Ham.a(Internat.o): In function `UnixUniToStr': |
| 305 | | Internat.c:(.text+0x7b0): undefined reference to `iconv' |
| 306 | | tmp/as/Ham.a(Internat.o): In function `InitInternational': |
| 307 | | Internat.c:(.text+0xb68): undefined reference to `iconv_close' |
| 308 | | Internat.c:(.text+0xbcc): undefined reference to `iconv_close' |
| 309 | | tmp/as/Ham.a(Internat.o): In function `UnixStrToUni': |
| 310 | | Internat.c:(.text+0x37e4): undefined reference to `iconv' |
| 311 | | collect2: ld returned 1 exit status |
| 312 | | make: *** [output/ham/ham] Error 1 |
| 313 | | }}} |
| 314 | | === make install iconv === |
| 315 | | * mitty@precise:~/openwrt$ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz |
| 316 | | * mitty@precise:~/openwrt/libiconv-1.14$ CC=mips-openwrt-linux-gcc ./configure --prefix=$STAGING_DIR --host=mips-openwrt-linux |
| 317 | | * mitty@precise:~/openwrt/libiconv-1.14$ make |
| 318 | | * mitty@precise:~/openwrt/libiconv-1.14$ make install |
| 319 | | |
| 320 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make clean |
| 321 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make CC=mips-openwrt-linux-gcc LD=mips-openwrt-linux-ld |
| 322 | | {{{ |
| 323 | | |
| 324 | | mips-openwrt-linux-gcc tmp/as/Ham.a -O2 -fsigned-char -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz -o output/ham/ham |
| 325 | | tmp/as/Ham.a(Internat.o): In function `IconvWideToStrInternal': |
| 326 | | Internat.c:(.text+0x634): undefined reference to `iconv_open' |
| 327 | | |
| 328 | | (snip) |
| 329 | | }}} |
| 330 | | |
| 331 | | === fix source === |
| 332 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ vim src/Mayaqua/Mayaqua.h |
| 333 | | {{{#!diff |
| 334 | | Index: src/Mayaqua/Mayaqua.h |
| 335 | | =================================================================== |
| 336 | | --- src/Mayaqua/Mayaqua.h (revision 147) |
| 337 | | +++ src/Mayaqua/Mayaqua.h (working copy) |
| 338 | | @@ -221,6 +221,8 @@ |
| 339 | | //#include <curses.h> |
| 340 | | |
| 341 | | #ifdef UNIX_LINUX |
| 342 | | +#include <iconv.h> |
| 343 | | +/* |
| 344 | | typedef void *iconv_t; |
| 345 | | iconv_t iconv_open (__const char *__tocode, __const char *__fromcode); |
| 346 | | size_t iconv (iconv_t __cd, char **__restrict __inbuf, |
| 347 | | @@ -228,6 +230,7 @@ |
| 348 | | char **__restrict __outbuf, |
| 349 | | size_t *__restrict __outbytesleft); |
| 350 | | int iconv_close (iconv_t __cd); |
| 351 | | +*/ |
| 352 | | #else // UNIX_LINUX |
| 353 | | #include <iconv.h> |
| 354 | | #endif // UNIX_LINUX |
| 355 | | }}} |
| 356 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ vim Makefile |
| 357 | | {{{#!diff |
| 358 | | Index: Makefile |
| 359 | | =================================================================== |
| 360 | | --- Makefile (revision 147) |
| 361 | | +++ Makefile (working copy) |
| 362 | | @@ -27,16 +27,16 @@ |
| 363 | | |
| 364 | | OPTIONS_COMPILE_DEBUG=-D_DEBUG -DDEBUG -DUNIX -DUNIX_LINUX -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -g -fsigned-char |
| 365 | | |
| 366 | | -OPTIONS_LINK_DEBUG=-g -fsigned-char -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz |
| 367 | | +OPTIONS_LINK_DEBUG=-g -fsigned-char -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz -liconv |
| 368 | | |
| 369 | | OPTIONS_COMPILE_RELEASE=-DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char |
| 370 | | |
| 371 | | -OPTIONS_LINK_RELEASE=-O2 -fsigned-char -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz |
| 372 | | +OPTIONS_LINK_RELEASE=-O2 -fsigned-char -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz -liconv |
| 373 | | |
| 374 | | -INSTALL_BINDIR=/usr/bin/ |
| 375 | | -INSTALL_UTVPNSERVER_DIR=/usr/utvpnserver/ |
| 376 | | -INSTALL_UTVPNCLIENT_DIR=/usr/utvpnclient/ |
| 377 | | -INSTALL_UTVPNCMD_DIR=/usr/utvpncmd/ |
| 378 | | +INSTALL_BINDIR=$(PREFIX)/usr/bin/ |
| 379 | | +INSTALL_UTVPNSERVER_DIR=$(PREFIX)/usr/utvpnserver/ |
| 380 | | +INSTALL_UTVPNCLIENT_DIR=$(PREFIX)/usr/utvpnclient/ |
| 381 | | +INSTALL_UTVPNCMD_DIR=$(PREFIX)/usr/utvpncmd/ |
| 382 | | |
| 383 | | ifeq ($(DEBUG),YES) |
| 384 | | OPTIONS_COMPILE=$(OPTIONS_COMPILE_DEBUG) |
| 385 | | @@ -307,6 +307,7 @@ |
| 386 | | @mkdir -p $(INSTALL_UTVPNSERVER_DIR) |
| 387 | | cp output/utvpnserver/hamcore.utvpn $(INSTALL_UTVPNSERVER_DIR)hamcore.utvpn |
| 388 | | cp output/utvpnserver/utvpnserver $(INSTALL_UTVPNSERVER_DIR)utvpnserver |
| 389 | | + @mkdir -p $(INSTALL_BINDIR) |
| 390 | | echo "#!/bin/sh" > $(INSTALL_BINDIR)utvpnserver |
| 391 | | echo $(INSTALL_UTVPNSERVER_DIR)utvpnserver '"$$@"' >> $(INSTALL_BINDIR)utvpnserver |
| 392 | | echo 'exit $$?' >> $(INSTALL_BINDIR)utvpnserver |
| 393 | | @@ -317,6 +318,7 @@ |
| 394 | | cp output/utvpnclient/hamcore.utvpn $(INSTALL_UTVPNCLIENT_DIR)hamcore.utvpn |
| 395 | | cp output/utvpnclient/utvpnclient $(INSTALL_UTVPNCLIENT_DIR)utvpnclient |
| 396 | | echo "#!/bin/sh" > $(INSTALL_BINDIR)utvpnclient |
| 397 | | + @mkdir -p $(INSTALL_BINDIR) |
| 398 | | echo $(INSTALL_UTVPNCLIENT_DIR)utvpnclient '"$$@"' >> $(INSTALL_BINDIR)utvpnclient |
| 399 | | echo 'exit $$?' >> $(INSTALL_BINDIR)utvpnclient |
| 400 | | chmod 755 $(INSTALL_BINDIR)utvpnclient |
| 401 | | @@ -325,6 +327,7 @@ |
| 402 | | @mkdir -p $(INSTALL_UTVPNCMD_DIR) |
| 403 | | cp output/utvpncmd/hamcore.utvpn $(INSTALL_UTVPNCMD_DIR)hamcore.utvpn |
| 404 | | cp output/utvpncmd/utvpncmd $(INSTALL_UTVPNCMD_DIR)utvpncmd |
| 405 | | + @mkdir -p $(INSTALL_BINDIR) |
| 406 | | echo "#!/bin/sh" > $(INSTALL_BINDIR)utvpncmd |
| 407 | | echo $(INSTALL_UTVPNCMD_DIR)utvpncmd '"$$@"' >> $(INSTALL_BINDIR)utvpncmd |
| 408 | | echo 'exit $$?' >> $(INSTALL_BINDIR)utvpncmd |
| 409 | | }}} |
| 410 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make CC=mips-openwrt-linux-gcc LD=mips-openwrt-linux-ld |
| 411 | | |
| 412 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make install PREFIX=~/tmp |
| 413 | | {{{ |
| 414 | | cp output/utvpnserver/hamcore.utvpn /home/mitty/tmp/usr/utvpnserver/hamcore.utvpn |
| 415 | | cp output/utvpnserver/utvpnserver /home/mitty/tmp/usr/utvpnserver/utvpnserver |
| 416 | | echo "#!/bin/sh" > /home/mitty/tmp/usr/bin/utvpnserver |
| 417 | | echo /home/mitty/tmp/usr/utvpnserver/utvpnserver '"$@"' >> /home/mitty/tmp/usr/bin/utvpnserver |
| 418 | | echo 'exit $?' >> /home/mitty/tmp/usr/bin/utvpnserver |
| 419 | | chmod 755 /home/mitty/tmp/usr/bin/utvpnserver |
| 420 | | cp output/utvpnclient/hamcore.utvpn /home/mitty/tmp/usr/utvpnclient/hamcore.utvpn |
| 421 | | cp output/utvpnclient/utvpnclient /home/mitty/tmp/usr/utvpnclient/utvpnclient |
| 422 | | echo "#!/bin/sh" > /home/mitty/tmp/usr/bin/utvpnclient |
| 423 | | echo /home/mitty/tmp/usr/utvpnclient/utvpnclient '"$@"' >> /home/mitty/tmp/usr/bin/utvpnclient |
| 424 | | echo 'exit $?' >> /home/mitty/tmp/usr/bin/utvpnclient |
| 425 | | chmod 755 /home/mitty/tmp/usr/bin/utvpnclient |
| 426 | | cp output/utvpncmd/hamcore.utvpn /home/mitty/tmp/usr/utvpncmd/hamcore.utvpn |
| 427 | | cp output/utvpncmd/utvpncmd /home/mitty/tmp/usr/utvpncmd/utvpncmd |
| 428 | | echo "#!/bin/sh" > /home/mitty/tmp/usr/bin/utvpncmd |
| 429 | | echo /home/mitty/tmp/usr/utvpncmd/utvpncmd '"$@"' >> /home/mitty/tmp/usr/bin/utvpncmd |
| 430 | | echo 'exit $?' >> /home/mitty/tmp/usr/bin/utvpncmd |
| 431 | | chmod 755 /home/mitty/tmp/usr/bin/utvpncmd |
| 432 | | |
| 433 | | -------------------------------------------------------------------- |
| 434 | | Installation completed successfully. |
| 435 | | |
| 436 | | Please execute 'utvpnserver start' to run UT-VPN Server Background Service. |
| 437 | | Or please execute 'utvpnclient start' to run UT-VPN Client Background Service. |
| 438 | | And please execute 'utvpncmd' to run UT-VPN Command-Line Utility to configure UT-Server or UT-VPN Client. |
| 439 | | -------------------------------------------------------------------- |
| 440 | | }}} |
| 441 | | |
| 442 | | * mitty@precise:~$ mv tmp utvpn-unix-v101-7101-public.mips |
| 443 | | * mitty@precise:~$ tar czf utvpn-unix-v101-7101-public.mips.tar.gz utvpn-unix-v101-7101-public.mips |
| 444 | | |
| 445 | | * mitty@starseed:~/utvpn-unix-v101-7101-public.mips/usr/utvpncmd$ ./utvpncmd |
| 446 | | {{{ |
| 447 | | Bus error |
| 448 | | }}} |
| 449 | | * うまく動かない |
| | 264 | * make install #zlib, #openssl, #ncurses and #readline |
| | 265 | |
| | 266 | * mitty@precise:~$ svn export http://lab.mitty.jp/svn/lab/trunk/Dev/utvpn/utvpn-unix-v101-7101-public/ |
| | 267 | |
| | 268 | * あるいは以下の様にする |
| | 269 | * mitty@precise:~$ wget 'http://utvpn.tsukuba.ac.jp/files/utvpn/v1.01-7101-public-2010.06.27/Source%20Code%20(Win32%20and%20Unix)/utvpn-src-unix-v101-7101-public-2010.06.27.tar.gz' |
| | 270 | * mitty@precise:~$ tar xzf utvpn-src-unix-v101-7101-public-2010.06.27.tar.gz |
| | 271 | * mitty@precise:~/utvpn-unix-v101-7101-public$ svn diff http://lab.mitty.jp/svn/lab/trunk/Dev/utvpn/utvpn-unix-v101-7101-public/ -r152:153 | patch -p0 |
| | 272 | {{{ |
| | 273 | patching file Makefile.mips |
| | 274 | patching file src/Mayaqua/Mayaqua.h |
| | 275 | }}} |
| | 276 | |
| | 277 | * mitty@precise:~/utvpn-unix-v101-7101-public$ cp $STAGING_DIR/include/openssl/* src/Mayaqua/openssl/ |
| 453 | | === update openssl headers === |
| 454 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ export PATH=$PATH:~/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/ |
| 455 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ export STAGING_DIR=~/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/ |
| 456 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ cp ../../staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/include/openssl/* src/Mayaqua/openssl/ |
| 457 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make CC=mips-openwrt-linux-gcc LD=mips-openwrt-linux-ld |
| 458 | | |
| 459 | | |
| 460 | | * mitty@precise:~/openwrt/trunk/package/utvpn$ make install PREFIX=~/utvpn-unix-v101-7101-public.mips |
| 461 | | |
| 462 | | === it works ! === |
| 463 | | * mitty@starseed:~$ ./utvpn-unix-v101-7101-public.mips/usr/utvpnclient/utvpnclient |
| 464 | | {{{ |
| 465 | | SoftEther UT-VPN Client Service Program |
| 466 | | Copyright (C) 2004-2010 SoftEther Corporation. |
| 467 | | Copyright (C) 2004-2010 University of Tsukuba, Japan. |
| 468 | | Copyright (C) 2003-2010 Daiyuu Nobori. |
| 469 | | All Rights Reserved. |
| 470 | | |
| 471 | | utvpnclient Command Usage: |
| 472 | | utvpnclient start - Start SoftEther UT-VPN Client Service. |
| 473 | | utvpnclient stop - Stop SoftEther UT-VPN Client Service if the service is already started. |
| 474 | | }}} |
| 475 | | * mitty@starseed:~$ ./utvpn-unix-v101-7101-public.mips/usr/utvpnclient/utvpnclient start |
| 476 | | {{{ |
| 477 | | SoftEther UT-VPN Client Service Started. |
| 478 | | }}} |
| 479 | | |
| 480 | | * mitty@starseed:~$ ps w | tail |
| 481 | | {{{ |
| 482 | | 29986 root 0 SW [flush-mtd-unmap] |
| 483 | | 29987 mitty 2100 S -bash |
| 484 | | 29992 mitty 1548 S /usr/sbin/screen -d -RR -U |
| 485 | | 29993 mitty 4344 S {screen} /usr/sbin/SCREEN -d -RR -U |
| 486 | | 29994 mitty 2648 S /bin/bash |
| 487 | | 30026 root 0 SW [kworker/0:0] |
| 488 | | 30033 mitty 4164 S /home/mitty/utvpn-unix-v101-7101-public.mips/usr/utvpnclient/utvpnclient execsvc |
| 489 | | 30034 mitty 11948 S /home/mitty/utvpn-unix-v101-7101-public.mips/usr/utvpnclient/utvpnclient execsvc |
| 490 | | 30043 mitty 1492 R ps w |
| 491 | | 30044 mitty 1492 S tail |
| 492 | | }}} |
| 493 | | * mitty@starseed:~$ netstat -nap --inet | grep utvpn |
| 494 | | {{{ |
| 495 | | (Not all processes could be identified, non-owned process info |
| 496 | | will not be shown, you would have to be root to see it all.) |
| 497 | | tcp 0 0 0.0.0.0:9930 0.0.0.0:* LISTEN 30034/utvpnclient |
| 498 | | }}} |
| 499 | | == zlib == |
| 500 | | * [http://www.crosscompile.org/static/pages/ZLib.html How to Cross Compile Zlib Compression Library - Step by Step Guide (crosscompile.org)] |
| 501 | | |
| 502 | | * mitty@precise:~$ export PATH=$PATH:~/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/ |
| 503 | | * mitty@precise:~$ export STAGING_DIR=~/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/ |
| 504 | | |
| 505 | | * mitty@precise:~/openwrt$ wget http://zlib.net/zlib-1.2.7.tar.gz |
| 506 | | * mitty@precise:~/openwrt/zlib-1.2.7$ ./configure --prefix=$STAGING_DIR |
| 507 | | * mitty@precise:~/openwrt/zlib-1.2.7$ vim Makefile |
| 508 | | {{{#!diff |
| 509 | | --- Makefile.old 2012-06-17 20:05:08.485384996 +0900 |
| 510 | | +++ Makefile 2012-06-17 20:16:36.692585953 +0900 |
| 511 | | @@ -16,7 +16,7 @@ |
| 512 | | # To install in $HOME instead of /usr/local, use: |
| 513 | | # make install prefix=$HOME |
| 514 | | |
| 515 | | -CC=gcc |
| 516 | | +CC=mips-openwrt-linux-gcc |
| 517 | | |
| 518 | | CFLAGS=-O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN |
| 519 | | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 |
| 520 | | @@ -27,8 +27,8 @@ |
| 521 | | SFLAGS=-O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN |
| 522 | | LDFLAGS= |
| 523 | | TEST_LDFLAGS=-L. libz.a |
| 524 | | -LDSHARED=gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map |
| 525 | | -CPP=gcc -E |
| 526 | | +LDSHARED=mips-openwrt-linux-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map |
| 527 | | +CPP=mips-openwrt-linux-gcc -E |
| 528 | | |
| 529 | | STATICLIB=libz.a |
| 530 | | SHAREDLIB=libz.so |
| 531 | | @@ -36,9 +36,9 @@ |
| 532 | | SHAREDLIBM=libz.so.1 |
| 533 | | LIBS=$(STATICLIB) $(SHAREDLIBV) |
| 534 | | |
| 535 | | -AR=ar |
| 536 | | +AR=mips-openwrt-linux-ar |
| 537 | | ARFLAGS=rc |
| 538 | | -RANLIB=ranlib |
| 539 | | +RANLIB=mips-openwrt-linux-ranlib |
| 540 | | LDCONFIG=ldconfig |
| 541 | | LDSHAREDLIBC=-lc |
| 542 | | TAR=tar |
| 543 | | }}} |
| 544 | | |
| 545 | | * mitty@precise:~/openwrt/zlib-1.2.7$ make |
| 546 | | * mitty@precise:~/openwrt/zlib-1.2.7$ make install |
| 547 | | {{{ |
| 548 | | cp libz.a /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//lib |
| 549 | | chmod 644 /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//lib/libz.a |
| 550 | | cp libz.so.1.2.7 /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//lib |
| 551 | | chmod 755 /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//lib/libz.so.1.2.7 |
| 552 | | cp zlib.3 /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//share/man/man3 |
| 553 | | chmod 644 /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//share/man/man3/zlib.3 |
| 554 | | cp zlib.pc /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//lib/pkgconfig |
| 555 | | chmod 644 /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//lib/pkgconfig/zlib.pc |
| 556 | | cp zlib.h zconf.h /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//include |
| 557 | | chmod 644 /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//include/zlib.h /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2//include/zconf.h |
| 558 | | }}} |
| 559 | | |
| 560 | | == openssl == |
| 561 | | * [http://www.crosscompile.org/static/pages/OpenSSL.html How to Cross Compile OpenSSL a Step by Step Guide (crosscompile.org)] |
| 562 | | |
| 563 | | * mitty@precise:~/openwrt$ wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz |
| 564 | | * mitty@precise:~/openwrt/openssl-1.0.1c$ vim Makefile |
| 565 | | {{{#!diff |
| 566 | | --- Makefile.old 2012-05-11 00:18:25.000000000 +0900 |
| 567 | | +++ Makefile 2012-06-17 20:29:26.155761089 +0900 |
| 568 | | @@ -26,10 +26,10 @@ |
| 569 | | # for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/. |
| 570 | | # Normally it is left empty. |
| 571 | | INSTALL_PREFIX= |
| 572 | | -INSTALLTOP=/usr/local/ssl |
| 573 | | +INSTALLTOP=/home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/ |
| 574 | | |
| 575 | | # Do not edit this manually. Use Configure --openssldir=DIR do change this! |
| 576 | | -OPENSSLDIR=/usr/local/ssl |
| 577 | | +OPENSSLDIR=/home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/ |
| 578 | | |
| 579 | | # NO_IDEA - Define to build without the IDEA algorithm |
| 580 | | # NO_RC4 - Define to build without the RC4 algorithm |
| 581 | | @@ -59,15 +59,15 @@ |
| 582 | | # equal 4. |
| 583 | | # PKCS1_CHECK - pkcs1 tests. |
| 584 | | |
| 585 | | -CC= cc |
| 586 | | +CC= mips-openwrt-linux-gcc |
| 587 | | CFLAG= -O |
| 588 | | DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE |
| 589 | | PEX_LIBS= |
| 590 | | EX_LIBS= |
| 591 | | EXE_EXT= |
| 592 | | ARFLAGS= |
| 593 | | -AR= ar $(ARFLAGS) r |
| 594 | | -RANLIB= /usr/bin/ranlib |
| 595 | | +AR= mips-openwrt-linux-ar $(ARFLAGS) r |
| 596 | | +RANLIB= mips-openwrt-linux-ranlib |
| 597 | | NM= nm |
| 598 | | PERL= /usr/bin/perl |
| 599 | | TAR= tar |
| 600 | | }}} |
| 601 | | |
| 602 | | * mitty@precise:~/openwrt/openssl-1.0.1c$ make |
| 603 | | * mitty@precise:~/openwrt/openssl-1.0.1c$ make install |
| 604 | | |
| 605 | | * mitty@precise:~$ file openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/openssl |
| 606 | | {{{ |
| 607 | | openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/openssl: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1, dynamically linked (uses shared libs), with unknown capability 0x41000000 = 0xf676e75, with unknown capability 0x10000 = 0x70403, not stripped |
| 608 | | }}} |
| 609 | | |
| 610 | | == ncurses == |
| 611 | | * mitty@precise:~/openwrt$ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz |
| 612 | | * mitty@precise:~/openwrt/ncurses-5.9$ CC=mips-openwrt-linux-gcc ./configure --prefix=$STAGING_DIR |
| 613 | | {{{ |
| 614 | | checking for egrep... grep -E |
| 615 | | Configuring NCURSES 5.9 ABI 5 (Sun Jun 17 21:04:38 JST 2012) |
| 616 | | checking build system type... x86_64-unknown-linux-gnu |
| 617 | | checking host system type... x86_64-unknown-linux-gnu |
| 618 | | checking target system type... x86_64-unknown-linux-gnu |
| 619 | | Configuring for linux-gnu |
| 620 | | checking for prefix... /home/mitty/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/ |
| 621 | | checking for gcc... mips-openwrt-linux-gcc |
| 622 | | checking for C compiler default output... a.out |
| 623 | | checking whether the C compiler works... configure: error: cannot run C compiled programs. |
| 624 | | If you meant to cross compile, use `--host'. |
| 625 | | }}} |
| 626 | | |
| 627 | | === configure with host=mips-unknown-linux-gnu === |
| 628 | | * mitty@precise:~/openwrt/ncurses-5.9$ CC=mips-openwrt-linux-gcc CXX=mips-openwrt-linux-g++ ./configure --prefix=$STAGING_DIR --host=mips-unknown-linux-gnu |
| 629 | | {{{ |
| 630 | | checking for mips-unknown-linux-gnu-g++... no |
| 631 | | checking for mips-unknown-linux-gnu-c++... no |
| 632 | | checking for mips-unknown-linux-gnu-gpp... no |
| 633 | | checking for mips-unknown-linux-gnu-aCC... no |
| 634 | | checking for mips-unknown-linux-gnu-CC... no |
| 635 | | checking for mips-unknown-linux-gnu-cxx... no |
| 636 | | checking for mips-unknown-linux-gnu-cc++... no |
| 637 | | checking for mips-unknown-linux-gnu-cl... no |
| 638 | | checking for mips-unknown-linux-gnu-FCC... no |
| 639 | | checking for mips-unknown-linux-gnu-KCC... no |
| 640 | | checking for mips-unknown-linux-gnu-RCC... no |
| 641 | | checking for mips-unknown-linux-gnu-xlC_r... no |
| 642 | | checking for mips-unknown-linux-gnu-xlC... no |
| 643 | | checking for g++... g++ |
| 644 | | }}} |
| 645 | | * oops |
| 646 | | |
| 647 | | === configure with host=mips-openwrt-linux === |
| 648 | | * mitty@precise:~/openwrt/ncurses-5.9$ CC=mips-openwrt-linux-gcc CXX=mips-openwrt-linux-g++ ./configure --prefix=$STAGING_DIR --host=mips-openwrt-linux |
| 649 | | * mitty@precise:~/openwrt/ncurses-5.9$ make |
| 650 | | {{{ |
| 651 | | compatibility.cc:(.text._ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi+0x188): undefined reference to `_Unwind_Resume' |
| 652 | | collect2: ld returned 1 exit status |
| 653 | | make[1]: *** [demo] Error 1 |
| 654 | | make[1]: Leaving directory `/home/mitty/openwrt/ncurses-5.9/c++' |
| 655 | | make: *** [all] Error 2 |
| 656 | | }}} |
| 657 | | |
| 658 | | * https://dev.openwrt.org/browser/trunk/package/ncurses/Makefile のCONFIGURE_ARGSを参考にする |
| 659 | | |
| 660 | | * mitty@precise:~/openwrt/ncurses-5.9$ CC=mips-openwrt-linux-gcc CXX=mips-openwrt-linux-g++ ./configure --prefix=$STAGING_DIR --host=mips-openwrt-linux --enable-echo --enable-const --enable-overwrite --disable-rpath --without-ada --without-debug --without-profile --without-progs --disable-big-core --disable-home-terminfo --with-normal --with-shared --with-terminfo-dirs=/usr/share/terminfo --with-default-terminfo-dir=/usr/share/terminfo |
| 661 | | * mitty@precise:~/openwrt/ncurses-5.9$ make |
| 662 | | * mitty@precise:~/openwrt/ncurses-5.9$ make install |
| 663 | | |
| 664 | | == readline == |
| 665 | | * mitty@precise:~/openwrt$ wget ftp://ftp.cwru.edu/pub/bash/readline-5.2.013.tar.gz |
| 666 | | * mitty@precise:~/openwrt/readline-5.2.013$ wget ftp://ftp.cwru.edu/pub/bash/readline-5.2-patches/readline52-014 |
| 667 | | * mitty@precise:~/openwrt/readline-5.2.013$ patch < readline52-014 |
| 668 | | {{{ |
| 669 | | patching file mbutil.c |
| 670 | | }}} |
| 671 | | * mitty@precise:~/openwrt/readline-5.2.013$ CC=mips-openwrt-linux-gcc ./configure --prefix=$STAGING_DIR --host=mips-openwrt-linux |
| 672 | | * mitty@precise:~/openwrt/readline-5.2.013$ make |
| 673 | | * mitty@precise:~/openwrt/readline-5.2.013$ make install |
| | 281 | * mitty@precise:~/utvpn-unix-v101-7101-public$ make -f Makefile.mips CC=mips-openwrt-linux-gcc LD=mips-openwrt-linux-ld |
| | 282 | * mitty@precise:~/utvpn-unix-v101-7101-public$ make -f Makefile.mips install PREFIX=~/target |