Hello list,

I am currently trying to statically link fatresize, which depends on libparted and libparted-fs-resize. After figuring out a few problems in fatresize itself I'm still stuck with the following duplicate symbol errors:

> armv7l-unknown-linux-musleabihf-gcc -g -O2 -D_FILE_OFFSET_BITS=no -o fatresize fatresize-fatresize.o -lparted-fs-resize -L/nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib -lparted -ldevmapper -lblkid -luuid -ldl > /nix/store/bjzyn5wcmpvdvx3a94ndyf4q1h2qygxj-armv7l-unknown-linux-musleabihf-binutils-2.43.1/bin/armv7l-unknown-linux-musleabihf-ld: /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted.a(fat.o): in function `fat_alloc': > (.text+0x0): multiple definition of `fat_alloc'; /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted-fs-resize.a(fat.o):(.text+0x0): first defined here > /nix/store/bjzyn5wcmpvdvx3a94ndyf4q1h2qygxj-armv7l-unknown-linux-musleabihf-binutils-2.43.1/bin/armv7l-unknown-linux-musleabihf-ld: /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted.a(fat.o): in function `fat_free': > (.text+0x98): multiple definition of `fat_free'; /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted-fs-resize.a(fat.o):(.text+0x138): first defined here > /nix/store/bjzyn5wcmpvdvx3a94ndyf4q1h2qygxj-armv7l-unknown-linux-musleabihf-binutils-2.43.1/bin/armv7l-unknown-linux-musleabihf-ld: /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted.a(hfs.o):(.bss+0x0): multiple definition of `hfsp_block_count'; /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted-fs-resize.a(hfs.o):(.bss+0x18): first defined here > /nix/store/bjzyn5wcmpvdvx3a94ndyf4q1h2qygxj-armv7l-unknown-linux-musleabihf-binutils-2.43.1/bin/armv7l-unknown-linux-musleabihf-ld: /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted.a(hfs.o):(.bss+0x4): multiple definition of `hfs_block_count'; /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted-fs-resize.a(hfs.o):(.bss+0x1c): first defined here > /nix/store/bjzyn5wcmpvdvx3a94ndyf4q1h2qygxj-armv7l-unknown-linux-musleabihf-binutils-2.43.1/bin/armv7l-unknown-linux-musleabihf-ld: /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted.a(hfs.o):(.bss+0x8): multiple definition of `hfsp_block'; /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted-fs-resize.a(hfs.o):(.bss+0x20): first defined here > /nix/store/bjzyn5wcmpvdvx3a94ndyf4q1h2qygxj-armv7l-unknown-linux-musleabihf-binutils-2.43.1/bin/armv7l-unknown-linux-musleabihf-ld: /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted.a(hfs.o):(.bss+0xc): multiple definition of `hfs_block'; /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted-fs-resize.a(hfs.o):(.bss+0x24): first defined here > /nix/store/bjzyn5wcmpvdvx3a94ndyf4q1h2qygxj-armv7l-unknown-linux-musleabihf-binutils-2.43.1/bin/armv7l-unknown-linux-musleabihf-ld: /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted.a(probe.o): in function `hfsc_can_use_geom': > (.text+0x0): multiple definition of `hfsc_can_use_geom'; /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted-fs-resize.a(probe.o):(.text+0x0): first defined here > /nix/store/bjzyn5wcmpvdvx3a94ndyf4q1h2qygxj-armv7l-unknown-linux-musleabihf-binutils-2.43.1/bin/armv7l-unknown-linux-musleabihf-ld: /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted.a(probe.o): in function `hfs_and_wrapper_probe': > (.text+0xa0): multiple definition of `hfs_and_wrapper_probe'; /nix/store/q1ligpwl9i0p6vvfbhm03iz8bsqy4s4m-parted-static-armv7l-unknown-linux-musleabihf-3.6/lib/libparted-fs-resize.a(probe.o):(.text+0xa0): first defined here

All the symbols seem to be defined in both libparted.a and libparted-fs-resize.a (I checked with nm).

When checking for example the symbol fat_alloc, it seems that it is indeed twice in the source code, once in libparted/fs/fat/fat.c and once in libparted/fs/r/fat/fat.c.

Any ideas how I could resolve this problem? fatresize really needs to link to both of these libraries.

Regards
Urs

Reply via email to