This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Cross-compilation shows>error: no termcap library found, why?
- From: Francisco Cuesta <ndarkness at gmail dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb at sourceware dot org
- Date: Fri, 7 Jun 2013 16:30:46 +0200
- Subject: Re: Cross-compilation shows>error: no termcap library found, why?
- References: <CANMvdA9D1tEWrqUZ1DHTQ=Nq5ERk+78N4Y=E652QQHqaoOTw3g at mail dot gmail dot com> <51B0B2E1 dot 2030800 at redhat dot com> <CANMvdA_81h4Dz0EAmGUsm=Fks6ud8ZB+LU0kNy1-k5H+U6NF2Q at mail dot gmail dot com> <51B1B3BC dot 7020105 at redhat dot com>
Hi Pedro,
I don't understand, I have the gdb server running in the target, this
is all arm archietecture. On the other hand I have my pc, which is x86
architecture, but for debugging in eclipse I have to point to the dbg
client (on the pc) which is going to connect to the dbg server on the
target. SO, both gdb client and gdbserver have to be compiled in arm,
that is correct or I missunderstand something?
Thanks in advance,
Ps: what's more, I have done what you suggested and if I did that on
top level directory of gdb I get the error related to termcap... I
guess in that directory is where I need to crosscompile the gdb
client, though.
2013/6/7 Pedro Alves <palves@redhat.com>:
> On 06/07/2013 10:52 AM, Francisco Cuesta wrote:
>> But now I have another doubt, if I want to crooscompile the gdb
>> "client" which is going to connect to the gdbserver, how can I do it?
>> Then, I will have to crosscompile the whole gdb suite right?
>
> Assuming gdb will run on your host non-ARM machine, no.
>
> Here's the chapter everyone building cross tools should read (do
> click the right arrow):
>
> http://www.sourceware.org/autobook/autobook/autobook_258.html
>
> And also, simplified from:
>
> http://www.flameeyes.eu/autotools-mythbuster/autoconf/canonical.html
>
> "
> When using autoconf, there are three system definitions (or machine definitions)
> that are used to identify the “actors” in the build process; (...) These three definitions are:
>
> host
>
> The system that is going to run the software once it is built. Once the software
> has been built, it will execute on this particular system.
>
> build
>
> The system where the build process is being executed. For most uses this
> would be the same as the host system, but in case of cross-compilation
> the two obviously differ.
>
> target
>
> The system against which the software being built will run on. This only exists, or rather
> has a meaning, when the software being built may interact specifically with a
> system that differs from the one it's being executed on (our host). This is the case
> for compilers, debuggers, profilers and analyzers and other tools in general.
> "
>
> So configure GDB with --target=arm-mv5sft-linux-gnueabi,
> and GDBserver with --host=arm-mv5sft-linux-gnueabi.
>
>>
>> regards!
>>
>> 2013/6/6 Pedro Alves <palves@redhat.com>:
>>> It sounds like you're running the top level's configure
>>> instead of gdbserver's. If you just want to build
>>> gdbserver, run the configure in gdb/gdbserver/.
>>>
>>> --
>>> Pedro Alves
>>>
>
>
> --
> Pedro Alves