Summary: | sys-fs/btrfs-progs-4.8.3 libbtrfs missing symbol lookup_path_rootid | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Mike Gilbert <floppym> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | anders.gentoo, dlan, floppym, mmk, pastas4, proxy-maint, slyfox |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
app-backup:snapper-0.3.3:20161117-041145.log
config.log emerge-history.txt environment snip of config.log 爬梯楚 patch apply to btrfs-progs-4.8.3 fix this problem |
Description
Toralf Förster
2016-11-17 08:56:14 UTC
Created attachment 453610 [details]
app-backup:snapper-0.3.3:20161117-041145.log
Created attachment 453612 [details]
config.log
Created attachment 453614 [details]
emerge-history.txt
Created attachment 453616 [details]
environment
could you show me what's the version of sys-fs/btrfs-progs? I see in your log: checking for btrfs_read_and_process_send_stream in -lbtrfs... no while here mine is: checking for btrfs_read_and_process_send_stream in -lbtrfs... yes obviously, we could also improve the code base.. to better btrfs case .. (In reply to Yixun Lan from comment #5) from the attached emerge-history : Tue Nov 15 14:30:43 2016 >>> sys-fs/btrfs-progs-4.8.3 Created attachment 454022 [details]
snip of config.log
I can confirm this issue happening with =btrfs-progs-4.8.3, but not with =btrfs-progs-4.8.1-r1, I have checked there is no ABI change of function btrfs_read_and_process_send_stream() between this two version
readelf shows lookup_path_rootid() undefined
$ readelf -a /usr/lib64/libbtrfs.so |grep lookup_path_rootid
00000020b1e8 002f00000007 R_X86_64_JUMP_SLO 0000000000000000 lookup_path_rootid + 0
47: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND lookup_path_rootid
sounds it fail to find lookup_path_rootid()
----><----
configure:16618: x86_64-pc-linux-gnu-gcc -o conftest -O2 -pipe -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
Created attachment 454024 [details, diff]
爬梯楚
Created attachment 454026 [details, diff]
patch apply to btrfs-progs-4.8.3 fix this problem
btw, I haven't enumerated source file one by one to check which funtions are missing, but blindly include ${objects} ( which is all source code!), and problem sloved here.
I sent a plea for help to the btrfs list. https://marc.info/?l=linux-btrfs&m=147984059821331&w=2 I think this regression was introduced here: https://git.kernel.org/cgit/linux/kernel/git/kdave/btrfs-progs.git/commit/?id=1c85c3de5aab997ff66ea95cb0f2c9f79726ec40 Should be fixed in btrfs-progs-4.8.4. |