eecs280staff / tutorials

Tools and tutorials
https://eecs280staff.github.io/tutorials/
Other
5 stars 4 forks source link

Add Module Load gcc to CAEN Tutorial #105

Closed TheOmid closed 1 year ago

TheOmid commented 1 year ago

Students might encounter issues when trying to compile their project on CAEN because of a different gcc. Can we add this to the CAEN tutorial so they won't run into this problem? echo "module load gcc/7.1.0" >> ~/.bash_profile

In the Winter of 2022, quite a few students ran into this issue. I think it will be a nice addition. @awdeorio

awdeorio commented 1 year ago

I'm seeing GCC 8.5 on CAEN Linux. Am I missing something?

$ hostname
caen-vnc-mi10.engin.umich.edu
$ which g++
/bin/g++
$ g++ --version
g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10)
TheOmid commented 1 year ago

In some cases, students have a different g++ version, so their make returns errors such as /usr/bin/ld: cannot find /usr/lib64/libubsan.so.1.0.0 collect2: error: ld returned 1 exit status make: *** [Makefile:36: processing_public_tests.exe] Error 1

Loading g++ 7.1.0 fixes this issue. I am not sure what g++ version is causing this error, but I can look more into it. Is autograder also 8.5.0?

awdeorio commented 1 year ago

Did you make clean ?

TheOmid commented 1 year ago

I am not able to recreate this issue on CAEN either because my gcc version is 8.5.0 as well. I know for students that face this issue, make clean doesn't work and the only solution is to ask them to change their gcc version (I have seen this in EECS 280 and EECS 482). All students should probably have the same gcc version on CAEN so I am not sure why the student had that issue.

Maybe it's better to have it as an OH FAQ, and not on our tutorials.

awdeorio commented 1 year ago

I must be missing something. I'd be happy to update the tutorial once I understand the problem. A code base should compile with any modern-ish version of GCC. Maybe there's something about CAEN Linux in particular that is broken? Please reopen this issue if you can reproduce!