This is the mail archive of the
insight@sourceware.org
mailing list for the Insight project.
Re: Error while "make all": "make[2]: *** No rule to make target `/libreadline.a', needed by `gdb'. Stop."
- From: Gene Smith <gds at chartertn dot net>
- To: insight at sources dot redhat dot com
- Date: Sun, 27 May 2012 23:24:37 -0400
- Subject: Re: Error while "make all": "make[2]: *** No rule to make target `/libreadline.a', needed by `gdb'. Stop."
- References: <jpsh1j$2ah$1@dough.gmane.org> <4FC2773C.7080509@googlemail.com>
David Fernandez wrote, On 05/27/2012 02:49 PM:
On 27/05/12 07:19, Gene Smith wrote:
David Fernandez wrote, On 05/25/2012 06:10 PM:
Hi Keith,
On Fri, May 25, 2012 at 12:10 AM, Keith Seitz<keiths@redhat.com> wrote:
On 05/24/2012 03:45 PM, David Fernandez wrote:
I get the sources by doing:
yumdownloader --source insight
rpm -i insight-7.4.50-1.20120403cvs.fc16.src.rpm
cd ~/rpmbuild/SPECS; rpmbuild -bp insight.spec
cd ~/rpmbuild/BUILDROOT/arm-eabi/insight-7.4.50
Actually cd ~/rpmbuild/BUILDROOT
mkdir -p arm-eabi/insight-7.4.50
cd arm-eabi/insight-7.4.50
Yes, right, I pretend that I had created the folder early on...
~/rpmbuild/BUILD/insight-7.4.50/configure --target=arm-eabi -v 2>&1 |
tee configure.out
I see the same error. Doing this instead allows it to build as is:
~/rpmbuild/BUILD/insight-7.4.50/configure --with-system-readline
--target=arm-eabi -v 2>&1 | tee configure.out
Excellent, it builds!
The problem is that one of the patches to gdb/Makefile takes out the
path to readline.
If I put it back in it also works w/o the --with-system-readline:
Remove last patch from
rpmbuild/SOURCES/insight-7.4.50-readline-system.patch.
I'll go with the first solution, unless the system readline gives any
problem... unless you are sure that something is wrong with it.
I doubt there is anything wrong with it. The spec file discards the
insight included readline as well as all the tcl-tk stuff and just uses
the system versions. But I have always used insight's readline since I
didn't know there was an alternative.
Are you trying to build an RPM for arm-eabi? I've never built an RPM
(or maybe once long ago)
so what is the next step? "make install" ?? I use insight with
embedded arm-eabi constantly but
have made my own custom version that works well from a CVS snapshot
and codesourery's gdb source.
I was just building a toochain, that will require su -c 'make install'
(or sudo make install if you have sudo configured, like in Ubuntu).
For a rpm, we would need to modify the SPEC file to build insight for
arm-eabi, using --with-system-readline. Then doing rpmbuild --rebuild,
and hopefully we will end with a binary rpm in RPMS folder.
Yes, I tried that and it make rpm and srpm which installs and runs and
"help" shows configured as target=arm-none-eabi as I entered in the spec
file. The spec file seems to only use the --with-system-readline so it
never sees the bug you ran into.
The difficult thing is to compile gcc, that requires some more switches
when configuring, and pehaps a stripped version of the C runtime
library, more appropriate for embedded systems, like newlib. There is a
good guide, other than these hitches for that in ecos.sourceware.org
You can also get a pre-build gcc version from Mentor/Codesourcery that
that includes all the source and giant build file that you may have to
adjust to build all the tools: gcc, gdb, newlib etc. It doesn't include
insight however since they have moved to using Eclipse.
Just one more thing that you guys might now by heart, but I forgot long
ago... When running the installed arm-eabi-insight, I get the following:
ide_initialize_paths failed: Can't find the GUI Tcl library in the
following directories:
/usr/local/usr/share/insight/gui /usr/local/share/insight/gui
/usr/share/insight/gui /usr/libgui/library /usr/src/libgui/library
/usr/local/usr/share/insight/ide /usr/local/share/insight/ide
/usr/share/insight/ide /usr/local/libide/library
Surely there is a funny TCL environment variable, or a funny tcl command
to make sure that the programs find those things... Could you tell me
which one is it that I'm missing?
This is how I typically configure w/o using the included tcl/tk. I think
the various "--with-tcl=/usr/lib" may fix the error you see (may have to
adjust the path).
../insight_sources/configure -v --quiet --prefix=$PREFIX \
--target=arm-none-eabi --enable-interwork --enable-multilib \
--with-gnu-ld --with-gnu-as --disable-werror \
--with-tcl=/usr/lib --with-tk=/usr/lib --with-itcl=/usr/lib \
--with-itclconfig=/usr/lib --with-itkconfig=/usr/lib