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
這樣子就解決了~
這裡有些步驟不需要做。。不過我也不知道哪步是不需要的~~