"not declared" is a compiler error. A linker error would be "undefined reference" or "unresolved symbol".
To get OpenGL 3 functions you need to include (after downloading it) gl3.h, and enable GL 3 functions prototypes with the GL3_PROTOTYPES macros. Do this only if the OpenGL library that you link to your application is recent enough and has these functions -- otherwise you'll get linker errors this time
You can check if you have a GL 3 library easily: check the major version number of libGL.so. It needs to be at least 3 (libGL.so.3 for example).
If you have a libGL.so.1 or .2, you'll have to get and use these functions through extensions instead. Have a look at GLEW or GLEE, they allow to use extensions almost the same way as core functions.