- Status Unconfirmed
- Percent Complete
- Task Type Bug Report
- Category Backend / Core
- Assigned To No-one
- Operating System All
- Severity Low
- Priority Very Low
- Reported Version 1.0
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#77 - [mondo] Fail to build; Multiple symbol definitions
I recently (yesterday 08/14/2020) updated my system (pacman -Syu).
After which I updated all my AUR packages.
When I got to mondo-3.3 I got compile errors about multiple symbol definitions.
/usr/bin/ld: ../../src/common/libmondo.a(libmondo-tools.o):(.bss+0x210): multiple definition of `g_mondo_home'; mondorestore.o:(.bss+0x0): first defined here
Both source files contained 'char *g_mondo_home' definitions. I resolved it by changing the definition in mondorestore.c to 'extern char *g_mondo_home'
This allowed the process to run a bit further but more duplicates popped up. After a little wack-a-mole I got a complete compile with the following changes
src/mondorestore/mondorestore.c
< char *g_mondo_home;
--
> extern char * g_mondo_home;
test/test-mountlist.c
< char *g_mondo_home;
--
> extern char * g_mondo_home;
< char *g_getfacl;
--
> extern char * g_getfacl;
< char *g_getfattr;
--
> extern char * g_getfattr;
test/test-test-truncname.c
< char *g_mondo_home;
--
> extern char * g_mondo_home;
I then decided maybe a better way to fix it was to use the ld option -z muldefs, to just allow the multiple definitions.
I was able to get it to compile appending ,-z,muldefs to the LDFLAGS assignments to to Makefile's
src/mondo-3.3.0/src/mondorestore/Makefile
src/mondo-3.3.0/test/Makefile
I have not actually run a backup with this yet.