[oe] vdr: questions regarding cplusplus.patch

Paul Menzel paulepanter at users.sourceforge.net
Mon Jan 11 22:42:47 UTC 2010


Am Sonntag, den 10.01.2010, 21:47 +0100 schrieb Paul Menzel:
> Am Sonntag, den 10.01.2010, 13:39 +0100 schrieb Henning Heinold:
> > On Sun, Jan 10, 2010 at 08:53:18AM +0100, Paul Menzel wrote:
> > > packaging VDR for OE you added cplusplus.patch [1] to be applied. I am
> > > trying to get the patches upstream, but I have some questions.
> > > 
> > > Is it correct, that the two changes have the following goals?
> > > 
> > > 1. Instead of using the C headers which are deprecated use the headers
> > > provided by C++ as mentioned for example in [2].
> > > 2. You changed `canonicalize_file_name(FileName);` to
> > > `realpath(FileName,NULL);`. Is that because OE just support Linux and
> > > not GNU/Hurd for example [3]?
> > > 3. I do not understand why a lot of headers are included in tools.h and
> > > tools.c. But I have to look that up in some reference.
> >
> > with gcc 4.x and 4.4 c++ is stricter at including headers the right way.
> > So you need to include a couple of headers, because some functions
> > are not found. You can test it in oe with using binutils 2.20 and
> > gcc-4.4.2 and leave the patches out.
> > 
> > The problem with canonicalize_file_name was, that the function too
> > wasn't found with gcc-4.4.2. So I googled and found that
> > canonicalize_file_name(FileName) is the same as realpath(FileName,NULL),
> > but realpath was found.
> > 
> > I hope this clears some stuff.
>
> I tried to reproduce that on my Debian Sid/unstable system with
> 
>         $ g++ --version
>         g++ (Debian 4.4.2-8) 4.4.2
>         $ ld --version # binutils 2.20-4
>         GNU ld (GNU Binutils for Debian) 2.20
>         $ git clone git://git.gekrumbel.de/vdr.git
>         $ cd vdr
>         $ make
> 
> and did not get any warnings.
> 
> I will try to reproduce this in OE but have to read up on how to change
> the versions in my `local.conf`.

Dear Henning,


could please you send me your `local.conf` so that I can reproduce this
please? 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


Thanks,

Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20100111/96f506e0/attachment-0002.sig>


More information about the Openembedded-devel mailing list