|
From: Sebastian A. <sp...@sy...> - 2007-01-18 14:59:32
|
Well trying to compile with i386/i686/Generic i586 doesn't work either (on 0.4 and trunk), with the same problems, so it looks like the i686 variant may be the problem. I'm going to try again now using i586 as the variant for 0.4 branch and trunk... Sebastian _____ From: ast...@li... [mailto:ast...@li...] On Behalf Of Sebastian Auriol Sent: 18 January 2007 14:21 To: 'AstLinux Users Mailing List' Subject: Re: [Astlinux-users] Compile problems when targetting VIA Oh, also: make cleans fail at this point both on 0.4 branch and on trunk: rm /usr/src/astlinix-trunk/build_i686/root/usr/lib/asterisk/modules/codec_g729a .so rm: cannot remove `/usr/src/astlinix-trunk/build_i686/root/usr/lib/asterisk/modules/codec_g729 a.so': No such file or directory make: *** [digiumg729-clean] Error 1 Kind regards, Sebastian _____ From: ast...@li... [mailto:ast...@li...] On Behalf Of Sebastian Auriol Sent: 18 January 2007 14:04 To: ast...@li... Subject: [Astlinux-users] Compile problems when targetting VIA I have found several compile problems when targetting VIA (I'm trying again now with Generic i586) both on the 0.4 branch and trunk. I chose i386 for Target Architecture, i686 as the Target Architecture Variant and VIA for the Target Device... With astlinix/branches/0.4: First mISDN wouldn't compile. It might be due to this error... [seb@IVRA1 ~]$ cvs -d:pserver:anonymous:rea...@cv...:/i4ldev co mISDN mISDNuser cvs [checkout aborted]: connect to cvs.isdn4linux.de(217.160.76.191):2401 failed: Connection refused I got this command from the misdn/Makefile as it wasn't on my screen - I had many pages of errors in misdn. I fixed the network firewall to allow port 2401 but then I got timeouts instead with this command, so I removed mISDN from the Makefiles as I didn't need it and continued. The next problem was here: mkdir -p /home/seb/astlinux-0.4/build_i686/root/stat/var/lib mv /home/seb/astlinux-0.4/build_i686/root/var/lib/asterisk /home/seb/astlinux-0.4/build_i686/root/stat/var/lib/ rm -f /home/seb/astlinux-0.4/build_i686/root/stat/var/lib/asterisk/astdb ln -sf /tmp/astdb /home/seb/astlinux-0.4/build_i686/root/stat/var/lib/asterisk/astdb mkdir -p /home/seb/astlinux-0.4/build_i686/root/stat/var/spool mv /home/seb/astlinux-0.4/build_i686/root/var/spool/asterisk /home/seb/astlinux-0.4/build_i686/root/stat/var/spool/ mv: cannot overwrite directory `/home/seb/astlinux-0.4/build_i686/root/stat/var/spool/asterisk' make: *** [/home/seb/astlinux-0.4/build_i686/root/usr/sbin/asterisk] Error 1 [seb@IVRA1 astlinux-0.4]$ I fixed this by deleting /home/seb/astlinux-0.4/build_i686/root/stat/var/spool/asterisk (it contained some gsm files in voicemail box 1234). Then here: make ASTERISK_INCLUDE_DIR=/home/seb/astlinux-0.4/build_i686/asterisk/include PROC=i686 OSARCH=Linux CC=/home/seb/astlinux-0.4/build_i686/staging_dir/bin/i686-linux-uclibc-gcc \ APP_CONFERENCE_DEBUG=0 SILDET=0 -C /home/seb/astlinux-0.4/build_i686/app_conference make[1]: Entering directory `/home/seb/astlinux-0.4/build_i686/app_conference' /home/seb/astlinux-0.4/build_i686/staging_dir/bin/i686-linux-uclibc-gcc -pipe -fPIC -Wall -Wmissing-prototypes -Wmissing-declarations -g -I/home/seb/astlinux-0.4/build_i686/asterisk/include -D_REENTRANT -D_GNU_SOURCE -O3 -ffast-math -funroll-all-loops -fprefetch-loop-arrays -fsingle-precision-constant -DCRYPTO -c -o app_conference.o app_conference.c app_conference.c:1: warning: -fprefetch-loop-arrays not supported for this target (try -march switches) In file included from app_conference.c:19: app_conference.h:25:26: asterisk/pbx.h: No such file or directory app_conference.h:26:29: asterisk/module.h: No such file or directory app_conference.h:27:29: asterisk/logger.h: No such file or directory app_conference.h:28:27: asterisk/lock.h: No such file or directory app_conference.h:29:28: asterisk/frame.h: No such file or directory app_conference.h:30:30: asterisk/manager.h: No such file or directory app_conference.h:31:26: asterisk/dsp.h: No such file or directory app_conference.h:32:32: asterisk/translate.h: No such file or directory app_conference.h:33:30: asterisk/channel.h: No such file or directory app_conference.h:34:27: asterisk/file.h: No such file or directory app_conference.h:35:26: asterisk/cli.h: No such file or directory In file included from app_conference.c:19: app_conference.h:192: warning: "struct ast_channel" declared inside parameter list app_conference.h:192: warning: its scope is only this definition or declaration, which is probably not what you want In file included from common.h:26, from app_conference.c:20: conference.h:70: error: parse error before "ast_mutex_t" conference.h:70: warning: no semicolon at end of struct or union conference.h:86: error: parse error before '}' token In file included from common.h:27, from app_conference.c:20: member.h:29:26: asterisk/app.h: No such file or directory In file included from common.h:27, from app_conference.c:20: member.h:46: error: parse error before "ast_mutex_t" member.h:46: warning: no semicolon at end of struct or union member.h:106: error: conflicting types for 'next' conference.h:73: error: previous declaration of 'next' was here member.h:153: error: parse error before ':' token member.h:154: error: parse error before ':' token member.h:155: error: parse error before ':' token member.h:156: error: parse error before ':' token app_conference.c:51: warning: type defaults to `int' in declaration of `STANDARD_LOCAL_USER' app_conference.c:51: warning: data definition has no type or storage class app_conference.c:52: warning: type defaults to `int' in declaration of `LOCAL_USER_DECL' app_conference.c:52: warning: data definition has no type or storage class app_conference.c:55: warning: no previous prototype for 'unload_module' app_conference.c: In function `unload_module': app_conference.c:56: error: `STANDARD_HANGUP_LOCALUSERS' undeclared (first use in this function) app_conference.c:56: error: (Each undeclared identifier is reported only once app_conference.c:56: error: for each function it appears in.) app_conference.c:61: warning: implicit declaration of function `ast_unregister_application' app_conference.c: At top level: app_conference.c:65: warning: no previous prototype for 'load_module' app_conference.c: In function `load_module': app_conference.c:72: warning: implicit declaration of function `ast_register_application' app_conference.c: At top level: app_conference.c:76: warning: no previous prototype for 'description' app_conference.c:81: warning: no previous prototype for 'usecount' app_conference.c: In function `usecount': app_conference.c:83: warning: implicit declaration of function `STANDARD_USECOUNT' app_conference.c: At top level: app_conference.c:88: warning: no previous prototype for 'key' app_conference.c: In function `key': app_conference.c:89: error: `ASTERISK_GPL_KEY' undeclared (first use in this function) app_conference.c: In function `app_conference_main': app_conference.c:102: warning: implicit declaration of function `LOCAL_USER_ADD' app_conference.c:108: warning: implicit declaration of function `LOCAL_USER_REMOVE' make[1]: *** [app_conference.o] Error 1 make[1]: Leaving directory `/home/seb/astlinux-0.4/build_i686/app_conference' make: *** [/home/seb/astlinux-0.4/build_i686/root/usr/lib/asterisk/modules/app_confere nce.so] Error 2 I fixed this by moving package/appconference to package_disabled/appconference and continued. Then the next problem was here: make[2]: Leaving directory `/home/seb/astlinux-0.4/build_i686/bash-3.0/builtins' rm -f make_cmd.o /home/seb/astlinux-0.4/build_i686/staging_dir/bin/i686-linux-uclibc-gcc -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"i686"' -DCONF_OSTYPE='"linux-gnu"' -DCONF_MACHTYPE='"i686-pc-linux-gnu"' -DCONF_VENDOR='"pc"' -DLOCALEDIR='"/usr/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -Os -pipe -c make_cmd.c config.status: creating lib/termcap/Makefile config.status: creating lib/tilde/Makefile rm -f nojobs.o /home/seb/astlinux-0.4/build_i686/staging_dir/bin/i686-linux-uclibc-gcc -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"i686"' -DCONF_OSTYPE='"linux-gnu"' -DCONF_MACHTYPE='"i686-pc-linux-gnu"' -DCONF_VENDOR='"pc"' -DLOCALEDIR='"/usr/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -Os -pipe -c nojobs.c config.status: creating doc/Makefile In file included from nojobs.c:57: shell.h:41:23: pathnames.h: No such file or directory config.status: creating support/Makefile make[1]: *** [nojobs.o] Error 1 make[1]: *** Waiting for unfinished jobs.... config.status: creating po/Makefile.in config.status: creating examples/loadables/Makefile config.status: creating examples/loadables/perl/Makefile config.status: creating pathnames.h config.status: executing default-1 commands config.status: creating po/POTFILES config.status: creating po/Makefile config.status: executing default commands make[1]: Leaving directory `/home/seb/astlinux-0.4/build_i686/bash-3.0' make: *** [/home/seb/astlinux-0.4/build_i686/bash-3.0/bash] Error 2 With astlinux/trunk (on another server - oops, I misspelt linux when I did the checkout): make[1]: Leaving directory `/usr/src/astlinix-trunk/build_i686/kexec-tools-1.101' install -D /usr/src/astlinix-trunk/build_i686/kexec-tools-1.101/objdir-i586-linux/build /sbin/kexec /usr/src/astlinix-trunk/build_i686/root/sbin/kexec install: cannot stat `/usr/src/astlinix-trunk/build_i686/kexec-tools-1.101/objdir-i586-linux/buil d/sbin/kexec': No such file or directory make: *** [/usr/src/astlinix-trunk/build_i686/root/sbin/kexec] Error 1 [seb@IVRA6 astlinix-trunk]$ So finally, I am now trying to compile with i386/i686/Generic i586 instead of targetting VIA. Hopefully this will work! Any suggestions / comments? Many thanks, Sebastian |
|
From: Kristian K. <kri...@gm...> - 2007-01-18 15:52:21
|
On 1/18/07, Sebastian Auriol <sp...@sy...> wrote: > > > Well trying to compile with i386/i686/Generic i586 doesn't work either (on > 0.4 and trunk), with the same problems, so it looks like the i686 variant > may be the problem. I'm going to try again now using i586 as the variant > for 0.4 branch and trunk... > > Sebastian > > Sebastian, Thank you for your comments. A couple of things: 1) Almost all VIA processors have known problems when running with "i686" compiled code: http://lists.digium.com/pipermail/asterisk-dev/2003-July/001194.html http://www.voip-info.org/wiki/view/Asterisk+hardware+mini-itx There are other examples all over the place. On the VIA, stick with i586. 2) In general, if you select a specific device under AstLinux target devices, you really shouldn't just change the processor architecture. If you want to do this, create a new target device that will select your intended target CPU. Those devices are there (and work with 586) because they are a specific piece of hardware with a known configuration. 3) "make clean" is broken all over the place. Myself and the other devs know this. I have submitted a patch to both 0.4 and trunk to fix the few problems that you pointed out but there are certainly other problems with make clean. 4) These days, almost all development is done in trunk. 0.4 isn't updated and fixed nearly as often (your mISDN CVS problem, etc). -- Kristian Kielhofner |