storaged-project / libblockdev

A library for manipulating block devices.
GNU Lesser General Public License v2.1
103 stars 53 forks source link

gen_bitmap64.c:(.text+0x6ef): undefined reference to `com_err' #957

Open oneforall2 opened 11 months ago

oneforall2 commented 11 months ago
libtool: link: /usr/bin/grep -E -e "^bd_.*" ".libs/libbd_fs.exp" > ".libs/libbd_fs.expT"
libtool: link: mv -f ".libs/libbd_fs.expT" ".libs/libbd_fs.exp"
libtool: link: echo "{ global:" > .libs/libbd_fs.ver
libtool: link:  cat .libs/libbd_fs.exp | /usr/bin/sed -e "s/\(.*\)/\1;/" >> .libs/libbd_fs.ver
libtool: link:  echo "local: *; };" >> .libs/libbd_fs.ver
libtool: link:  gcc -shared  -fPIC -DPIC  ../.libs/libbd_fs_la-check_deps.o ../.libs/libbd_fs_la-fs.o .libs/libbd_fs_la-common.o .libs/libbd_fs_la-ext.o .libs/libbd_fs_la-generic.o .libs/libbd_fs_la-mount.o .libs/libbd_fs_la-ntfs.o .libs/libbd_fs_la-vfat.o .libs/libbd_fs_la-xfs.o .libs/libbd_fs_la-f2fs.o .libs/libbd_fs_la-nilfs.o .libs/libbd_fs_la-exfat.o .libs/libbd_fs_la-btrfs.o .libs/libbd_fs_la-udf.o   -Wl,-rpath -Wl,/tmp/libblockdev-3.0.3/src/utils/.libs -L./../../utils/ -L/lib64 -L/usr/lib64 ./../../utils/.libs/libbd_utils.so -lm -ludev -lkmod -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lblkid -lmount -luuid -lext2fs -le2p  -O2 -m64 -Wl,--no-undefined   -pthread -Wl,-soname -Wl,libbd_fs.so.3 -Wl,-version-script -Wl,.libs/libbd_fs.ver -o .libs/libbd_fs.so.3.0.0
/usr/bin/ld: /lib64/libext2fs.a(gen_bitmap64.o): in function `ext2fs_mark_generic_bmap':
gen_bitmap64.c:(.text+0x6ef): undefined reference to `com_err'
/usr/bin/ld: gen_bitmap64.c:(.text+0x707): undefined reference to `com_err'
/usr/bin/ld: /lib64/libext2fs.a(gen_bitmap64.o): in function `ext2fs_unmark_generic_bmap':
gen_bitmap64.c:(.text+0x7b3): undefined reference to `com_err'
/usr/bin/ld: gen_bitmap64.c:(.text+0x7cf): undefined reference to `com_err'
/usr/bin/ld: /lib64/libext2fs.a(gen_bitmap64.o): in function `ext2fs_test_generic_bmap':
gen_bitmap64.c:(.text+0x883): undefined reference to `com_err'
/usr/bin/ld: /lib64/libext2fs.a(gen_bitmap64.o):gen_bitmap64.c:(.text+0x89f): more undefined references to `com_err' follow
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:543: libbd_fs.la] Error 1
oneforall2 commented 11 months ago

hmm I rebuilt e2fsprogs with the -a libs removed and it compiles now.. both the so .0 have -U though..

tbzatek commented 11 months ago

This sounds correct, according to

$ pkg-config --libs ext2fs e2p
-lext2fs -le2p
$ ldd /lib64/libe2p.so.2
    linux-vdso.so.1 (0x00007ffeeeda8000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f4616200000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f461651d000)
$ ldd /lib64/libext2fs.so.2
    linux-vdso.so.1 (0x00007ffc34b0d000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f4e17730000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f4e17400000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f4e177eb000)

It is a libext2fs.so.2 responsibility to satisfy the libcom_err.so.2 dependency.

tbzatek commented 9 months ago

@oneforall2, any progress?