1.gRPCå
¥åè®°
2.å¦ä½å®è£
glibc-2.15.tar
gRPCå ¥åè®°
æ¦è¦
ç±äºgRPC主è¦æ¯è°·æå¼åçï¼ç±äºä¸äºå·²ç¥çåå ï¼gRPCè·demoè¿æ¯ä¸é£ä¹é¡ºå©çãåç¬åè¿ä¸ç¯ï¼ä¸»è¦æ¯gRPCå®è£ è¿ç¨ä¸çå太å¤äºï¼è®°å½ä¸æ¥è®©å¤§å®¶å°èµ°å¼¯è·¯ã
主è¦çåï¼
æ¬æ讲解gRPC demoçåæ¶ï¼ä¼ä»ç»å¦ä½è§£å³è¿äºåãæ¬æ对åºçGithubå°åï¼blogs.com/fhy/p/.html
(æ¬æå®)
å¦ä½å®è£ glibc-2..tar
ç¼è¯æ¥éª¤ï¼
ä¸è½½glibc-2..tar.gzåè¡¥ä¸å glibc-ports-2..tar.gz
解å
$mv glibc-ports-2. glibc-2./ports
$mkdir glibc-build-2. &&cd glibc-build-2.
$ ../glibc-2./configure \
--prefix=/usr/local/glibc_mips \
CC=mipsel-linux-gcc \
--host=mipsel-linux \
--build=i-pc-linux-gnu \
--enable-add-on=nptl \
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes \
libc_cv_mips_tls=yes \
libc_cv_gnu_inline=yes
ok,谷歌战法(源码没é®é¢
$make &&make install
大ååæ
##########################################################################
ä¸é¢æ¯æç¼è¯æ¶çè¿ç¨åéå°çé®é¢å解å³ï¼
##########################################################################
$tar xvf glibc-2..0.tar.bz2
$cd glibc-2..0
$./configure --prefix=/usr/local/glibc //å ä¸å å ¶ä»é项ï¼é¤äºå®è£ è·¯å¾ï¼ä¸åé»è®¤ï¼ç½ä¸ä¸è¬é ç½®armçé项å¦ä¸ --prefix=$HOME/usr/arm --with-headers=$HOME/usr/arm/glibc/arm-linux-glibc/include --with-libs=$HOME/usr/arm/glibc/arm-linux-glibc/lib
æ¥éï¼
configure: error: you must configure in a separate build directory
å¾å¥æªçé®é¢ï¼å¿ é¡»é ç½®ä¸ä¸ªæ建ç®å½ï¼åå¼å§ä»¥ä¸ºæ¯å®è£ ç®å½ä¸ºå建
$mkdir /usr/local/glibc
é®é¢ä»ç¶åå¨ï¼ç¾åº¦ä¹
$mkdir ../glibc-build && cd ../glibc-build
$../glibc-2..0/configure --prefix=/usr/local/glibc
åºç°æ°çé®é¢ï¼
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: msgfmt
*** some features will be disabled.
*** Check the INSTALL file for required versions.
checking LD_LIBRARY_PATH variable... contains current directory
configure: error:
*** LD_LIBRARY_PATH shouldn't contain the current directory when
*** building glibc. Please change the environment variable
*** and run configure again.
第ä¸ä¸ªè¦åä¸ç¨ç®¡å®ï¼ç¬¬äºä¸ªLD_LIBRARY_PATYä¹ä¼æéï¼æçè¿ä¸ªè·¯å¾ç¨äºå¤å°å¤©äºãä»ç»çæ示ï¼ä¸åºå å«å½åè·¯å¾ãæå¼~/.bash_profile
$cat ~/.bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export LD_LIBRARY_PATH
è¿ä¹æ²¡å½åè·¯å¾åãè¿æ¯ç¾åº¦å§ã
ä¸ä¸ªå å¼ç解éæ¯è¿æ ·âLD_LIBRARY_PATHä¸è½ä»¥ç»ç»ç¬¦ä½ä¸ºå¼å§åæåä¸ä¸ªå符ï¼ä¸è½æ2个ç»ç»ç¬¦è¿å¨ä¸èµ·ï¼æçLD_LIBRARY_PATH为 :/usr/local/firefox:/usr/local/firefox,åªè¦å¨åé¢å ä¸ä¸ä¸ªè·¯å¾ï¼ä¸è®©ï¼åºç°å¨ç¬¬ä¸ä¸ªå符就å¯ä»¥äº â
åæ¥å¦æ¤ï¼ç¬¬ä¸ä¸ªå符ä¸è½æ¯":"ï¼ä¿®æ¹~/.bash_profile
export LD_LIBRARY_PATH=/usr/local/lib export LD_LIBRARY_PATH
$../glibc-2..0/configure --prefix=/usr/local/glibc
lsä¸ä¸ï¼åç°ï¼å½åç®å½çæäºMakefileçä¸å ä¸è¥¿
$make && make install
没é®é¢
ä¸ä¸æ¥å¼å§äº¤åç¼è¯
$mkdir ../glibc-build-mips && cd ../glibc-build-mips
$ ../glibc-2..0/configure --prefix=/usr/local/glibc_mips CC=mipsel-linux-gcc --host=mips
åºç°æ°çé®é¢ï¼
configure: running configure fragment for add-on libidn
configure: running configure fragment for add-on nptl
*** The GNU C library is currently not available for this platform.
*** So far nobody cared to port it and if there is no volunteer it
*** might never happen. So, if you have interest to see glibc on
*** this platform visit
*** piler. */
# if !defined __CHAR_TYPE__ || !defined __CHAR_TYPE__
# if defined __STDC_VERSION__ && __STDC_VERSION__ < L
# error "<uchar.h> requires ISO C mode"
# else
# error "definitions of __CHAR_TYPE__ and/or __CHAR_TYPE__ missing"
# endif
# endif
æç½äºï¼åæ¥æ¯éè¦cæ¯æï¼mipsel-linux-gcc -vä¸ä¸ï¼æçæ¯æc.åæ¥å¦æ¤ãææ¶æ²¡æäºï¼æè¿åä¸å°ä¿®æ¹cçæ¯æï¼åªå©ä¸¤ä¸ªåæ³ï¼ä¸ç¨è¿ä¸ªglibcçæ¬æè éæ°ç¼è¯ä¸ä¸ªæ¯æcç交åç¼è¯å¨ãç¼è¯å¨éè¦åçæ¯è¾å¤ï¼ææ¶å æ¢ä¸ªä½ç¹ççæ¬å§ã
ä¸è½½galibc-2.çæ¬
éå¤ä¸é¢æ¥éª¤ï¼è§£åtarå
解åportså
$mv glibc-ports-2. glibc-2./ports
$mkdir glibc-build-2. &&cd glibc-build-2.
$ ../glibc-2./configure \
--prefix=/usr/local/glibc_mips \
CC=mipsel-linux-gcc \
--host=mipsel-linux \
--build=i-pc-linux-gnu \
--enable-add-on=nptl \
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes \
libc_cv_mips_tls=yes \
libc_cv_gnu_inline=yes
ok,没é®é¢
$make &&make install
åºå·²ç»ç¼å¥½äºï¼ä½æ¯ä¸è½ç´æ¥ä½¿ç¨ï¼å¿ é¡»åç¨æ°çåºéç¼ä¸éç¼è¯å¨æè¡ã
ä¸ä¸ç¯