gcc foo.c -o foo -L. -llua -lm ./liblua.a(loadlib.o): In function `ll_loadfunc': loadlib.c:(.text+0x8e7): undefined reference to `dlsym' loadlib.c:(.text+0x8f4): undefined reference to `dlerror' loadlib.c:(.text+0x9cc): undefined reference to `dlopen' loadlib.c:(.text+0x9e1): undefined reference to `dlerror' ./liblua.a(loadlib.o): In function `gctm': loadlib.c:(.text+0xfee): undefined reference to `dlclose' collect2: ld returned 1 exit status