Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: problem building uclibc + udev
Date: Tue, 25 Aug 2009 19:03:42 -0700	[thread overview]
Message-ID: <20090826020342.GB5705@gmail.com> (raw)
In-Reply-To: <f96d234e0908251411s5ac89a67v223cb2240b81fe39@mail.gmail.com>

On (25/08/09 17:11), Cliff Brake wrote:
> I'm running into the following issue building udev:
> 
> NOTE: Running task 606 of 631 (ID: 8,
> /build/oe/oe-testing/openembedded/recipes/udev/udev_141.bb,
> do_compile)
> ERROR: function do_compile failed
> ERROR: log data follows
> (/build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/temp/log.do_compile.14745)
> | NOTE: make -j 5
> | make  all-recursive
> | make[1]: Entering directory
> `/build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/udev-141'
> | Making all in udev
> | make[2]: Entering directory
> `/build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/udev-141/udev'
> | Making all in lib
> | make[3]: Entering directory
> `/build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/udev-141/udev/lib'
> | make[3]: Nothing to be done for `all'.
> | make[3]: Leaving directory
> `/build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/udev-141/udev/lib'
> | make[3]: Entering directory
> `/build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/udev-141/udev'
> | /bin/sh ../arm-angstrom-linux-uclibcgnueabi-libtool --tag=CC
> --mode=link arm-angstrom-linux-uclibcgnueabi-gcc -march=armv7-a
> -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
> -isystem/build/oe/oe-testing/build/angstrom-2008.1/tmp/staging/armv7a-angstrom-linux-uclibcgnueabi/usr/include
> -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2
> -ggdb3 -Wl,--as-needed
> -L/build/oe/oe-testing/build/angstrom-2008.1/tmp/staging/armv7a-angstrom-linux-uclibcgnueabi/usr/lib
> -Wl,-rpath-link,/build/oe/oe-testing/build/angstrom-2008.1/tmp/staging/armv7a-angstrom-linux-uclibcgnueabi/usr/lib
> -Wl,-O1 -Wl,--hash-style=gnu -o udevd udev-event.o udev-watch.o
> udev-node.o udev-rules.o udev-util.o libudev.o libudev-list.o
> libudev-util.o libudev-device.o libudev-device-db-write.o
> libudev-monitor.o libudev-enumerate.o libudev-queue.o libudev-ctrl.o
> udevd.o
> | arm-angstrom-linux-uclibcgnueabi-libtool: link:
> arm-angstrom-linux-uclibcgnueabi-gcc -march=armv7-a -mtune=cortex-a8
> -mfpu=neon -mfloat-abi=softfp
> -isystem/build/oe/oe-testing/build/angstrom-2008.1/tmp/staging/armv7a-angstrom-linux-uclibcgnueabi/usr/include
> -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2
> -ggdb3 -Wl,--as-needed -Wl,-rpath-link
> -Wl,/build/oe/oe-testing/build/angstrom-2008.1/tmp/staging/armv7a-angstrom-linux-uclibcgnueabi/usr/lib
> -Wl,-O1 -Wl,--hash-style=gnu -o udevd udev-event.o udev-watch.o
> udev-node.o udev-rules.o udev-util.o libudev.o libudev-list.o
> libudev-util.o libudev-device.o libudev-device-db-write.o
> libudev-monitor.o libudev-enumerate.o libudev-queue.o libudev-ctrl.o
> udevd.o  -L/build/oe/oe-testing/build/angstrom-2008.1/tmp/staging/armv7a-angstrom-linux-uclibcgnueabi/usr/lib
> | udevd.o: In function `main':
> | /build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/udev-141/udev/udevd.c:978:
> undefined reference to `ppoll'
> | collect2: ld returned 1 exit status
> | make[3]: *** [udevd] Error 1
> | make[3]: Leaving directory
> `/build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/udev-141/udev'
> | make[2]: *** [all-recursive] Error 1
> | make[2]: Leaving directory
> `/build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/udev-141/udev'
> | make[1]: *** [all-recursive] Error 1
> | make[1]: Leaving directory
> `/build/oe/oe-testing/build/angstrom-2008.1/tmp/work/armv7a-angstrom-linux-uclibcgnueabi/udev-141-r11/udev-141'
> | make: *** [all] Error 2
> | FATAL: oe_runmake failed
> 
> It appears that uclibc is being built without ppoll as the headers
> don't have it.  The beagleboard kernel is patched
> (http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=1f0d91e152f16fbd40bb2fb3c44a30d774d4dede)
> to include ppoll, and the headers are modified as such:
> 
> cbrake@happy:/build/oe/oe-testing/build/angstrom-2008.1/tmp/staging$
> searchc ppoll
> ./armv7a-angstrom-linux-uclibcgnueabi/usr/include/asm/unistd.h:
>                          /* 336 for ppoll */
> ./beagleboard-angstrom-linux-gnueabi/kernel/arch/arm/include/asm/unistd.h:#define
> __NR_ppoll                    (__NR_SYSCALL_BASE+336)
> ./beagleboard-angstrom-linux-gnueabi/kernel/include/linux/syscalls.h:asmlinkage
> long sys_ppoll(struct pollfd __user *, unsigned int,
> ./beagleboard-angstrom-linux-gnueabi/kernel/include/asm-arm/unistd.h:#define
> __NR_ppoll                 (__NR_SYSCALL_BASE+336)
> ./armv7a-angstrom-linux-gnueabi/usr/include/asm/unistd.h:
>                          /* 336 for ppoll */
> ./armv7a-angstrom-linux-gnueabi/usr/include/sys/poll.h:extern int
> ppoll (struct pollfd *__fds, nfds_t __nfds,
> 
> However, the headers are only modified in the kernel include
> directory.  I suspect uclibc is getting unistd.h from the usr/include
> directory which does not have __NR_ppoll defined.  What is the best
> way to fix this.  I suspect we need to tell uclibc to look at the
> kernel headers?

it already does look into kernel headers to configure its system calls.
All you need is to wireup this syscall in kernel and also in
linux-libc-headers. IOW Port
http://www.spinics.net/lists/arm-kernel/msg38114.html to both above
places.

Thx

-Khem

> 
> Thanks,
> Cliff
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel



  reply	other threads:[~2009-08-26  2:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-25 21:11 problem building uclibc + udev Cliff Brake
2009-08-26  2:03 ` Khem Raj [this message]
2009-08-29 20:38   ` Cliff Brake
2009-08-30 15:01     ` Phil Blundell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090826020342.GB5705@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox