尝试在NAS上进行编译psybnc。 ipkg是这里的默认包pipe理器。 我已经安装了ncurses,它在/ opt / lib(libncurses.so)
[\w] # ls /opt/lib | grep ncurses libncurses.so libncurses.so.5 libncurses.so.5.7 libncursesw.so libncursesw.so.5 libncursesw.so.5.7 [\w] # file libncurses.so.5.7 libncurses.so.5.7: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped
我将这个path添加到/ etc / profile
[\w] # echo $PATH /bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:/opt/lib
所以试图使menuconfig给我这个错误
[\w] # make menuconfig Initializing Menu-Configuration [*] Running Conversion Tool for older psyBNC Data. Using existent configuration File. [*] Running Autoconfig. System: Linux Socket Libs: Internal. Environment: Internal. Time-Headers: in time.h and sys/time.h Byte order: Big Endian. IPv6-Support: Yes, general support. But no interface configured. async-DNS-Support: Yes. SSL-Support: No openssl found. Get openssl at www.openssl.org Creating Makefile [*] Creating Menu, please wait. This needs the ncurses library. If it is not available, menuconf wont work. If you are using curses, use make menuconfig-curses instead. make: *** [menuconfig] Error 1
make menuconfig-curses也一样
[\w] # make menuconfig-curses Initializing Menu-Configuration using Curses [*] Running Conversion Tool for older psyBNC Data. Using existent configuration File. [*] Running Autoconfig. System: Linux Socket Libs: Internal. Environment: Internal. Time-Headers: in time.h and sys/time.h Byte order: Big Endian. IPv6-Support: Yes, general support. But no interface configured. async-DNS-Support: Yes. SSL-Support: No openssl found. Get openssl at www.openssl.org Creating Makefile [*] Creating Menu, please wait. This needs the curses library. If it is not available, menuconf wont work. make: *** [menuconfig-curses] Error 1
Psybnc编译好了,只是想用menuconfig而不是configuration文件。
在我的朋友的帮助下,我终于知道发生了什么事情。
首先,如果你想编译任何有依赖关系的软件包,需要在NAS上安装ncurses-dev,你需要这些依赖关系的头文件,而ncurses-dev软件包包含它们
所以
ipkg install ncurses-dev
然后去编辑你的源代码目录中的Makefile并添加CFLAGS,如下所示:
CCFLAGS = -I/opt/include -I/opt/include/ncurses
这个path是你需要的头文件的path,这就是autoconf工具找不到它们的原因。 但你需要把cflags作为参数,因为autotools ingnores覆盖variables…
所以我只是打开Makefile并添加$(CCFLAGS)param就是这样,现在它工作!
$(CC) $(CCFLAGS) menuconf/menuconf.c menuconf/inputbox.c menuconf/util.c menuconf/checklist.c menuconf/menubox.c menuconf/textbox.c src/snprintf.c -I. -lncurses -lm -o menuconf/menuconf
诅咒库没有安装,因为你没有提供给我们什么样的NAS(模型/供应商)这是我们不能帮助你更详细的信息。
如果该供应商的NAS上有一个分发包,你可以安装它。
或者你只是使用configuration和文本编辑器。
如果您确定已正确设置库,则可以尝试将LD_LIBRARY_PATH手动设置为/opt/lib 。 也看看Makefile ,并使相应的($ CC)行更加详细。