Convert shader from GLsl 1.50 to 1.30 I'm a newbie with OpenGl and I'm stuck in following the tutorial. 
I found this tutorial with these shaders

// Shader sources
const GLchar* vertexSource = R"glsl(
    #version 150 core
    in vec2 position;
    in vec3 color;
    in vec2 texcoord;
    out vec3 Color;
    out vec2 Texcoord;
    void main()
    {
        Color = color;
        Texcoord = texcoord;
        gl_Position = vec4(position, 0.0, 1.0);
    }
)glsl";
const GLchar* fragmentSource = R"glsl(
    #version 150 core
    in vec3 Color;
    in vec2 Texcoord;
    out vec4 outColor;
    uniform sampler2D tex0;
    void main()
    {
        outColor = texture(tex0, Texcoord) * vec4(Color, 1.0);
    }
)glsl";


I noticed that the proposed shaders couldn't compile in my computer, since my GLsl version is 1.30, but changing the version declaration into

#version 130 core


the ouput of this instruction is glGetShaderInfoLog(vertexShader, 512, NULL, infoLog);


  0:2(10): error: illegal text following version number


I wuould like to understand what is wrong in this shader (in version 1.30) or at least where to find enough information to "repair" this situation.
Thanks

#UPDATE 1
I managed to have compiling shaders with no errors, but still the program does not work.

// Shader sources
//in --&gt; attribute
//out --&gt; varying
const GLchar* vertexSource = R"glsl(
    #version 130
    attribute vec2 position;
    attribute vec3 color;
    attribute vec2 texcoord;
    varying vec3 Color;
    varying vec2 Texcoord;
    void main()
    {
        Color = color;
        Texcoord = texcoord;
        gl_Position = vec4(position, 0.0, 1.0);
    }
)glsl";

//in --&gt; varying
//out --&gt; (delete)
const GLchar* fragmentSource = R"glsl(
    #version 130
    varying vec3 Color;
    varying vec2 Texcoord;
    uniform sampler2D tex0;
    void main()
    {
       gl_FragColor = texture2D(tex0, Texcoord) * vec4(Color, 1.0);
    }
)glsl";


I used some functions like this to confirm that shaders are successfully compiled and linked

int success; char infoLog[512];
glGetShaderiv(vertexShader, GL_COMPILE_STATUS, &amp;success); 
//can also use GL_LINK_STATUS flag
if(!success)
{
    glGetShaderInfoLog(vertexShader, 512, NULL, infoLog);
    std::cout &lt;&lt; "ERROR::SHADER::VERTEX::COMPILATION_FAILED\n" &lt;&lt; infoLog &lt;&lt; std::endl;
    std::cout &lt;&lt;  glGetString(GL_SHADING_LANGUAGE_VERSION) &lt;&lt; std::endl;
    std::cout &lt;&lt;  success &lt;&lt; std::endl;
};
There is no such thing as a core profile in GLSL 1.30. The concept of API profiles was introduced with OpenGL 3.2 which happened after GLSL 1.30 was released. The syntax for the version specification in GLSL 1.30 is 

#version &lt;number&gt;


Apart from that, I highly recommend that you check to confirm that GLSL 1.30 really is the maximum version you're supposed to be able to use on your system. It seems not unlikely that you just don't have a proper OpenGL driver installed. Even software implementations like MESA support more recent versions than that these days…