Re: GCC 4.7 on Android G++ Compiler Build Fail "This Linker Not Config To Use Sysroots"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 29, 2014 at 12:44 PM, Cyd Haselton <chaselton@xxxxxxxxx> wrote:
>
>
> On Sunday, September 28, 2014, Cyd Haselton <chaselton@xxxxxxxxx> wrote:
>>
>> On Sun, Sep 28, 2014 at 4:52 AM, Brian Drummond
>> <brian@xxxxxxxxxxxxxxxxxx> wrote:
>> > On Sat, 2014-09-27 at 18:33 -0500, Cyd Haselton wrote:
>> >> On Sat, Sep 27, 2014 at 6:46 AM,  <gcc-help-digest-help@xxxxxxxxxxx>
>> >> wrote:
>> >
>> >> > No matter which config flags I use, the build keeps failing with
>> >> > "/usr/local/bin/ld" this linker is not configured touse sysroots"
>> >> > I've checked the specs for the ld at that location, and it does
>> >> > support sysroot.
>> >> >
>> >> > What am I doing wrong?
>> >> > First question would be : are you using those config flags to build
>> >> > binutils (to support sysroots) and install it, then build gcc?
>> >>
>> >> Do I need to download the source for binutils and build it as well?
>> >
>> > I can't be certain and I was hoping my dumb question would elicit "of
>> > course" or "no" from the real experts...
>> >
>> > But given the way binutils and the compiler have to interoperate, I
>> > think it's likely that you do. That's the normal process when building
>> > crosscompilers (which you aren't) so it may also be when you're
>> > selecting unusual config options (which you are).
>> >
>> > Binutils is much faster to build than gcc so it's not a difficult
>> > question to answer for yourself. Naively, I'd feed the same set of
>> > config options to binutils and let it ignore the ones it doesn't need.
>> >
>> > Then having a "synchronised" version of ld etc in the same sysroot, you
>> > could eliminate the --with-ld= option pointing at the other one.
>> >
>> > If you make progress that way, keep the list informed.
>> >
>> > - Brian
>> >
>> Initially sent this just to Brian, due to gmail's default quick reply
>> settings:
>> ****************************************************
>> As suggested, I've downloaded source for binutils 2.23.2, unpacked and
>> symlinked it in the gcc 4.7.0 source dir and re-run configure (minus
>> the --with-ld=no and --with-ld=/path/to/ld options.  I also added the
>> BIONIC_LIBC #ifdef conditions to getpagesize.c in binutils/libiberty
>> to move past the error thrown by that file.
>>
>> However, I'm now getting an error in bfd
>> in function bfd_ar_hdr_from_filesystem
>> ../../../gcc-4.7.0/binutils/bfd/archive.c:1866:7: error: pointer
>> targets in passing argument 1 of 'time' differ in signedness
>> [-Werror-pointer-sign]
>>
>> This is followed by
>> /usr/local/sysroot/usr/include/time.h:40:17:  note: expected 'time_t
>> *' but argument is of type 'long unsigned int*'
>>
>> I vaguely remember having to make some modifications to a source file
>> when porting GCC 4.8 to android, but it's been a while...I'd have to
>> dig up prior posts and resurrect an archived VM.
>>
>> Any ideas before I do just that?
>>
>> UPDATE:  Question above answered; there's a patch available for
>> bfd/archive.c that involves a cast (?) for the problematic function,
>> but I've now run into another error in binutils/bucomm.c
>>
>> ..binutils/bucomm.c: In function 'make_tempdir'
>> ..binutils/bucomm.c:532:3: error:  implicit declaration of function
>> 'mkdtemp' [-Werror=implicit-function-declaration]
>> ..binutils/bucomm.c:532:3: error:  return makes pointer from integer
>> without a cast [-Werror]
>>
>> Looks like I'll be digging back into my C handbook.  If someone knows
>> of an existing patch, please save me from doing this.
>
>
> I managed to work through the above errors by making changes to the binutils
> config.h file. However I'm back to the same problem with a twist: if I
> exclude the --with-sysroot configure option,  the header
> files...specifically stdio.h included from tsystem.h...can't be found.  If I
> include the --with-sysroot option, I get the same 'this linker not
configured to use sysroots' error at the same point in the build process.

 Any help would be appreciated.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux