--- lib/Parrot/Install.pm	2009-07-29 16:30:43.000000000 +0200
+++ lib/Parrot/Install.pm.new	2009-07-29 16:54:37.000000000 +0200
@@ -226,6 +226,23 @@
         else {
             next unless -e $src;
             next if $^O eq 'cygwin' and -e "$src.exe"; # stat works, copy not
+            # cautious creating of symlink to protect the installation from
+            # aborting with a fatal runtime error
+            eval {
+                if (-l $src) { 
+                    # check if the system supports symbolic linking 
+                    use Config; 
+                    if ($Config{d_symlink} && $Config{d_readlink}) { 
+                    # copy as symbolic link 
+                        symlink(readlink($src), $dest); 
+                        print "$dest\n"; 
+                        next; 
+                    } 
+                }
+            };
+            warn $@,
+                 "\"$dest\" will created as copy, because symlinks\n",
+                 "are not supported in the destination directory\n" if ($@);
             copy( $src, $dest ) or die "Error: couldn't copy $src to $dest: $!\n";
             print "$dest\n";
         }
