public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
@ 2022-07-15 21:07 orbea at riseup dot net
2022-07-18 19:03 ` [Bug build/29372] " tromey at sourceware dot org
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: orbea at riseup dot net @ 2022-07-15 21:07 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
Bug ID: 29372
Summary: slibtool build failure - make[2]: *** No rule to make
target '../bfd/libbfd.a', needed by 'gdb'. Stop.
Product: gdb
Version: HEAD
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: build
Assignee: unassigned at sourceware dot org
Reporter: orbea at riseup dot net
Target Milestone: ---
Created attachment 14213
--> https://sourceware.org/bugzilla/attachment.cgi?id=14213&action=edit
Full Build Log
When building gdb with slibtool the build fails because '../bfd/libbfd.a' is
missing. This happens because of this earlier error.
libtooldir=`rdlibtool --config | sed -n -e 's/^objdir=//p'`; \
if [ -f $libtooldir/libopcodes.a ]; then \
cp $libtooldir/libopcodes.a libopcodes.tmp; \
x86_64-pc-linux-gnu-ranlib --plugin
/usr/libexec/gcc/x86_64-pc-linux-gnu/11.3.0/liblto_plugin.so libopcodes.tmp; \
/bin/sh ./../move-if-change libopcodes.tmp libopcodes.a; \
else true; fi
rdlibtool: error: <compiler> is missing.
This is because of a hack as described in the code at 'bfd/Makefile.am'.
# libtool will build .libs/libbfd.a. We create libbfd.a in the build
# directory so that we don't have to convert all the programs that use
# libbfd.a simultaneously. This is a hack which should be removed if
# everything else starts using libtool. FIXME.
https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/Makefile.am;h=670e0598f55f29f3d5db4ffa18e40dcbc390f977;hb=13c3e10f98ff9b89c12161e85bd576ea77460a83#l777
With slibtool --config works differently than with GNU libtool and peering into
the internal details for the libtool implementation is inherently not portable.
For example with slibtool I can get this output.
$ slibtool --config gcc
key value annotation
--- ----- ----------
compiler gcc
target
host x86_64-unknown-linux-gnu native (cached in
ccenv/host.mk)
flavor linux derived from <host>
ar gcc-ar derived from <host>
ranlib x86_64-unknown-linux-gnu-ranlib derived from <host>
windres not applicable
dlltool not applicable
mdso not applicable
Is there anything that can be done to remove this hack so that both slibtool
and GNU libtool can be used to build gdb? This build system is intimidating for
someone not familiar with gdb.
Also please see this Gentoo issue where it was first reported:
https://bugs.gentoo.org/792969
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29372] slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
@ 2022-07-18 19:03 ` tromey at sourceware dot org
2022-07-20 2:38 ` orbea at riseup dot net
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2022-07-18 19:03 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
Tom Tromey <tromey at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tromey at sourceware dot org
--- Comment #1 from Tom Tromey <tromey at sourceware dot org> ---
I don't know anything about slibtool, but it sounds like
maybe the provided build system is being modified to work
with it?
gdb doesn't use libtool for linking but does seem to use
the workaround:
BFD_DIR = ../bfd
BFD = $(BFD_DIR)/libbfd.a
Changing gdb to use libtool for linking seems fine to me,
as long as it doesn't slow down the whole build somehow.
You may have to find all the subdirectories relying on this hack.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29372] slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
2022-07-18 19:03 ` [Bug build/29372] " tromey at sourceware dot org
@ 2022-07-20 2:38 ` orbea at riseup dot net
2022-07-20 2:45 ` orbea at riseup dot net
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: orbea at riseup dot net @ 2022-07-20 2:38 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
--- Comment #2 from orbea <orbea at riseup dot net> ---
Created attachment 14223
--> https://sourceware.org/bugzilla/attachment.cgi?id=14223&action=edit
Patch to fix the gdb build with slibtool
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29372] slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
2022-07-18 19:03 ` [Bug build/29372] " tromey at sourceware dot org
2022-07-20 2:38 ` orbea at riseup dot net
@ 2022-07-20 2:45 ` orbea at riseup dot net
2022-11-05 5:51 ` sam at gentoo dot org
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: orbea at riseup dot net @ 2022-07-20 2:45 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
--- Comment #3 from orbea <orbea at riseup dot net> ---
> I don't know anything about slibtool, but it sounds like
> maybe the provided build system is being modified to work
> with it?
slibtool (https://dev.midipix.org/cross/slibtool) is an alternate libtool
implementation written in c99 which intends to be a minimal, readable and
maintainable code base. It has a few edge cases left, but it works almost
everywhere that libtool is used with the caveat that are numerous programs that
depend on one more GNU libtool bug. For example a common issue is where GNU
libtool silently ignores -no-undefined while slibtool does not do this which
will fail if there are hidden undefined references. However most issues are now
fixed in gentoo, see: https://bugs.gentoo.org/765709
It can be tested by exporting MAKEFLAGS and/or MAKE in the environment:
export MAKEFLAGS='LIBTOOL=rlibtool'
export MAKE='make LIBTOOL=rlibtool'
Most build systems just need MAKEFLAGS to be set, but some will drop MAKEFLAGS
during the build due to uses of recursive make(1). This is where setting MAKE
is also important.
> Changing gdb to use libtool for linking seems fine to me,
> as long as it doesn't slow down the whole build somehow.
> You may have to find all the subdirectories relying on this hack.
It actually might be that simple to just link with libtool, at least to get the
build to complete on my system. I attached a patch that does that for the gdb/
directory which seems to be the only place I need to modify.
I don't think it should make a huge impact on the build time, but fwiw slibtool
is significantly faster than GNU libtool.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29372] slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
` (2 preceding siblings ...)
2022-07-20 2:45 ` orbea at riseup dot net
@ 2022-11-05 5:51 ` sam at gentoo dot org
2022-11-05 8:26 ` vapier at gentoo dot org
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: sam at gentoo dot org @ 2022-11-05 5:51 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
Sam James <sam at gentoo dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sam at gentoo dot org,
| |vapier at gentoo dot org
--- Comment #4 from Sam James <sam at gentoo dot org> ---
CCing vapier@ in case he's got any expertise to share here as one of the build
system folks.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29372] slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
` (3 preceding siblings ...)
2022-11-05 5:51 ` sam at gentoo dot org
@ 2022-11-05 8:26 ` vapier at gentoo dot org
2022-11-06 2:51 ` [Bug build/29372] build failure when using slibtool to replace libtool " vapier at gentoo dot org
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: vapier at gentoo dot org @ 2022-11-05 8:26 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
--- Comment #5 from Mike Frysinger <vapier at gentoo dot org> ---
there's a discussion ongoing right now wrt libtoolizing gdb where i'm pushing
on people to do it preciously so they don't go snooping into libtool .lib/
state (although it's not about slibtool, just a general "that's not libtool
ABI").
however, we don't take patches via bugzilla. you need to post them to the
gdb-patches@ mailing list for someone to review+approve.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29372] build failure when using slibtool to replace libtool - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
` (4 preceding siblings ...)
2022-11-05 8:26 ` vapier at gentoo dot org
@ 2022-11-06 2:51 ` vapier at gentoo dot org
2022-11-08 21:59 ` tromey at sourceware dot org
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: vapier at gentoo dot org @ 2022-11-06 2:51 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
Mike Frysinger <vapier at gentoo dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|slibtool build failure - |build failure when using
|make[2]: *** No rule to |slibtool to replace libtool
|make target |- make[2]: *** No rule to
|'../bfd/libbfd.a', needed |make target
|by 'gdb'. Stop. |'../bfd/libbfd.a', needed
| |by 'gdb'. Stop.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29372] build failure when using slibtool to replace libtool - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
` (5 preceding siblings ...)
2022-11-06 2:51 ` [Bug build/29372] build failure when using slibtool to replace libtool " vapier at gentoo dot org
@ 2022-11-08 21:59 ` tromey at sourceware dot org
2022-11-08 22:45 ` orbea at riseup dot net
2022-11-09 2:21 ` tromey at sourceware dot org
8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2022-11-08 21:59 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
--- Comment #6 from Tom Tromey <tromey at sourceware dot org> ---
git master uses libtool to link gdb now, so can this bug be closed?
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29372] build failure when using slibtool to replace libtool - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
` (6 preceding siblings ...)
2022-11-08 21:59 ` tromey at sourceware dot org
@ 2022-11-08 22:45 ` orbea at riseup dot net
2022-11-09 2:21 ` tromey at sourceware dot org
8 siblings, 0 replies; 10+ messages in thread
From: orbea at riseup dot net @ 2022-11-08 22:45 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
orbea <orbea at riseup dot net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|UNCONFIRMED |RESOLVED
--- Comment #7 from orbea <orbea at riseup dot net> ---
Yes, I can confirm with commit b142a9f83f56fbbc1c9fe45f2ea19cd11db2795 this now
builds using slibtool.
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=2b142a9f83f56fbbc1c9fe45f2ea19cd11db2795
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29372] build failure when using slibtool to replace libtool - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop.
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
` (7 preceding siblings ...)
2022-11-08 22:45 ` orbea at riseup dot net
@ 2022-11-09 2:21 ` tromey at sourceware dot org
8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2022-11-09 2:21 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29372
Tom Tromey <tromey at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |13.1
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-11-09 2:21 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-15 21:07 [Bug build/29372] New: slibtool build failure - make[2]: *** No rule to make target '../bfd/libbfd.a', needed by 'gdb'. Stop orbea at riseup dot net
2022-07-18 19:03 ` [Bug build/29372] " tromey at sourceware dot org
2022-07-20 2:38 ` orbea at riseup dot net
2022-07-20 2:45 ` orbea at riseup dot net
2022-11-05 5:51 ` sam at gentoo dot org
2022-11-05 8:26 ` vapier at gentoo dot org
2022-11-06 2:51 ` [Bug build/29372] build failure when using slibtool to replace libtool " vapier at gentoo dot org
2022-11-08 21:59 ` tromey at sourceware dot org
2022-11-08 22:45 ` orbea at riseup dot net
2022-11-09 2:21 ` tromey at sourceware dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).