新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 交叉編譯場(chǎng)景分析(arm-linux)(八)

        交叉編譯場(chǎng)景分析(arm-linux)(八)

        ——
        作者: 時(shí)間:2007-04-18 來源:http://blog.csdn.net/absurd 收藏
        1.基本信息:

        軟件名稱
         glib
         
        功能簡述
         Glib是GNOME的一個(gè)基礎(chǔ)庫,提供基本的容器、算法、對(duì)象系統(tǒng)、OSAPI的適配器等。
         
        下載地址
         http://www.gtk.org
         
        軟件版本
         glib-2.8.0.tar.gz
         
        依賴關(guān)系
         默認(rèn)
         
        前置條件
         源文件位置:$(WORK_DIR)/ glib-2.8.0
         

         

        2. 過程分析

        下載的穩(wěn)定版本,configure已經(jīng)存在,直接進(jìn)行配置:

        [root@linux glib-2.8.0]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr

                         

        出現(xiàn)了如下錯(cuò)誤:

        checking for growing stack pointer... configure: error: cannot run test program while cross compiling 

         

        原來configure不能為交叉編譯檢查glib_cv_stack_grows,glib_cv_stack_grows表示堆棧的增長方向。configure無法在目標(biāo)機(jī)上運(yùn)行測(cè)試程序,自然無法檢查,只好手工指定。順便看一下還哪些相關(guān)的變量不能檢查的,一起寫到cache文件中,并重新配置:

        [root@linux glib-2.8.0]# echo ac_cv_type_long_long=yes>$ARCH-linux.cache

        [root@linux glib-2.8.0]# echo glib_cv_stack_grows=no>>$ARCH-linux.cache

        [root@linux glib-2.8.0]# echo glib_cv_uscore=no>>$ARCH-linux.cache

        [root@linux glib-2.8.0]# echo ac_cv_func_posix_getpwuid_r=yes>>$ARCH-linux.cache

        [root@linux glib-2.8.0]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr --cache-file=$ARCH-linux.cache

         

        這回配置成功了,編譯:

        [root@linux glib-2.8.0]# make && make install

         

        編譯成功!

         

        3.  構(gòu)建處方 

                glib.mk

        GLIB_DIR="glib-2.8.0"

         

        all: clean config build

         

        config:

            @cd $(GLIB_DIR) && 

            echo ac_cv_type_long_long=yes>$$ARCH-linux.cache && 

            echo glib_cv_stack_grows=no>>$$ARCH-linux.cache && 

            echo glib_cv_uscore=no>>$$ARCH-linux.cache && 

            echo ac_cv_func_posix_getpwuid_r=yes>>$$ARCH-linux.cache &&

            ./configure --host=$$ARCH-linux --prefix=$$ROOTFS_DIR/usr --cache-file=$$ARCH-linux.cache && 

            echo "config done"

            

        build:

            @cd $(GLIB_DIR) && 

            make && make install && 

            echo "build done"

            

        clean:

            @cd $(GLIB_DIR) && 

            if [ -e Makefile ]; then make distclean; fi && 

        echo "clean done"



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 吉安市| 天全县| 扎鲁特旗| 吉安县| 锡林郭勒盟| 孟村| 宜黄县| 金秀| 民丰县| 个旧市| 大同市| 扶余县| 光泽县| 德阳市| 津市市| 天等县| 永清县| 铜山县| 柘城县| 泸溪县| 五原县| 比如县| 鸡泽县| 偃师市| 临沧市| 台北县| 东丽区| 永丰县| 丰都县| 常宁市| 五大连池市| 于都县| 延长县| 邵武市| 泽库县| 盱眙县| 镇宁| 南郑县| 梅河口市| 新疆| 社旗县|