Unfortunately no one can be told what fun_plug is - you have to see it for yourself.
You are not logged in.
I'm trying to compile this ZNC program (http://en.znc.in/wiki/Installation) on the DNS323.
I've already installed:
binutils
kernel-headers
uclibc
gcc
make
gettext
patch
bison
flex
autoconf
automake
from the official ffp site. I did a quick HelloWorld.cpp to test if it would compile, it works great.
Next, Perl and OpenSSL packages were installed (I think this ZNC program requires it).
So back to ZNC:
I tried doing a ./configure --with-openssl=/ffp/bin/openssl on it
I kept getting /tmp is full errors. I edited /ffp/etc/profile to include:
export TMPDIR=/ffp/tmp
export TEMP=/ffp/tmp
export TMP=/ffp/tmp
and also type those in an ssh session. (Do I need to reboot after doing these "export"s?)
Tried the ./configure again and now:
./configure: line 1541: cannot create temp file for here document: No space left on device ./configure: line 1553: cannot create temp file for here document: No space left on device ./configure: line 1588: cannot create temp file for here document: No space left on device ./configure: line 1758: cannot create temp file for here document: No space left on device ./configure: line 1762: cannot create temp file for here document: No space left on device ./configure: line 1766: cannot create temp file for here document: No space left on device ./configure: line 1770: cannot create temp file for here document: No space left on device ./configure: line 1774: cannot create temp file for here document: No space left on device ./configure: line 1778: cannot create temp file for here document: No space left on device checking for g++... g++ ./configure: line 2040: cannot create temp file for here document: No space left on device checking whether the C++ compiler works... no sed: conftest.cpp: No such file or directory configure: error: in `/mnt/HD_a2/funpkgs/compiling/znc/znc-0.090': configure: error: C++ compiler cannot create executables See `config.log' for more details. ./configure: line 277: cannot create temp file for here document: No space left on device ./configure: line 315: cannot create temp file for here document: No space left on device ./configure: line 350: cannot create temp file for here document: No space left on device
The config.log:
PATH: /opt/sbin PATH: /opt/bin PATH: /ffp/sbin PATH: /usr/sbin PATH: /sbin PATH: /ffp/bin PATH: /usr/bin PATH: /bin configure:1962: checking for g++ configure:1978: found /ffp/bin/g++ configure:1989: result: g++ configure:2016: checking for C++ compiler version configure:2025: g++ --version >&5 g++ (GCC) 4.1.3 20080414 (prerelease) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:2036: $? = 0 configure:2025: g++ -v >&5 Using built-in specs. Target: arm-unknown-linux-uclibc Configured with: /mnt/HD_a2/home/bob/funplug/work/gcc-4.1/gcc-4_1-branch/configure --enable-languages=c,c++ --enable-__cxa_atexit --with-local-prefix=/ffp --disable-multilib --disable-libssp --disable-libgomp --disable-libmudflap --disable-tls --with-float=soft --disable-bootstrap Thread model: posix gcc version 4.1.3 20080414 (prerelease) configure:2036: $? = 0 configure:2025: g++ -V >&5 g++: '-V' option must have argument configure:2036: $? = 1 configure:2025: g++ -qversion >&5 g++: unrecognized option '-qversion' g++: no input files configure:2036: $? = 1 configure:2056: checking whether the C++ compiler works configure:2078: g++ conftest.cpp >&5 g++: conftest.cpp: No such file or directory g++: no input files configure:2082: $? = 1 configure:2120: result: no configure: failed program was: configure:2125: error: in `/mnt/HD_a2/funpkgs/compiling/znc/znc-0.090': configure:2129: error: C++ compiler cannot create executables See `config.log' for more details. ac_cv_env_CCC_set= ac_cv_env_CCC_value= ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CXXFLAGS_set= ac_cv_env_CXXFLAGS_value= ac_cv_env_CXX_set= ac_cv_env_CXX_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_PKG_CONFIG_set= ac_cv_env_PKG_CONFIG_value= ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_c_ares_CFLAGS_set= ac_cv_env_c_ares_CFLAGS_value= ac_cv_env_c_ares_LIBS_set= ac_cv_env_c_ares_LIBS_value= ac_cv_env_host_alias_set= ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_prog_ac_ct_CXX=g++ CHARSET='' CPPFLAGS='' CXX='g++' CXXFLAGS=' ' DATADIR='' DEFS='' ECHO_C='' ECHO_N='-n' ECHO_T='' EXEEXT='' EXTRA='' LDFLAGS='' LIBICONV='' LIBOBJS='' LIBS='' LIBZNC='' LIBZNCDIR='' LTLIBOBJS='' MODDIR='' MODFLAGS='' MODLINK='' NOSSL='' OBJEXT='' PACKAGE_BUGREPORT='' PACKAGE_NAME='znc' PACKAGE_STRING='znc 0.090' PACKAGE_TARNAME='znc' PACKAGE_URL='' PACKAGE_VERSION='0.090' PATH_SEPARATOR=':' PERL_BINARY='' PKG_CONFIG='' SASL='' SHELL='/ffp/bin/bash' TCL_FLAGS='' ac_ct_CXX='g++' bindir='${exec_prefix}/bin' build='' build_alias='' build_cpu='' build_os='' build_vendor='' c_ares_CFLAGS='' c_ares_LIBS='' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='NONE' host='' host_alias='' host_cpu='' host_os='' host_vendor='' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' mandir='${datarootdir}/man' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='NONE' program_transform_name='s,x,x,' psdir='${docdir}' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias='' /* confdefs.h */ configure: exit 77
And I'm stuck.
Is it trying to write to / ?
Is there an easier way for me to get this to run on the DNS323 and hopefully create a .ffp package for it? I don't really know much about linux and compiling etc.
Thanks!
EDIT: Did a 'df -h':
Filesystem Size Used Available Use% Mounted on rootfs 9.7M 9.7M 0 100% / /dev/root 9.7M 9.7M 0 100% / /dev/sda2 687.0G 575.9G 111.1G 84% /mnt/HD_a2 /dev/sdb2 915.9G 897.4G 18.5G 98% /mnt/HD_b2 /dev/sda4 197.5M 5.7M 191.8M 3% /mnt/HD_a4 /dev/sdb4 486.2M 17.0k 486.2M 0% /mnt/HD_b4 /dev/sda2 687.0G 575.9G 111.1G 84% /opt
Last edited by krackpot (2010-06-28 01:21:43)
Offline
Well, I finally got the ./configure to work. Turns out a reboot is needed after editing the /ffp/etc/profile to get the Temp directories to register.
Results of the ./configure:
>./configure --with-openssl=/ffp/include/openssl --disable-ipv6 checking for g++... g++ checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking build system type... armv5tejl-unknown-linux-gnu checking host system type... armv5tejl-unknown-linux-gnu checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... 64 checking for getopt_long in -lgnugetopt... no checking for lstat... yes checking for dlopen... no checking for dlopen in -ldl... yes checking for pkg-config... no configure: WARNING: pkg-config was not found and thus c-ares was disabled checking for BIO_new in -lcrypto... yes checking for SSL_shutdown in -lssl... yes checking for perl... /ffp/bin/perl checking for perl_alloc in -lperl... yes configure: creating ./config.status config.status: creating Makefile config.status: creating znc-config config.status: creating znc-buildmod config.status: creating man/Makefile config.status: creating znc.pc config.status: creating znc-uninstalled.pc config.status: creating modules/Makefile znc 0.090 configured debug: no ipv6: no openssl: yes c-ares: not found perl: yes sasl: no extra: no tcl: no charset: no run from src: no
When I do the Make, it gives errors:
>make g++ -D_FORTIFY_SOURCE=2 -O2 -Wall -W -Wno-unused-parameter -Woverloaded-virtual -Wshadow -DHAVE_LSTAT -I/ffp/include/openssl/include -DHAVE_LIBSSL -D_MODDIR_=\"/usr/local/lib/znc\" -D_DATADIR_=\"/usr/local/share/znc\" -c -o main.o main.cpp -MMD -MF .depend/main.o.dep g++ -D_FORTIFY_SOURCE=2 -O2 -Wall -W -Wno-unused-parameter -Woverloaded-virtual -Wshadow -DHAVE_LSTAT -I/ffp/include/openssl/include -DHAVE_LIBSSL -D_MODDIR_=\"/usr/local/lib/znc\" -D_DATADIR_=\"/usr/local/share/znc\" -c -o ZNCString.o ZNCString.cpp -MMD -MF .depend/ZNCString.o.dep ZNCString.cpp: In member function 'CString CString::Escape_n(CString::EEscape, CString::EEscape) const': ZNCString.cpp:179: internal compiler error: Illegal instruction Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make: *** [ZNCString.o] Error 1
Is this a problem because of some of the things like c-ares and sasl not being ./configure 'd?
Offline
I'm not sure what the problem is, but quite a few packages fail with this error. Sometime, restarting make works. But the only reliable solution seems to be to compile in an emulator like qemu,
Offline
I did a funpkg -I of make and automake.
Now I get farther, but it still fails:
>make g++ -D_FORTIFY_SOURCE=2 -O2 -Wall -W -Wno-unused-parameter -Woverloaded-virtual -Wshadow -DHAVE_LSTAT -I/ffp/include/openssl/include -DHAVE_LIBSSL -D_MODDIR_=\"/usr/local/lib/znc\" -D_DATADIR_=\"/usr/local/share/znc\" -c -o ZNCString.o ZNCString.cpp -MMD -MF .depend/ZNCString.o.dep g++ -D_FORTIFY_SOURCE=2 -O2 -Wall -W -Wno-unused-parameter -Woverloaded-virtual -Wshadow -DHAVE_LSTAT -I/ffp/include/openssl/include -DHAVE_LIBSSL -D_MODDIR_=\"/usr/local/lib/znc\" -D_DATADIR_=\"/usr/local/share/znc\" -c -o Csocket.o Csocket.cpp -MMD -MF .depend/Csocket.o.dep g++ -D_FORTIFY_SOURCE=2 -O2 -Wall -W -Wno-unused-parameter -Woverloaded-virtual -Wshadow -DHAVE_LSTAT -I/ffp/include/openssl/include -DHAVE_LIBSSL -D_MODDIR_=\"/usr/local/lib/znc\" -D_DATADIR_=\"/usr/local/share/znc\" -c -o znc.o znc.cpp -MMD -MF .depend/znc.o.dep znc.cpp: In member function 'bool CZNC::DoRehash(CString&)': znc.cpp:1502: internal compiler error: Illegal instruction Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make: *** [znc.o] Error 1
fonz wrote:
I'm not sure what the problem is, but quite a few packages fail with this error. Sometime, restarting make works. But the only reliable solution seems to be to compile in an emulator like qemu,
How do you restart make?
And is qemu a package?
Thanks for your reply!
Last edited by krackpot (2010-06-28 11:07:05)
Offline
Restart make means, run make again (and again and again) after the crash. But note that this only works sometimes.
qemu is not an ffp package but a system emulator like vmware.
Offline
fonz wrote:
Restart make means, run make again (and again and again) after the crash. But note that this only works sometimes.
qemu is not an ffp package but a system emulator like vmware.
Yes, you are right, restarting make produces different errors that fail at different points. I haven't hit the jackpot yet
I will try to use this qemu, thanks for pointing me in the general direction! If I use qemu, will I be able to make a ffp package for others to install?
Offline
I'm stuck.
Is this what I'm supposed to do?
1) Install qemu
2) Get the 'arm' version
3) Install all the headers, gcc, uclibc etc.
4) Get the source code of the program I want to compile
5) ./configure, make, make install. Then transfer back to the DNS-323 ?
Is there a guide for qemu and DNS-323 ?
Offline
I finally got a cross-compile environment working as per ( http://dns323.kood.org/howto:crosscompile ). I followed the Firmware 1.05 instructions, created the Hello World program and tested it on the DNS-323. It works fine.
Now I'm a little confused as to what needs to happen next. I'm supposed to chroot into the crosscompile environment and use that to build the binary? How will it know where to find all the things specific to fun_plug?
Do I need to incorporate this ffpbuildenv ( http://nas-tweaks.net/CH3SNAS:Tutorials … g_software ) method into the cross compile machine?
This is the result of trying to do a ./configure :
testr@testr-desktop:~/arm/znc-0.092$ ./configure --with-openssl=/ffp/include/openssl --disable-ipv6 checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... configure: error: in `/home/testr/arm/znc-0.092': configure: error: cannot run C++ compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details.
Output of config.log :
This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by znc configure 0.092, which was generated by GNU Autoconf 2.65. Invocation command line was $ ./configure --with-openssl=/ffp/include/openssl --disable-ipv6 ## --------- ## ## Platform. ## ## --------- ## hostname = testr-desktop uname -m = i686 uname -r = 2.6.28-11-generic uname -s = Linux uname -v = #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 /usr/bin/uname -p = unknown /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /home/testr/arm/toolchain_arm/bin PATH: /usr/local/sbin PATH: /usr/local/bin PATH: /usr/sbin PATH: /usr/bin PATH: /sbin PATH: /bin PATH: /usr/games ## ----------- ## ## Core tests. ## ## ----------- ## configure:2016: checking for C++ compiler version configure:2025: arm-linux-uclibc-g++ --version >&5 arm-linux-uclibc-g++ (GCC) 3.3.3 Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:2036: $? = 0 configure:2025: arm-linux-uclibc-g++ -v >&5 Reading specs from /home/testr/arm/toolchain_arm/bin/../lib/gcc-lib/arm-linux-uclibc/3.3.3/specs Configured with: /home/testr/dns323_GPL/uclibc-toolchain-src-20040609/gcc-3.3.x/toolchain_build_arm/gcc-3.3.3/configure --prefix=/home/testr/dns323_GPL/uclibc-toolchain-src-20040609/gcc-3.3.x/toolchain_arm --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=arm-linux-uclibc --enable-languages=c,c++ --enable-shared --with-gxx-include-dir=/home/testr/dns323_GPL/uclibc-toolchain-src-20040609/gcc-3.3.x/toolchain_arm/arm-linux-uclibc/include/c++ --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --disable-nls --enable-multilib --enable-sjlj-exceptions Thread model: posix gcc version 3.3.3 configure:2036: $? = 0 configure:2025: arm-linux-uclibc-g++ -V >&5 arm-linux-uclibc-g++: `-V' option must have argument configure:2036: $? = 1 configure:2025: arm-linux-uclibc-g++ -qversion >&5 arm-linux-uclibc-g++: unrecognized option `-qversion' arm-linux-uclibc-g++: no input files configure:2036: $? = 1 configure:2056: checking whether the C++ compiler works configure:2078: arm-linux-uclibc-g++ conftest.cpp >&5 configure:2082: $? = 0 configure:2131: result: yes configure:2134: checking for C++ compiler default output file name configure:2136: result: a.out configure:2142: checking for suffix of executables configure:2149: arm-linux-uclibc-g++ -o conftest conftest.cpp >&5 configure:2153: $? = 0 configure:2175: result: configure:2197: checking whether we are cross compiling configure:2205: arm-linux-uclibc-g++ -o conftest conftest.cpp >&5 configure:2209: $? = 0 configure:2216: ./conftest ./configure: line 2218: ./conftest: cannot execute binary file configure:2220: $? = 126 configure:2227: error: in `/home/testr/arm/znc-0.092': configure:2231: error: cannot run C++ compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_env_CCC_set= ac_cv_env_CCC_value= ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CXXFLAGS_set= ac_cv_env_CXXFLAGS_value= ac_cv_env_CXX_set=set ac_cv_env_CXX_value=arm-linux-uclibc-g++ ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_PKG_CONFIG_set= ac_cv_env_PKG_CONFIG_value= ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_c_ares_CFLAGS_set= ac_cv_env_c_ares_CFLAGS_value= ac_cv_env_c_ares_LIBS_set= ac_cv_env_c_ares_LIBS_value= ac_cv_env_host_alias_set= ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ## ----------------- ## ## Output variables. ## ## ----------------- ## CHARSET='' CPPFLAGS='' CXX='arm-linux-uclibc-g++' CXXFLAGS=' ' DATADIR='' DEFS='' ECHO_C='' ECHO_N='-n' ECHO_T='' EXEEXT='' EXTRA='' LDFLAGS='' LIBICONV='' LIBOBJS='' LIBS='' LIBZNC='' LIBZNCDIR='' LTLIBOBJS='' MODDIR='' MODFLAGS='' MODLINK='' NOSSL='' OBJEXT='' PACKAGE_BUGREPORT='' PACKAGE_NAME='znc' PACKAGE_STRING='znc 0.092' PACKAGE_TARNAME='znc' PACKAGE_URL='' PACKAGE_VERSION='0.092' PATH_SEPARATOR=':' PERL_BINARY='' PKG_CONFIG='' SASL='' SHELL='/bin/bash' TCL_FLAGS='' ac_ct_CXX='' bindir='${exec_prefix}/bin' build='' build_alias='' build_cpu='' build_os='' build_vendor='' c_ares_CFLAGS='' c_ares_LIBS='' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='NONE' host='' host_alias='' host_cpu='' host_os='' host_vendor='' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' mandir='${datarootdir}/man' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='NONE' program_transform_name='s,x,x,' psdir='${docdir}' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias='' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "znc" #define PACKAGE_TARNAME "znc" #define PACKAGE_VERSION "0.092" #define PACKAGE_STRING "znc 0.092" #define PACKAGE_BUGREPORT "" #define PACKAGE_URL "" configure: exit 1
Hopefully these notes are useful for those newbies like me who want to try the compile process but don't have enough experience.
Offline
I've got ./configure to work using:
./configure --with-openssl=/usr/bin/openssl --disable-ipv6 --host=arm-linux-uclibc
But I'm still not sure with the openssl that this depends on. Is it going to use Ubuntu's OpenSSL or the fun_plug OpenSSL?
Same with perl.
znc 0.092 configured debug: no ipv6: no openssl: not found c-ares: not found perl: not found sasl: no extra: no tcl: no charset: no run from src: no
Any ideas?
Offline