ปัญหาการใช้ Cafe grader ที่พบบ่อย/กรุ

จาก Theory Wiki
รุ่นแก้ไขเมื่อ 13:21, 5 กรกฎาคม 2555 โดย 58.11.155.185 (คุย) (หน้าที่ถูกสร้างด้วย 'หลังจากรัน script ตามปกติ จะมีปัญหาในคำสั่ง sudo rake gems:install ...')
(ต่าง) ←รุ่นแก้ไขก่อนหน้า | รุ่นแก้ไขล่าสุด (ต่าง) | รุ่นแก้ไขถัดไป→ (ต่าง)
ไปยังการนำทาง ไปยังการค้นหา

หลังจากรัน script ตามปกติ จะมีปัญหาในคำสั่ง sudo rake gems:install 1) WARNING: 'require 'rake/rdoctask is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead เกิดจาก rake ถ้า downgrade เป็น 0.8.3 warning จะหาย (เปลี่ยนจาก sudo apt-get install rake เป็น sudo gem install rake --version=0.8.3) แต่ดูจาก solution อื่นๆแล้ว เหมือนว่าการทำอย่างนี้เป็นแค่การซ่อน warning ? อันนี้ผมไม่รู้เหมือนกัน

    • ผมลองติดดูโดยไม่ได้ downgrade rake ก็พบว่าลงได้ตามปกติครับ = =" **

http://stackoverflow.com/questions/7993162/i-have-still-rake-rdoctask-deprecated-warning

2) Uninitialized constant ActiveSupport::Dependencies::Mutex (NameError) ใส่ require 'thread' ก่อนบรรทัด require File.join(File.dirname(__FILE__), 'boot') ในไฟล์ Rakefile, script/server, config/environment.rb http://stackoverflow.com/questions/5176782/uninitialized-constant-activesupportdependenciesmutex-nameerror

3) rake aborted! undefined method `name' for "actionmailer":String เกิดจาก rubygems ถ้า downgrade เป็น 1.6.2 จะไม่มีปัญหา (sudo gem install rubygems-update -v 1.6.2 && sudo update_rubygems) การ downgrade rubygems ทำให้ gem ที่เคยลงมาหายหมด http://www.redmine.org/issues/8325

หลังจากลง rails ใหม่ คราวนี้ก็เรียบร้อยไม่พบปัญหาอะไรอีกครับ

สำหรับบางเครื่อง หลังติดตั้งไปไม่สามารถ start grader in grading env ได้ (กดแล้วไม่มี grader ขึ้นมาเลย) อาจเป็นเพราะปัญหา Uninitialized constant ActiveSupport::Dependencies::Mutex (NameError) จากไฟล์ cafe_grader/judge/scripts/config/environment.rb วิธีแก้ก็เหมือนกันเลยคือใส่ require 'thread'

สำหรับปัญหา error during grading อาจเกิดจากปัญหาว่า box ไม่สามารถ copy output ออกมาได้ วิธีแก้ที่นำมาบอกนั้น ไม่แนะนำเป็นอย่างยิ่ง แต่แก้ปัญหาได้ คือเปลี่ยน parameter ของ box จาก box -a 2 เป็น box -a 9 ในไฟล์ cafe_grader/judge/scripts/std-script/run (บรรทัด run_command = "#{problem_home}.....") อย่างไรก็ตาม ไม่รับประกันผล/ปัญหาใดๆที่จะเกิดตามมาจากการแก้ด้วยวิธีนี้