scottdraves / electricsheep

infinite evolving crowdsourced artwork
http://electricsheep.org
561 stars 70 forks source link

Compiler error on Linux Mint 19.1 #83

Open luiztsmendes opened 5 years ago

luiztsmendes commented 5 years ago

Platform: Linux Mint 19.1 64bits. All required dependencies (wxwidgets, flam3, glee) already successfully installed. Then the make command gives

../DisplayOutput/OpenGL/ShaderGL.cpp: In destructor ‘virtual DisplayOutput::CShaderGL::~CShaderGL()’: ../DisplayOutput/OpenGL/ShaderGL.cpp:41:3: error: ‘glDeleteObjectARB’ was not declared in this scope glDeleteObjectARB( m_VertexShader ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:41:3: note: suggested alternative: ‘glDeleteTextures’ glDeleteObjectARB( m_VertexShader ); ^~~~~ glDeleteTextures ../DisplayOutput/OpenGL/ShaderGL.cpp:44:3: error: ‘glDeleteObjectARB’ was not declared in this scope glDeleteObjectARB( m_FragmentShader ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:44:3: note: suggested alternative: ‘glDeleteTextures’ glDeleteObjectARB( m_FragmentShader ); ^~~~~ glDeleteTextures ../DisplayOutput/OpenGL/ShaderGL.cpp:47:3: error: ‘glDeleteObjectARB’ was not declared in this scope glDeleteObjectARB( m_Program ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:47:3: note: suggested alternative: ‘glDeleteTextures’ glDeleteObjectARB( m_Program ); ^~~~~ glDeleteTextures ../DisplayOutput/OpenGL/ShaderGL.cpp: In member function ‘virtual bool DisplayOutput::CShaderGL::Bind()’: ../DisplayOutput/OpenGL/ShaderGL.cpp:55:2: error: ‘glUseProgramObjectARB’ was not declared in this scope glUseProgramObjectARB( m_Program ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp: In member function ‘virtual bool DisplayOutput::CShaderGL::Unbind()’: ../DisplayOutput/OpenGL/ShaderGL.cpp:82:2: error: ‘glUseProgramObjectARB’ was not declared in this scope glUseProgramObjectARB( 0 ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp: In member function ‘virtual bool DisplayOutput::CShaderGL::Build(const char, const char)’: ../DisplayOutput/OpenGL/ShaderGL.cpp:128:14: error: ‘glCreateProgramObjectARB’ was not declared in this scope m_Program = glCreateProgramObjectARB(); ^~~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:133:20: error: ‘glCreateShaderObjectARB’ was not declared in this scope m_VertexShader = glCreateShaderObjectARB( GL_VERTEX_SHADER_ARB ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:136:3: error: ‘glShaderSourceARB’ was not declared in this scope glShaderSourceARB( m_VertexShader, strIndex + 1, shaderStrings, NULL ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:136:3: note: suggested alternative: ‘glShadeModel’ glShaderSourceARB( m_VertexShader, strIndex + 1, shaderStrings, NULL ); ^~~~~ glShadeModel ../DisplayOutput/OpenGL/ShaderGL.cpp:137:3: error: ‘glCompileShaderARB’ was not declared in this scope glCompileShaderARB( m_VertexShader ); ^~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:138:3: error: ‘glGetObjectParameterivARB’ was not declared in this scope glGetObjectParameterivARB( m_VertexShader, GL_OBJECT_COMPILE_STATUS_ARB, &vsResult ); ^~~~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:138:3: note: suggested alternative: ‘glGetTexParameteriv’ glGetObjectParameterivARB( m_VertexShader, GL_OBJECT_COMPILE_STATUS_ARB, &vsResult ); ^~~~~~~~~ glGetTexParameteriv ../DisplayOutput/OpenGL/ShaderGL.cpp:140:4: error: ‘glAttachObjectARB’ was not declared in this scope glAttachObjectARB( m_Program, m_VertexShader ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:144:3: error: ‘glGetInfoLogARB’ was not declared in this scope glGetInfoLogARB( m_VertexShader, sizeof(infoLog) - static_cast(infoLogPos), &len, infoLog + infoLogPos ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:144:3: note: suggested alternative: ‘glGetIntegerv’ glGetInfoLogARB( m_VertexShader, sizeof(infoLog) - static_cast(infoLogPos), &len, infoLog + infoLogPos ); ^~~~~~~ glGetIntegerv ../DisplayOutput/OpenGL/ShaderGL.cpp:154:22: error: ‘glCreateShaderObjectARB’ was not declared in this scope m_FragmentShader = glCreateShaderObjectARB( GL_FRAGMENT_SHADER_ARB ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:157:3: error: ‘glShaderSourceARB’ was not declared in this scope glShaderSourceARB( m_FragmentShader, strIndex + 1, shaderStrings, NULL ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:157:3: note: suggested alternative: ‘glShadeModel’ glShaderSourceARB( m_FragmentShader, strIndex + 1, shaderStrings, NULL ); ^~~~~ glShadeModel ../DisplayOutput/OpenGL/ShaderGL.cpp:158:3: error: ‘glCompileShaderARB’ was not declared in this scope glCompileShaderARB( m_FragmentShader ); ^~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:159:3: error: ‘glGetObjectParameterivARB’ was not declared in this scope glGetObjectParameterivARB( m_FragmentShader, GL_OBJECT_COMPILE_STATUS_ARB, &fsResult ); ^~~~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:159:3: note: suggested alternative: ‘glGetTexParameteriv’ glGetObjectParameterivARB( m_FragmentShader, GL_OBJECT_COMPILE_STATUS_ARB, &fsResult ); ^~~~~~~~~ glGetTexParameteriv ../DisplayOutput/OpenGL/ShaderGL.cpp:161:4: error: ‘glAttachObjectARB’ was not declared in this scope glAttachObjectARB( m_Program, m_FragmentShader ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:165:3: error: ‘glGetInfoLogARB’ was not declared in this scope glGetInfoLogARB( m_FragmentShader, sizeof(infoLog) - static_cast(infoLogPos), &len, infoLog + infoLogPos ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:165:3: note: suggested alternative: ‘glGetIntegerv’ glGetInfoLogARB( m_FragmentShader, sizeof(infoLog) - static_cast(infoLogPos), &len, infoLog + infoLogPos ); ^~~~~~~ glGetIntegerv ../DisplayOutput/OpenGL/ShaderGL.cpp:174:3: error: ‘glLinkProgramARB’ was not declared in this scope glLinkProgramARB( m_Program ); ^~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:174:3: note: suggested alternative: ‘glHistogram’ glLinkProgramARB( m_Program ); ^~~~ glHistogram ../DisplayOutput/OpenGL/ShaderGL.cpp:175:3: error: ‘glGetObjectParameterivARB’ was not declared in this scope glGetObjectParameterivARB( m_Program, GL_OBJECT_LINK_STATUS_ARB, &linkResult ); ^~~~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:175:3: note: suggested alternative: ‘glGetTexParameteriv’ glGetObjectParameterivARB( m_Program, GL_OBJECT_LINK_STATUS_ARB, &linkResult ); ^~~~~~~~~ glGetTexParameteriv ../DisplayOutput/OpenGL/ShaderGL.cpp:176:3: error: ‘glGetInfoLogARB’ was not declared in this scope glGetInfoLogARB( m_Program, sizeof(infoLog) - static_cast(infoLogPos), &len, infoLog + infoLogPos ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:176:3: note: suggested alternative: ‘glGetIntegerv’ glGetInfoLogARB( m_Program, sizeof(infoLog) - static_cast(infoLogPos), &len, infoLog + infoLogPos ); ^~~~~~~ glGetIntegerv ../DisplayOutput/OpenGL/ShaderGL.cpp:184:4: error: ‘glUseProgramObjectARB’ was not declared in this scope glUseProgramObjectARB( m_Program ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:198:5: error: ‘glGetActiveUniformARB’ was not declared in this scope glGetActiveUniformARB( m_Program, i, maxLength, &length, &size, &type, name ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:198:5: note: suggested alternative: ‘glActiveTextureARB’ glGetActiveUniformARB( m_Program, i, maxLength, &length, &size, &type, name ); ^~~~~ glActiveTextureARB ../DisplayOutput/OpenGL/ShaderGL.cpp:203:23: error: ‘glGetUniformLocationARB’ was not declared in this scope GLint location = glGetUniformLocationARB( m_Program, name ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:209:6: error: ‘glUniform1i’ was not declared in this scope glUniform1i( location, pos/nSamplers/ ); ^~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:209:6: note: suggested alternative: ‘Uniform’ glUniform1i( location, pos/nSamplers/ ); ^~~ Uniform ../DisplayOutput/OpenGL/ShaderGL.cpp:255:64: error: ‘glGetUniformLocationARB’ was not declared in this scope m_Uniforms[ name ] = new CShaderUniformGL( name, eType, glGetUniformLocationARB( m_Program, name ), size ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:291:4: error: ‘glUseProgram’ was not declared in this scope glUseProgram( GL_NONE ); ^~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:291:4: note: suggested alternative: ‘m_Program’ glUseProgram( GL_NONE ); ^~~~ m_Program ../DisplayOutput/OpenGL/ShaderGL.cpp: In member function ‘virtual bool DisplayOutput::CShaderUniformGL::SetData(void, uint32)’: ../DisplayOutput/OpenGL/ShaderGL.cpp:314:53: error: ‘glUniform1fvARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Float ] = (void )glUniform1fvARB; ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:315:54: error: ‘glUniform2fvARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Float2 ] = (void )glUniform2fvARB; ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:316:54: error: ‘glUniform3fvARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Float3 ] = (void )glUniform3fvARB; ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:317:54: error: ‘glUniform4fvARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Float4 ] = (void )glUniform4fvARB; ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:318:51: error: ‘glUniform1ivARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Int ] = (void )glUniform1ivARB; ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:319:52: error: ‘glUniform2ivARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Int2 ] = (void )glUniform2ivARB; ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:320:52: error: ‘glUniform3ivARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Int3 ] = (void )glUniform3ivARB; ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:321:52: error: ‘glUniform4ivARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Int4 ] = (void )glUniform4ivARB; ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:326:55: error: ‘glUniformMatrix2fvARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Matrix2 ] = (void )glUniformMatrix2fvARB; ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:326:55: note: suggested alternative: ‘eUniform_Matrix2’ g_UniformFunctionList[ eUniform_Matrix2 ] = (void )glUniformMatrix2fvARB; ^~~~~ eUniform_Matrix2 ../DisplayOutput/OpenGL/ShaderGL.cpp:327:55: error: ‘glUniformMatrix3fvARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Matrix3 ] = (void )glUniformMatrix3fvARB; ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:327:55: note: suggested alternative: ‘eUniform_Matrix3’ g_UniformFunctionList[ eUniform_Matrix3 ] = (void )glUniformMatrix3fvARB; ^~~~~ eUniform_Matrix3 ../DisplayOutput/OpenGL/ShaderGL.cpp:328:55: error: ‘glUniformMatrix4fvARB’ was not declared in this scope g_UniformFunctionList[ eUniform_Matrix4 ] = (void )glUniformMatrix4fvARB; ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:328:55: note: suggested alternative: ‘eUniform_Matrix4’ g_UniformFunctionList[ eUniform_Matrix4 ] = (void )glUniformMatrix4fvARB; ^~~~~ eUniform_Matrix4 ../DisplayOutput/OpenGL/ShaderGL.cpp: In member function ‘virtual void DisplayOutput::CShaderUniformGL::Apply()’: ../DisplayOutput/OpenGL/ShaderGL.cpp:385:4: error: ‘glUniform1fvARB’ was not declared in this scope glUniform1fvARB( m_Index, m_Size, (const GLfloat )m_pData ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:388:4: error: ‘glUniform2fvARB’ was not declared in this scope glUniform2fvARB( m_Index, m_Size, (const GLfloat )m_pData ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:391:4: error: ‘glUniform3fvARB’ was not declared in this scope glUniform3fvARB( m_Index, m_Size, (const GLfloat )m_pData ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:394:4: error: ‘glUniform4fvARB’ was not declared in this scope glUniform4fvARB( m_Index, m_Size, (const GLfloat )m_pData ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:399:4: error: ‘glUniform1ivARB’ was not declared in this scope glUniform1ivARB( m_Index, m_Size, (const GLint )m_pData ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:403:4: error: ‘glUniform2ivARB’ was not declared in this scope glUniform2ivARB( m_Index, m_Size, (const GLint )m_pData ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:407:4: error: ‘glUniform3ivARB’ was not declared in this scope glUniform3ivARB( m_Index, m_Size, (const GLint )m_pData ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:411:4: error: ‘glUniform4ivARB’ was not declared in this scope glUniform4ivARB( m_Index, m_Size, (const GLint )m_pData ); ^~~~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:414:4: error: ‘glUniformMatrix2fvARB’ was not declared in this scope glUniformMatrix2fvARB( m_Index, m_Size, GL_TRUE, (const GLfloat )m_pData ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:414:4: note: suggested alternative: ‘eUniform_Matrix2’ glUniformMatrix2fvARB( m_Index, m_Size, GL_TRUE, (const GLfloat )m_pData ); ^~~~~ eUniform_Matrix2 ../DisplayOutput/OpenGL/ShaderGL.cpp:417:4: error: ‘glUniformMatrix3fvARB’ was not declared in this scope glUniformMatrix3fvARB( m_Index, m_Size, GL_TRUE, (const GLfloat )m_pData ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:417:4: note: suggested alternative: ‘eUniform_Matrix3’ glUniformMatrix3fvARB( m_Index, m_Size, GL_TRUE, (const GLfloat )m_pData ); ^~~~~ eUniform_Matrix3 ../DisplayOutput/OpenGL/ShaderGL.cpp:420:4: error: ‘glUniformMatrix4fvARB’ was not declared in this scope glUniformMatrix4fvARB( m_Index, m_Size, GL_TRUE, (const GLfloat )m_pData ); ^~~~~ ../DisplayOutput/OpenGL/ShaderGL.cpp:420:4: note: suggested alternative: ‘eUniform_Matrix4’ glUniformMatrix4fvARB( m_Index, m_Size, GL_TRUE, (const GLfloat *)m_pData ); ^~~~~ eUniform_Matrix4 Makefile:748: recipe for target 'ShaderGL.o' failed make[1]: *** [ShaderGL.o] Error 1

After googling for this error, I found only a Manjaro user who reported it and also got stuck.

Baggypants commented 5 years ago

Also occurring in Fedora 30.

malipivo commented 5 years ago

Hello, when installing electricsheep from git clone/source (SHA1 ID 4949c31cfdb0d4363cfa726aa3aa8325e540773f) on (X)Ubuntu 18.04.02, instead of "make" I ran: make CXXFLAGS+="-DGL_GLEXT_PROTOTYPES=1" or make CXXFLAGS+="-DGL_GLEXT_PROTOTYPES" or make CXXFLAGS+=-DGL_GLEXT_PROTOTYPES Now, it seems everything is working. Update: It has already been resolved in ArchLinux: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=electricsheep

RustyRaptor commented 4 years ago

ok but what caused this?