1. 程式人生 > >Package helloworld is missing dependencies for the following libraries: libc.so.6

Package helloworld is missing dependencies for the following libraries: libc.so.6

這個是在我在Openwrt的SDK下編譯模組的時候碰到的問題。

缺少類庫,然後其實我發現我的類庫在系統裡是存在的:

locate libc.so.6

結果:

/lib/i386-linux-gnu/libc.so.6
/lib64/libc.so.6

看~ 明視訊記憶體在,我用的應該是上面的那個類庫,然後我弄了一晚上沒弄好,今天所有工作做完終於弄好了。我做的工作包括這些:

第一步:

把/lib/i386-linux-gnu/libc.so.6這個檔案拷貝到/home/user/attitude/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/lib這裡。其中attitude是我的配置的Openwrt的編譯環境。

cp /lib/i386-linux-gnu/libc.so.6 /home/user/attitude/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/lib

第二步:

在你寫的程式碼資料夾下(我寫的是個helloworld)下的Makefile裡

增加:DEPENDS:=+libc 

就是在

define Package/helloworld  
        SECTION:=utils  
        CATEGORY:=Utilities  
        TITLE:=Helloworld -- prints a snarky message  
        DEPENDS:=+libc
endef


這個define下面。

第三步:也是在Makefile裡增加:

define Package/helloworld/install  
        $(INSTALL_DIR) $(1)/bin  
        $(CP) /lib/i386-linux-gnu/libc.so.6 $(1)/bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/bin/  
endef

這裡多了一行$(CP)的程式碼。

最後一步:

在/home/user/attitude/staging_dir/target-mips_r2_uClibc-0.9.33.2/pkginfo下的libc.provides檔案裡增加兩行:

/lib/i386-linux-gnu/libc.so.6
libc.so.6

這樣子就解決了~

這裡有些步驟不需要做。。不過我也不知道哪步是不需要的~~