Thursday, June 03, 2010

How to deal with condor symlink error in new Rocks

For errors like the following:

/usr/lib/ruby/1.8/fileutils.rb:338:in `symlink': File exists - /afs/cs.wisc.edu/p/multifacet/users/wang/rocks_base/new_rocks/gem5/build/LIBRUBY_MOESI_CMP_directory/libm5_fast.so or /afs/cs.wisc.edu/p/multifacet/users/wang/rocks_base/new_rocks/gem5/build/LIBRUBY_MOESI_CMP_directory/ruby.so (Errno::EEXIST)
        from /usr/lib/ruby/1.8/fileutils.rb:338:in `ln_s'
        from /usr/lib/ruby/1.8/fileutils.rb:1395:in `fu_each_src_dest0'
        from /usr/lib/ruby/1.8/fileutils.rb:336:in `ln_s'
        from /usr/lib/ruby/1.8/fileutils.rb:359:in `ln_sf'
        from /afs/cs.wisc.edu/p/multifacet/users/wang/rocks_base/new_rocks/rocks:145
/usr/bin/ruby: symbol lookup error: /afs/cs.wisc.edu/p/multifacet/users/wang/rocks_base/new_rocks/bochs/bx-ruby-fast/bochs.so: undefined symbol: _Z15libruby_destroyv

I need to add two lines in the condor.rb file:

              softlink_cmd = "ln -s #{root}/../gem5/build/LIBRUBY_MESI_CMP_directory/libm5_fast.so #{workload_output}/ruby.so"
              rm_softlink = "rm -f #{workload_output}/ruby.so"
              puts rm_softlink
              puts softlink_cmd
              system(rm_softlink)
              system(softlink_cmd)

No comments: