PDA

View Full Version : problem building jive



bluegaspode
2009-08-26, 16:10
Hi there

I'm trying to build jive (7.3 trunk) according to the docs in the wiki (http://wiki.slimdevices.com/index.php/SqueezeOS_Build_Instructions)
I'm using ubuntu 9.04 in vmware on winxp.

Unfortunately it isnt working I get the following error:


NOTE: Running task 139 of 946 (ID: 446, /home/user/workspace/squeeze/poky/meta/packages/qemu/qemu-native_0.9.1.bb, do_compile)
NOTE: package qemu-native-0.9.1: started
NOTE: package qemu-native-0.9.1-r8: task do_compile: started
ERROR: function do_compile failed


The compile-log show the following entries


| make -C i386-linux-user all
| make[1]: Entering directory `/home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/i386-linux-user'
| gcc-3.4 -isystem/home/user/workspace/squeeze/poky/build/tmp/staging/i686-linux/usr/include -O2 -Wall -O2 -g -fno-strict-aliasing -I. -I.. -I/home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/target-i386 -I/home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1 -MMD -MP -DNEED_CPU_H -I/home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user -I/home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/slirp -c -o syscall.o /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:79:26: warning: linux/dirent.h: No such file or directory
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:208: warning: "struct dirent" declared inside parameter list
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:208: warning: its scope is only this definition or declaration, which is probably not what you want
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:210: warning: "struct dirent64" declared inside parameter list
| In file included from /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:2116:
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/ioctls.h:301: error: invalid application of `sizeof' to incomplete type `({anonymous})'
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/ioctls.h:302: error: invalid application of `sizeof' to incomplete type `({anonymous})'
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c: In function `do_syscall':
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4807: warning: passing arg 2 of `sys_getdents' from incompatible pointer type
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4814: error: dereferencing pointer to incomplete type
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4817: error: dereferencing pointer to incomplete type
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4818: error: dereferencing pointer to incomplete type
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4819: error: dereferencing pointer to incomplete type
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4835: warning: passing arg 2 of `sys_getdents64' from incompatible pointer type
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4842: error: dereferencing pointer to incomplete type
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4845: error: dereferencing pointer to incomplete type
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4846: error: dereferencing pointer to incomplete type
| /home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c:4847: error: dereferencing pointer to incomplete type
| make[1]: *** [syscall.o] Error 1
| make[1]: Leaving directory `/home/user/workspace/squeeze/poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/i386-linux-user'
| make: *** [subdir-i386-linux-user] Error 2
| FATAL: oe_runmake failed


Any idea how this can be solved ?

bluegaspode
2009-08-27, 12:47
fixed it, you need to edit:

poky/build/tmp/work/i686-linux/qemu-native-0.9.1-r8/qemu-0.9.1/linux-user/syscall.c

to include 'dirent.h' instead of 'linux/dirent.h'.

Maybe its better to create a symlink, so that the tmp-folder can be deleted later on.
I'd suggest to update the wiki.

bluegaspode
2009-08-28, 11:09
this oneliner helps for all builds, even after cleaning tmp-dir.

sudo ln -s /usr/include/dirent.h /usr/include/linux/dirent.h

bluegaspode
2009-08-30, 12:26
And later on the build, the following changes need to be done (with Ubuntu 9.04):

http://lists.o-hand.com/poky/0677.html