It seems like gcc-drivven shared library building on OpenUnix 8 requires -shared rather than -G.
diff --git a/Makefile.shared b/Makefile.shared index e33c10b..3584158 100644 --- a/Makefile.shared +++ b/Makefile.shared
@@ -456,12 +456,14 @@ $(DO_GNU_SO); \ else \ $(CALC_VERSIONS); \ + SHARE_FLAG='-G'; \ + (${CC} -v 2>&1 | grep gcc) > /dev/null && SHARE_FLAGS='-shared'; \ SHLIB=lib$(LIBNAME).so; \ SHLIB_SUFFIX=; \ LIBDEPS="$(LIBDEPS) -lc"; \ ALLSYMSFLAGS='-z allextract'; \ NOALLSYMSFLAGS=''; \ - SHAREDFLAGS="-G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \ + SHAREDFLAGS="$${SHARE_FLAG} -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \ SHAREDCMD='$(CC)'; \ fi; \ $(LINK_SO_O) @@ -470,12 +472,14 @@ $(DO_GNU_SO); \ else \ $(CALC_VERSIONS); \ + SHARE_FLAG='-G'; \ + (${CC} -v 2>&1 | grep gcc) > /dev/null && SHARE_FLAGS='-shared'; \ SHLIB=lib$(LIBNAME).so; \ SHLIB_SUFFIX=; \ LIBDEPS="$(LIBDEPS) -lc"; \ ALLSYMSFLAGS='-z allextract'; \ NOALLSYMSFLAGS=''; \ - SHAREDFLAGS="-G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \ + SHAREDFLAGS="$${SHARE_FLAG} -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \ SHAREDCMD='$(CC)'; \ fi; \ $(LINK_SO_A_UNPACKED)