cs50 / libcs50

This is CS50's Library for C.
https://cs50.readthedocs.io/libraries/cs50/c/
GNU General Public License v3.0
1.74k stars 853 forks source link

Readme Troubleshooting Update Suggestion #312

Open jdjphoto opened 9 months ago

jdjphoto commented 9 months ago

When users attempt to include the cs50.h header for C on Fedora 39 via command make -lcs50 phonebook they will run into the following output:

cc phonebook.c -o phonebook /usr/bin/ld: /tmp/ccYgcD5t.o: in function `main': phonebook.c:(.text+0x18): undefined reference to `get_string' /usr/bin/ld: phonebook.c:(.text+0x2b): undefined reference to `get_int' /usr/bin/ld: phonebook.c:(.text+0x42): undefined reference to `get_string' collect2: error: ld returned 1 exit status make: *** [<builtin>: phonebook] Error 1

The error listed in in README.md; error while loading shared libraries: libcs50.so.8: cannot open shared object file: No such file or directory won't be encountered unless they've attempt to compile with: gcc -lcs50 phonebook.c -o phonebook which they likely won't know to attempt during the Week 1 - Supersection lecture without having done C tutorials elsewhere.

Fedora users should probably be directed to add export LD_LIBRARY_PATH=/usr/local/lib to the bottom of .bashrc during the extract/install process as problems like this are very common in Fedora and its documentation and online help is limited.