diff --git a/NPLib/Makefile.arch b/NPLib/Makefile.arch
index 543ca7973398e093c958af35f59c71654fb20786..988c5be16a4ea577156bb05c785d055cac22af3d 100644
--- a/NPLib/Makefile.arch
+++ b/NPLib/Makefile.arch
@@ -117,9 +117,9 @@ endif
 ifeq ($(ARCH),linuxx8664gcc)
 # AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
 CXX           = g++
-CXXFLAGS      = $(OPT2) -Wall -fPIC
+CXXFLAGS      = $(OPT2) -Wall -fPIC -Xlinker --no-as-needed
 LD            = g++
-LDFLAGS       = $(OPT2)
+LDFLAGS       = $(OPT2) -Xlinker --no-as-needed
 SOFLAGS       = -shared
 endif
 
diff --git a/NPSimulation/GNUmakefile b/NPSimulation/GNUmakefile
index b9dc9d467335e422192082f05e514cc9d00a96a0..2e3f9374f2bd235d1bb314cb63c15e17e6070e2a 100644
--- a/NPSimulation/GNUmakefile
+++ b/NPSimulation/GNUmakefile
@@ -19,6 +19,7 @@ G4BIN = ./bin
 
 CPPFLAGS += $(shell root-config --cflags) 
 CPPFLAGS += -I$(NPTOOL)/NPLib/include
+CPPFLAGS += -Xlinker --no-as-needed
 EXTRALIBS = $(shell root-config --glibs) -lMathMore
 EXTRALIBS += `$(NPTOOL)/NPLib/liblist`
 .PHONY: all