Index: sources/src/gen_code.cc
===================================================================
--- sources/src/gen_code.cc	(revision 35)
+++ sources/src/gen_code.cc	(revision 36)
@@ -400,5 +400,5 @@
   char target_name[128];
   char source_name[128];
-  sprintf (target_name, "%s.o", base_name);
+  sprintf (target_name, "%s.lo", base_name);
   sprintf (source_name, "%s.cc", base_name);
   
@@ -451,9 +451,9 @@
   /* LINK */
   /* **** */
-  sprintf (target_name, "%s.so", base_name);
+  sprintf (target_name, "%s.la", base_name);
 
 #ifdef CONFIG_OS_LINUX
   sprintf (source_name, "%s.lo", base_name);
-  sprintf(compil_str, "(cd %s ; pwd ; libtool --mode=link %s %s -shared -rdynamic -o %s %s)", /* -L. -L%s/lib-%s */ 
+  sprintf(compil_str, "(cd %s ; pwd ; libtool --mode=link %s %s -module -shared -o %s %s -rpath /tmp)", /* -L. -L%s/lib-%s */ 
 	   temporary_dir, compiler, casc_cflags, /*systemc_dir, target_arch,*/ 
      target_name, source_name);
Index: sources/src/global_functions.cc
===================================================================
--- sources/src/global_functions.cc	(revision 35)
+++ sources/src/global_functions.cc	(revision 36)
@@ -229,5 +229,5 @@
   sprintf(lib_absolutepath, "/tmp/%s.so", base_name);
 #elif defined(CONFIG_OS_LINUX)
-  sprintf(lib_absolutepath, "/tmp/%s.so", base_name);
+  sprintf(lib_absolutepath, "/tmp/.libs/%s.so.0", base_name);
 #else
   cerr << "ERROR\n"; exit (126);
