paroj / gltut

Learning Modern 3D Graphics Programming
https://paroj.github.io/gltut/
MIT License
1.57k stars 377 forks source link

make problems in Scene.cpp #48

Closed paroj closed 8 years ago

paroj commented 12 years ago

Originally reported by: Russell Lundberg (Bitbucket: rlundberg, GitHub: Unknown)


Hi Jason,

Thanks for the tremendous effort you've put into these tutorials.

I'm having trouble building the package. I've tried with both the 0.3.8 and 0.3.7 packages.

I'm using Windows 7 Ultimate 64-bit, Build environment is Cygwin/MinGW g++, presently from the command line, not using an IDE.

Before I copy the lengthy errors into this post let me ask a procedural question.

Is this the step-by-step procedure to build a package? 1) in the glsdk directory, run "premake4 gmake" (this works on my system) 2) run make (this is not successful on my system.) 3) change to "Tut 01..." directory. 4) run "premake4 gmake" (this works on my system) 5) run "make" (this is not successful on my system.)

If these are the proper steps to follow then there is a problem that needs to be resolved.

Many thanks again for the wonderful tutorials.

Russell


paroj commented 12 years ago

Original comment by Russell Lundberg (Bitbucket: rlundberg, GitHub: Unknown):


Jason,

I switched my environment to Visual Studio 2010, followed the instructions and the tutorials run. Yay!

Clearly the trouble I was having was of my own making. Quite a learning curve, but great fun.

I experienced one issue building, but I'll start a separate thread for that. Never mind. The issue related to the file glsdk/glm/glm/gtc/type_ptr.inl. But you've previously addressed that. Apparently my Windows zip extractor, IZArc, mishandles zero length files in the archive. Thank-you, Google.

Many thanks for your help.

Russell

paroj commented 12 years ago

Original comment by Russell Lundberg (Bitbucket: rlundberg, GitHub: Unknown):


Thanks Jason. I conclude the same: something is making the build think the environment is UNIX.

I can manually force use of the MinGW GNU make, but it generates the same errors, can't find GL/glx.h.

Next I'll try putting MinGW in the PATH ahead of cygwin.

I'm quite impressed with the quality of the tutorial text. I'm up to chapter 4. Very well-written and understandable. Makes me even more excited to get the examples running.

I'll press on.

paroj commented 12 years ago

Original comment by Jason McKesson (Bitbucket: alfonse, GitHub: alfonse):


I don't know how Cygwin works, but it seems to have convinced Premake that it is trying to build for Linux/etc rather than Windows. Hence the search for X11 stuff.

I have no idea why that happens or how to correct it with Cygwin. I only test the gmake build under actual Linux, but I can't find anything in the Premake scripts that would cause a Windows gmake build to try to include X11 stuff.

I would suggest trying Code::Blocks and MingW instead, rather than a Cygwin shell.

paroj commented 12 years ago

Original comment by Russell Lundberg (Bitbucket: rlundberg, GitHub: Unknown):


Thanks Jason,

"premake4 gmake" runs successfully in the glsdk directory.

then "make config=debug" yields these errors:

$ make config=debug ==== Building glload (debug) ==== Creating Debug gll_c.c gll_gl_ext.c source/gll_gl_ext.c:251:26: GL/glx.h: No such file or directory source/gll_gl_ext.c: In function gleIntLoad_3DFX_tbuffer': source/gll_gl_ext.c:1086: error:glXGetProcAddressARB' undeclared (first use in this function) source/gll_gl_ext.c:1086: error: (Each undeclared identifier is reported only once source/gll_gl_ext.c:1086: error: for each function it appears in.) source/gll_gl_ext.c: In function gleIntLoad_AMD_debug_output': source/gll_gl_ext.c:1110: error:glXGetProcAddressARB' undeclared (first use in this function) source/gll_gl_ext.c: In function gleIntLoad_AMD_draw_buffers_blend': source/gll_gl_ext.c:1138: error:glXGetProcAddressARB' undeclared (first use in this funct

The complete log of build errors is attached.

The errors seem to indicate GL/glx.h cannot be found. I don't see the glx.h anywhere within the tutorials package. Should it be installed separately on my machine? Should a #define pragma prevent it from being sought at all on Windows?

My environment is Windows 7 Ultimate 64-bit, using cygwin gmake.

Thanks,

Russell

paroj commented 12 years ago

Original comment by Jason McKesson (Bitbucket: alfonse, GitHub: alfonse):


"Is this the step-by-step procedure to build a package?"

Yes (more or less. The instructions don't say to use "make". They say to use "make config=", where \ is "debug" or "release"). It really would have saved everyone time if you'd just said what build errors you get.