Help compiling library that needs glIsBuffer
-
Hello,
I am trying to compile the following library from github: github
without a lot much luck....
I am not experienced with compiling and there are several issues regarding the compilation without much solution sadly. while compiling I am having errors that from what I could found in google are related to QT 5 (and from the open issues in the git)
error: ‘glBindBuffer’ was not declared in this scope; did you mean ‘glReadBuffer’?
I would like to succesfully compile this code, from my understanding I should compile QT 5, to be able at least to surpass this error of the compilation.
so I should:
my OS is tuxedo OS 2 (ubuntu based)- download the last QT 5 vr (https://download.qt.io/official_releases/qt/5.15/), I imagine that the tar file and last version so 5.15.11
- untar the file
tar -xf qt-everywhere-opensource-src-5.15.11.tar.xz
- enter
cd folder
the folder and configure it./configure -prefix $PWD/qtbase -opensource -nomake tests
- and make it
make -j 4
- re run the compilation of the soft I am looking to compile.
I am right? or should I do something more? I am a little bit lost with this, specially that there is qt everywhere? I am using kde, which is based in qt, I dont want to mess with anything important so, prefere to ask before doing....
thanks in advance -
@SGaist
Hello, thanks for your answer,
here is the complete log of themake -j4
command log , sorry I dont have enough privilage to upload the text file.you are right (I think) as I also have errors regarding
glPointParameterfv
(even if also the previous error is still there). now next step finding how to solve this... :/ -
@otaolafr said in Help compiling library that needs glIsBuffer:
sorry I dont have enough privilage to upload the text file
No need to upload everything, just copy paste relevant part.
-
@jsulm hello,
well, there are several errors:
../lib/vcg/wrap/gl/trimesh.h:182:67: error: ‘glDeleteBuffersARB’ was not declared in this scope 182 | glDeleteBuffersARB(1, (GLuint *)(array_buffers+i)); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/vcg/wrap/gl/trimesh.h:181:54: error: ‘glIsBuffer’ was not declared in this scope; did you mean ‘glReadBuffer’? 181 | if(glIsBuffer(GLuint(array_buffers[i]))) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | glReadBuffer
../lib/vcg/wrap/gl/trimesh.h:392:53: error: ‘glBindBuffer’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] 392 | glBindBuffer(GL_ARRAY_BUFFER, 0); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
../lib/vcg/wrap/gl/trimesh.h:665:51: error: ‘glPointParameterfv’ was not declared in this scope; did you mean ‘glTexParameterfv’? 665 | glPointParameterfv( GL_POINT_DISTANCE_ATTENUATION, quadratic ); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | glTexParameterfv
../lib/vcg/wrap/gl/trimesh.h:666:50: error: ‘glPointParameterf’ was not declared in this scope; did you mean ‘glTexParameterf’? 666 | glPointParameterf( GL_POINT_SIZE_MAX, 16.0f ); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | glTexParameterf
./tracing_field/anisotropic_geodesic.h:54:41: error: declaration of ‘typedef class BaseGeodesicNode<typename MeshType::CoordType> AnisotropicQuery<MeshType>::BaseGeodesicNode’ changes meaning of ‘BaseGeodesicNode’ [-fpermissive] 54 | typedef BaseGeodesicNode<CoordType> BaseGeodesicNode;
./tracing_field/anisotropic_geodesic.h:53:30: error: declaration of ‘typedef struct Path<typename MeshType::ScalarType> AnisotropicQuery<MeshType>::Path’ changes meaning of ‘Path’ [-fpermissive] 53 | typedef Path<ScalarType> Path; | ^~~~
./tracing_field/anisotropic_geodesic.h:36:40: error: declaration of ‘typedef class AnisotropicGraph<MeshType> AnisotropicQuery<MeshType>::AnisotropicGraph’ changes meaning of ‘AnisotropicGraph’ [-fpermissive] 36 | typedef AnisotropicGraph<MeshType> AnisotropicGraph; | ^~~~~~~~~~~~~~~~
./tracing_field/graph/anisotropic_graph.h:58:41: error: declaration of ‘typedef class BaseGeodesicNode<typename MeshType::CoordType> AnisotropicGraph<MeshType>::BaseGeodesicNode’ changes meaning of ‘BaseGeodesicNode’ [-fpermissive] 58 | typedef BaseGeodesicNode<CoordType> BaseGeodesicNode; | ^~~~~~~~~~~~~~~~
and make stops with this message:
make: *** [Makefile:1865: glwidget.o] Error 1
-
@SGaist said in Help compiling library that needs glIsBuffer:
From a quick look, it includes dependencies that are also making raw OpenGL calls that could be the source of your issue.
sorry to ask a maybe dump question, but if thats the case how should I procede?
best regards -
@otaolafr
The first thing to do is to check whether these dependencies have other dependencies required that were not documented.Next is to update these dependencies to a more recent version to see if they where fixed in between.
If it does not help (or other side effects have appeared), you might need to modify them to get them to build.
-
@SGaist Hello Gaist,
the thing is, I am not even sure how/what dependencies to update...
in the dependencies it mentions: Qt, tetGen, CinoLib, VcgLib and AntTweakBar1.1
normally I have them nevertheless the issue remains. from the issue, it looks like several people are having problems with and that is qt/openGL related, but not even sure if it is a openGL that is compiled with qt or something outside of it... I am a little bit lost