Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [vdr] TARGET_CXXFLAGS do not include CXX_FLAGS from Makefile (was: vdr: questions regarding cplusplus.patch)
Date: Wed, 13 Jan 2010 02:27:38 -0800	[thread overview]
Message-ID: <20100113102738.GA15906@gmail.com> (raw)
In-Reply-To: <1263296160.20557.136.camel@mattotaupa.wohnung.familie-menzel.net>

On (12/01/10 12:36), Paul Menzel wrote:
> Dear OE hackers,
> 
> 
> Am Montag, den 11.01.2010, 23:42 +0100 schrieb Paul Menzel:
> 
> […]
> 
> > Putting
> > 
> >         PREFERRED_VERSION_binutils               = "2.20"
> >         PREFERRED_VERSION_binutils-cross         = "2.20"
> >         PREFERRED_VERSION_binutils-cross-sdk     = "2.20"
> >         
> >         PREFERRED_VERSION_gcc                    = "4.4.2"
> >         PREFERRED_VERSION_gcc-cross              = "4.4.2"
> >         PREFERRED_VERSION_gcc-cross-sdk          = "4.4.2"
> >         PREFERRED_VERSION_gcc-cross-initial      = "4.4.2"
> >         PREFERRED_VERSION_gcc-cross-intermediate = "4.4.2"
> > 
> > in my `local.conf` and running `bitbake vdr` gave me an error in
> > `do_compile` for `libcap_1.10.bb`.
> > 
> >         arm-angstrom-linux-gnueabi-ld -soname libcap.so.1 -x -shared -o libcap.so.1.10 cap_alloc.o cap_proc.o cap_extint.o cap_flag.o cap_text.o cap_sys.o
> >         arm-angstrom-linux-gnueabi-ld: cap_text.o: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
> 
> I opened a new thread for this [2].
> 
> Anyways compiling the plugins for VDR in `do_install` [3]
> 
>         do_install () {
>               oe_runmake 'DESTDIR=${D}' \
>                          'PREFIX=${prefix}' \
>                          'CONFDIR=${sysconfdir}/vdr' \
>                          'VIDEODIR=/var/lib/vdr/video' \
>                          'PLUGINLIBDIR=${PLUGINDIR}' \
>                          'LOCDIR=${datadir}/locale' \
>                          install
>         }
> 
> I also get the same error which I did not get before with GCC 4.1.1.

Older versions of binutils/ld can not detect MOVT/MOVW relocations which
are absolute and cant be used in PIC code.
hence even if the error was there it remained latent. 

> 
>         /oe/tangstrom-dev/cross/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.4.2/../../../../arm-angstrom-linux-gnueabi/bin/ld: hello.o: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
>         hello.o: could not read symbols: Bad value
>         collect2: ld returned 1 exit status
>         make[1]: *** [libvdr-hello.so] Error 1
>         make[1]: Leaving directory `/oe/tangstrom-dev/work/armv7a-angstrom-linux-gnueabi/vdr-1.7.10-r3/vdr-1.7.10/PLUGINS/src/hello'
>         
>         [… same for all other plugins]
> 
> The thing that puzzles me is, that in the plugin’s Makefile [4] `-fPIC`
> is specified
> 
>         CXX      ?= g++
>         CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
>         LIBS     ?= ${LDFLAGS}
> 
> but in the above command it is not included.

These are conditional so may be you already have defined CXXFLAGS in
your environment infact bitbake will do it for you.

> 
>         arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -isystem/oe/tangstrom-dev/staging/armv7a-angstrom-linux-gnueabi/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -ggdb3 -fpermissive -fvisibility-inlines-hidden -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"hello"' -I../../../include hello.c
> 
> Looking at `run.do_install.28829` I cannot see find the `-fPIC` in
> there. So my question is, why is it not included. Is it because of »?=«?
> How do I get it included?

you could do CXXFLAGS_append = ... in the recipe.



  reply	other threads:[~2010-01-13 10:30 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-10  7:53 vdr: questions regarding cplusplus.patch Paul Menzel
2010-01-10 11:24 ` Rolf Leggewie
2010-01-10 12:39 ` Henning Heinold
2010-01-10 20:47   ` Paul Menzel
2010-01-11 22:42     ` Paul Menzel
2010-01-12 11:36       ` [vdr] TARGET_CXXFLAGS do not include CXX_FLAGS from Makefile (was: vdr: questions regarding cplusplus.patch) Paul Menzel
2010-01-13 10:27         ` Khem Raj [this message]
2010-01-13 10:44           ` [vdr] TARGET_CXXFLAGS do not include CXX_FLAGS from Makefile Paul Menzel
2010-01-13 10:56             ` Koen Kooi
2010-01-13 11:06               ` Paul Menzel
2010-01-13 11:02             ` Khem Raj
2010-01-26 10:25               ` Paul Menzel

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=20100113102738.GA15906@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