diff -Naur Singular-3-1-1/kernel/febase.cc Singular-3-1-1.new/kernel/febase.cc --- Singular-3-1-1/kernel/febase.cc 2009-06-22 13:16:57.000000000 -0400 +++ Singular-3-1-1.new/kernel/febase.cc 2009-08-20 22:31:06.000000000 -0400 @@ -739,13 +739,15 @@ char* dir_sep; struct passwd *pw_entry; strcpy (longpath, path); - dir_sep = strchr(longpath, DIR_SEP); + // TODO: fix the ugly casting away of const + dir_sep = const_cast ( strchr(longpath, DIR_SEP) ); *dir_sep = '\0'; pw_entry = getpwnam(&longpath[1]); if (pw_entry != NULL) { strcpy(longpath, pw_entry->pw_dir); - dir_sep = strchr((char *)path, DIR_SEP); + // TODO: fix the ugly casting away of const + dir_sep = const_cast ( strchr((char*)path, DIR_SEP) ); strcat(longpath, dir_sep); path = longpath; } diff -Naur Singular-3-1-1/kernel/mpr_complex.cc Singular-3-1-1.new/kernel/mpr_complex.cc --- Singular-3-1-1/kernel/mpr_complex.cc 2009-06-22 13:16:57.000000000 -0400 +++ Singular-3-1-1.new/kernel/mpr_complex.cc 2009-08-20 22:28:58.000000000 -0400 @@ -83,7 +83,8 @@ BOOLEAN neg=false; if (*in == '-') { in++; neg=TRUE; } char *s; - if ((s=strchr((char *)in,'E')) !=NULL) + /* TODO: fix the ugly casting away of const */ + if ((s = const_cast ( strchr(in,'E') )) !=NULL) { *s='e'; }