Statically link libmisc in libreiser4 libraries. Being a convenience library, libmisc is not installed; libreiser4 will not resolve misc_* functions unless there is a shared library providing them or they are statically linked. Solves 'undefined reference to misc_str2long' and alike when linking against the installed libreiser4 library. Note that libaux is statically linked in libmisc, so if you need both just link to libmisc in order to prevent redefinition of symbols. If you only need libaux, then link to the former. Being libmisc now part of libreiser4, linking to the latter will make misc_* functions available as shared symbols via libreiser4. Linking to libmisc (before libreiser4) will make them statically available. The old behavior of statically linking misc_* functions by demo/* and progs/* is preserved. libmisc is now statically linked in libreiser4, demo, and progs. diff -Nuar a/Makefile.am b/Makefile.am --- a/Makefile.am 2017-11-23 10:21:36.000000000 +0000 +++ b/Makefile.am 2020-11-15 16:36:50.000000000 +0000 @@ -1,4 +1,4 @@ -SUBDIRS = libaux plugin libreiser4 librepair libmisc progs include doc demos +SUBDIRS = libaux libmisc plugin libreiser4 librepair progs include doc demos EXTRA_DIST = AUTHORS COPYING TODO NEWS BUGS README CREDITS THANKS \ reiser4progs.spec.in reiser4progs.spec libreiser4.m4 \ diff -Nuar a/demos/Makefile.am b/demos/Makefile.am --- a/demos/Makefile.am 2017-11-23 10:21:36.000000000 +0000 +++ b/demos/Makefile.am 2020-11-15 16:37:13.000000000 +0000 @@ -10,8 +10,8 @@ busy_CFLAGS = @GENERIC_CFLAGS@ -busy_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ - $(top_builddir)/libmisc/libmisc.la \ +busy_LDADD = $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ $(PROGS_LIBS) EXTRA_DIST = $(noinst_SCRIPTS) diff -Nuar a/libmisc/Makefile.am b/libmisc/Makefile.am --- a/libmisc/Makefile.am 2017-11-23 10:21:36.000000000 +0000 +++ b/libmisc/Makefile.am 2020-11-15 16:36:50.000000000 +0000 @@ -1,4 +1,12 @@ -noinst_LTLIBRARIES = libmisc.la +miscincludedir = -I$(top_srcdir)/include + +if ENABLE_MINIMAL +MINIMAL_LIBS = libmisc-minimal.la +else +MINIMAL_LIBS = +endif + +noinst_LTLIBRARIES = libmisc.la $(MINIMAL_LIBS) libmisc_la_SOURCES = misc.c profile.c exception.c gauge.c ui.c \ mpressure.c @@ -8,4 +16,13 @@ libmisc_la_CFLAGS = @GENERIC_CFLAGS@ -AM_CPPFLAGS = -I$(top_srcdir)/include +if ENABLE_MINIMAL +libmisc_minimal_la_SOURCES = $(libmisc_la_SOURCES) + +libmisc_minimal_la_LIBADD = @AAL_LIBS@ $(UUID_LIBS) @PROGS_LIBS@ \ + $(top_builddir)/libaux/libaux-minimal.la + +libmisc_minimal_la_CFLAGS = $(libmisc_la_CFLAGS) +endif + +AM_CPPFLAGS = $(miscincludedir) diff -Nuar a/libreiser4/Makefile.am b/libreiser4/Makefile.am --- a/libreiser4/Makefile.am 2017-11-23 10:21:36.000000000 +0000 +++ b/libreiser4/Makefile.am 2020-11-15 16:36:50.000000000 +0000 @@ -14,7 +14,7 @@ lib_LTLIBRARIES = libreiser4.la $(MINIMAL_LIBS) noinst_LTLIBRARIES = libreiser4-static.la -libreiser4_la_LIBADD = $(top_builddir)/libaux/libaux-static.la \ +libreiser4_la_LIBADD = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/plugin/libreiser4-plugin.la \ @AAL_LIBS@ @@ -24,7 +24,7 @@ -release $(LT_RELEASE) libreiser4_la_CFLAGS = @GENERIC_CFLAGS@ -libreiser4_static_la_LIBADD = $(top_builddir)/libaux/libaux-static.la \ +libreiser4_static_la_LIBADD = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/plugin/libreiser4-plugin.la \ @AAL_LIBS@ @@ -33,7 +33,7 @@ libreiser4_static_la_LDFLAGS = -static if ENABLE_MINIMAL -libreiser4_minimal_la_LIBADD = $(top_builddir)/libaux/libaux-minimal.la \ +libreiser4_minimal_la_LIBADD = $(top_builddir)/libmisc/libmisc-minimal.la \ $(top_builddir)/plugin/libreiser4-plugin-minimal.la \ @AAL_MINIMAL_LIBS@ diff -Nuar a/progs/debugfs/Makefile.am b/progs/debugfs/Makefile.am --- a/progs/debugfs/Makefile.am 2017-11-23 10:21:36.000000000 +0000 +++ b/progs/debugfs/Makefile.am 2020-11-15 16:38:00.000000000 +0000 @@ -2,9 +2,9 @@ debugfs_reiser4_SOURCES = debugfs.c debugfs.h print.c print.h browse.c \ browse.h types.h -debugfs_reiser4_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ +debugfs_reiser4_LDADD = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/librepair/librepair.la \ - $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ $(PROGS_LIBS) debugfs_reiser4_LDFLAGS = @PROGS_LDFLAGS@ diff -Nuar a/progs/fsck/Makefile.am b/progs/fsck/Makefile.am --- a/progs/fsck/Makefile.am 2017-11-23 10:21:36.000000000 +0000 +++ b/progs/fsck/Makefile.am 2020-11-15 16:38:12.000000000 +0000 @@ -1,9 +1,9 @@ sbin_PROGRAMS = fsck.reiser4 fsck_reiser4_SOURCES = fsck.c backup.c fsck.h backup.h -fsck_reiser4_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ +fsck_reiser4_LDADD = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/librepair/librepair.la \ - $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ @PROGS_LIBS@ fsck_reiser4_LDFLAGS = @PROGS_LDFLAGS@ diff -Nuar a/progs/measurefs/Makefile.am b/progs/measurefs/Makefile.am --- a/progs/measurefs/Makefile.am 2017-11-23 10:21:36.000000000 +0000 +++ b/progs/measurefs/Makefile.am 2020-11-15 16:38:23.000000000 +0000 @@ -1,8 +1,8 @@ sbin_PROGRAMS = measurefs.reiser4 measurefs_reiser4_SOURCES = measurefs.c -measurefs_reiser4_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ - $(top_builddir)/libmisc/libmisc.la \ +measurefs_reiser4_LDADD = $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ $(PROGS_LIBS) measurefs_reiser4_LDFLAGS = @PROGS_LDFLAGS@ diff -Nuar a/progs/mkfs/Makefile.am b/progs/mkfs/Makefile.am --- a/progs/mkfs/Makefile.am 2017-11-23 10:21:36.000000000 +0000 +++ b/progs/mkfs/Makefile.am 2020-11-15 16:38:38.000000000 +0000 @@ -1,8 +1,8 @@ sbin_PROGRAMS = mkfs.reiser4 mkfs_reiser4_SOURCES = mkfs.c -mkfs_reiser4_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ - $(top_builddir)/libmisc/libmisc.la \ +mkfs_reiser4_LDADD = $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ $(PROGS_LIBS) mkfs_reiser4_LDFLAGS = @PROGS_LDFLAGS@