--- dcl-c.orig/Mkinclude.in
+++ dcl-c/Mkinclude.in
@@ -41,11 +41,13 @@
 LLIBDIR         = $(DCLDIR)/lib
 LINCDIR         = $(DCLDIR)/include
 
-DCLLIBNAME      = $(DCLLANG)dcl$(DCLVERNUM)
+DCLLIBNAME      = $(DCLLANG)dcl
+DCLSHLIBFNAME   = lib$(DCLLIBNAME).so.$(DCLVERSION)
+DCLSHLIBSONAME  = lib$(DCLLIBNAME).so.5
 DCLLIBFILE      = $(LIBDIR)/lib$(DCLLIBNAME).a
 LDCLLIBFILE     = $(LLIBDIR)/lib$(DCLLIBNAME).a
-DCLSHLIBFILE    = $(LIBDIR)/lib$(DCLLIBNAME).@EXTSHLIB@
-LDCLSHLIBFILE   = $(LLIBDIR)/lib$(DCLLIBNAME).@EXTSHLIB@
+DCLSHLIBFILE    = $(LIBDIR)/$(DCLSHLIBSONAME)
+LDCLSHLIBFILE   = $(LLIBDIR)/$(DCLSHLIBFNAME)
 DCLLIBOPT       = -l$(DCLLIBNAME)
 DCLLIBPATH      = -L$(LIBDIR)
 DCLINCPATH	= -I$(INCDIR)
--- dcl-c.orig/configure
+++ dcl-c/configure
@@ -4105,7 +4105,11 @@
     if test "x$enable_shared" = "xyes" ; then
         case `uname -s` in
             Linux)
-                TODO_SHARED_LIBRARY="\$(LD) -o \$(LDCLSHLIBFILE) -shared --whole-archive \$(LDCLLIBFILE)"
+                TODO_SHARED_LIBRARY="\$(CC) -shared -Wl,-soname,\$(DCLSHLIBSONAME) -o \$(LDCLSHLIBFILE) \\
+		   -Wl,--whole-archive \$(LDCLLIBFILE) \\
+		   -Wl,--whole-archive \$(LF2CLIBFILE) -Wl,--no-whole-archive
+		cd lib; ln -fs \$(DCLSHLIBFNAME) \$(DCLSHLIBSONAME)
+		cd lib; ln -fs \$(DCLSHLIBFNAME) lib\$(DCLLIBNAME).so"
                 ;;
             HP-UX*)
                 EXTSHLIB=sl
--- dcl-c.orig/lib/Makefile
+++ dcl-c/lib/Makefile
@@ -10,11 +10,13 @@
 install:
 	@-if test $(LIBDIR) != $(LLIBDIR); then \
 	  $(CP) $(LDCLLIBFILE) $(DCLLIBFILE); \
-	  if test -f $(LDCLSHLIBFILE); then $(CP) $(LDCLSHLIBFILE) $(DCLSHLIBFILE); fi; \
+	  if test -f $(LDCLSHLIBFILE); then $(CP) $(LLIBDIR)/$(DCLSHLIBFNAME) $(LIBDIR) ; fi; \
 	  $(CP) $(LF2CLIBFILE) $(F2CLIBFILE); \
 	  $(CP) $(LDBASEDIR)/* $(DBASEDIR); fi
 	$(RANLIB) $(DCLLIBFILE)
 	$(RANLIB) $(F2CLIBFILE)
+	cd $(LIBDIR); ln -fs $(DCLSHLIBFNAME) lib$(DCLLIBNAME).so
+	cd $(LIBDIR); ln -fs $(DCLSHLIBFNAME) $(DCLSHLIBSONAME)
 
 clean: clean.local
 
@@ -27,3 +29,4 @@
 	$(RM) $(LDCLLIBFILE)
 	$(RM) $(LDCLSHLIBFILE)
 	$(RM) $(LDBASEDIR)/*
+	$(RM) *.so*
