Re: Error while "make all": "make[2]: *** No rule to make target `/libreadline.a', needed by `gdb'. Stop."
Gene Smith <[email protected]> Sun, 27 May 2012 23:24:37 -0400
| Newsgroups | gmane.comp.debugging.insight |
|---|---|
| Message-ID | <[email protected]> |
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<[email protected]> 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