This is the mail archive of the insight@sourceware.org mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Error while "make all": "make[2]: *** No rule to make target `/libreadline.a', needed by `gdb'. Stop."


Keith, Patrick,

I finally managed to compile it from 7.4.50 (6.8-1 ends not generating
the insight executable for some extrange reason) by following most of
the commands in the rpm spec file (including the unbundling and
reconfigurations).

Since you seem to work closely with Fedora, I'll point out that most
Fedora source rpms seem designed not to allow building a cross-target,
given their use of _target and _target_platform. I could only manage to
build a proper cross-target, using rpmbuild, for binutils-2.21.53.0.1
(which seems to give a few FAILS in the test suit for ARM by the way) by
using --define="binutils_target arm-eabi".

Doing the same for gcc seems a long task, but I guess it could be doable
for insight... I'll see if I can do that next week, and then I'll offer
you the results.

Cheers
David Fernandez


On 29/05/12 13:47, Patrick Monnerat wrote:
>  
> Keith Seitz 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
>>> ~/rpmbuild/BUILD/insight-7.4.50/configure --target=arm-eabi -v 2>&1 |
>>> tee configure.out make -w all 2>&1 | tee make.out
>> Zowie. Until recently, I didn't even know that Insight was in fedora! 
>> [cough]
>>> gcc -g -O2   -I. -I../../../../BUILD/insight-7.4.50/gdb
>>> -I../../../../BUILD/insight-7.4.50/gdb/common
>>> -I../../../../BUILD/insight-7.4.50/gdb/config
>>> -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H 
>>> -I../../../../BUILD/insight-7.4.50/gdb/../include/opcode
>>> -I../../../../BUILD/insight-7.4.50/gdb/../opcodes/..
>>> -I@READLINE_SRC@/.. -I../bfd
>    ^^^^^^^^^^^^^^^^
>
> Yes, this is the problem since readline has been unbundled by the spec
> file. The "system-readline" patch is incomplete. However it DOES compile
> for 32 and 64 bits architecture in Fedora Koji. Thanks for signaling
> this problem: I'll probably fix it in a future release.
>
>> Looking through the 6.8 rpm (I'm on F15 right now), I see that it does
> not list all the build requirements for gdb. I would recommend you
> download/install the corresponding gdb sources (and deps). If you can
> build the gdb RPM, then all the necessary "hidden" requirements are
> present to build insight. All you then might be missing are the insight
> deps. I'll see if I can't check out the latest insight RPM and get it
> fixed.
>
> The 6.8 RPM spec is outdated for more than one reason: no additional
> work will be made starting with this version.
>
>>> The same thing happens with insight-6.8-1 (after adding CFLAGS="-g
> -O2 
>>> -Wno-error=set-but-unused-variable" to avoid a few benign errors).
>> Eew. 6.8-1 is based on a version gdb that somewhere near four years
> old. 
>> That spec file is obviously really, really wrong in many ways. [It
> also includes a private copy of tcl, tk, itcl, etc. This is no longer a
> requirement. The sources now look for system-installed versions. (hint:
> install tcl, tk, itcl, itk, iwidgets, itcl-devel, tcl-devel, tk-devel)]
>
> It may be wrong today, not 4 years ago ! (BTW: why don't you release
> another stable tarball?)
>
> There were NO private copy of tcl/itcl/etc: the rule with Fedora
> packaging is UNBUNDLING; there was a lot of work to achieve it and the
> objects you think are private copies are just fixes to the 6.8 insight
> code to adapt it to the newer version of system tcl/itcl,etc.
>
> The makefiles modern configure/makefile self-adapts to system installed
> libraries, but at the time of 6.8 writing, this was not the case.
> In addition, if real unbundling was possible, one could delete the
> bundled library directories before compiling without problem: this is
> not the case.
>
> Now that 6.8 is burried, let's talk about 7.4.50cvs: real unbundling (as
> in the preceding paragraph) is still not possible: there are references
> to the library directories even if you use system-installed versions;
> the spec file deletes the bundle directories to force an error if any
> references to them is performed.
>
> The --with-system-readline flag is unconditionally passed to ./configure
> The spec file is perfectly well formed according to the Fedora packaging
> guidelines. In particular, the build requirements are fully compatible
> with the Fedora mock/koji environment.
>
> To quickly build a non-official insight package, just remove the
> "readline-system" patch and suppress the deletion of the readline bundle
> directory: please remember this solution is not acceptable for an
> official Fedora package.
>
>
> Now, remember the spec file is Fedora-specific, and not part of the
> insight repository. In particular, this means:
>
> - Spec file and rpm patches bugs should be reported using
> https://bugzilla.redhat.com/ (as the spec maintainer, I'll be
> immediately noticed of any insight package related activity).
> - Hints/suggestions are welcomed, providing they respect the Fedora
> packaging guidelines.
> - Co-maintainers are welcomed, in particular for alternative
> architectures (non-Intel, etc). There is already a maintainer for the
> EPEL version, but he hasn't prepared the 7.50 version yet.
> - If there's something precise I can do for alternative architecture
> support in the spec file or Fedora-specific patches without breaking the
> primary architecture builds, just ask.
>
> But please remember I do not have the necessary infrastructure to test
> your target cross-compilations, executions, etc. Thanks
>
> Cheers,
> Patrick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]