linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Sterba <dsterba@suse.cz>
To: Mike Gilbert <floppymaster@gmail.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: btrfs-progs-4.8.3 libbtrfs missing symbols?
Date: Thu, 24 Nov 2016 11:58:38 +0100	[thread overview]
Message-ID: <20161124105838.GT12522@suse.cz> (raw)
In-Reply-To: <CAJ0EP43Way2cfHzZXt2mhiBNhVBRiGBsTj_KFp+vYoZB-3yieA@mail.gmail.com>

On Wed, Nov 23, 2016 at 01:49:53PM -0500, Mike Gilbert wrote:
> On Wed, Nov 23, 2016 at 1:43 PM, Mike Gilbert <floppymaster@gmail.com> wrote:
> > On Wed, Nov 23, 2016 at 4:45 AM, David Sterba <dsterba@suse.cz> wrote:
> >> On Tue, Nov 22, 2016 at 01:49:15PM -0500, Mike Gilbert wrote:
> >>> Hi,
> >>>
> >>> I received a bug report about a build failure in a package (snapper)
> >>> that utilizes libbtrfs.
> >>>
> >>> https://bugs.gentoo.org/show_bug.cgi?id=600078
> >>>
> >>> To summarize the issue, the package has a configure test that executes
> >>> the following:
> >>>
> >>> configure:16618: x86_64-pc-linux-gnu-gcc -o conftest -O2 -pipe
> >>> -march=amdfam10 -frecord-gcc-switches -std=c99 -Wall -Wextra
> >>> -Wformat=2 -Wmissing-prototypes -Wno-unused-parameter
> >>> -DCONFDIR='"/etc/conf.d"' -Wl,-O1 -Wl,--as-needed conftest.c -lbtrfs
> >>> >&5
> >>> /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libbtrfs.so:
> >>> undefined reference to `lookup_path_rootid'
> >>> collect2: error: ld returned 1 exit status
> >>> configure:16618: $? = 1
> >>>
> >>> It seems that the "lookup_path_rootid" symbol is not included in the library.
> >>>
> >>> Could someone look into this?
> >>
> >> Thanks for the report, bug reproduced here. My referential snapper build
> >> does not fail so I did not know about that. I've now extended the
> >> library test to cover the missing symbol. As the build does not fail
> >> it's needed to actually run the built binary.
> >
> > That's very strange; I definitely get a build-time failure here. Maybe
> > there's some difference in your toolchain.
> >
> > On current master:
> >
> > floppym@naomi btrfs-progs % make V=1 library-test
> >     [LD]     library-test
> > gcc -g -O1 -Wall -D_FORTIFY_SOURCE=2 -include config.h
> > -DBTRFS_FLAT_INCLUDES -D_XOPEN_SOURCE=700 -fno-strict-aliasing -fPIC
> > -I/home/floppym/src/btrfs-progs
> > -I/home/floppym/src/btrfs-progs/kernel-lib    -o library-test
> > library-test.o -rdynamic  -lbtrfs
> > /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libbtrfs.so:
> > undefined reference to `lookup_path_rootid'
> > collect2: error: ld returned 1 exit status
> > make: *** [Makefile:433: library-test] Error 1
> 
> Oh! Based on that command line, library-test is getting linked against
> /usr/lib64/libbtrfs.so instead of the freshly built copy in $PWD.

Oh, right, that's what we get when we don't use automake :)

> You probably need to add -L. or -L$(TOPDIR) to that command in the Makefile.

That was it, thank you!

      reply	other threads:[~2016-11-24 10:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-22 18:49 btrfs-progs-4.8.3 libbtrfs missing symbols? Mike Gilbert
2016-11-22 19:07 ` Mike Gilbert
2016-11-23  9:45 ` David Sterba
2016-11-23 18:43   ` Mike Gilbert
2016-11-23 18:49     ` Mike Gilbert
2016-11-24 10:58       ` David Sterba [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161124105838.GT12522@suse.cz \
    --to=dsterba@suse.cz \
    --cc=floppymaster@gmail.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).