皮皮网

【HDFS部分源码走读】【sass平台源码】【lombok源码修改】谷歌gcc源码_google chrome源码

2024-11-27 19:53:43 来源:空间管理源码

1.gRPC入坑记
2.如何安装 glibc-2.15.tar

谷歌gcc源码_google chrome源码

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,谷歌HDFS部分源码走读没问题

       $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

       åº“已经编好了,但是不能直接使用,必须再用新的库重编一遍编译器才行。

       ä¸Šä¸€ç¯‡