-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build failure on MacOS #5
Comments
|
The key difference between your setup and mine is that OpenGL::GLUT's Makefile.PL on mine finds "FREEGLUT", while yours finds AGL (near the top of the gist). That's Homebrew (I think Free)GLUT, which also pulls in a dependency on XQuartz. Since it's too much to ask for you to install Homebrew, FreeGLUT, and XQuartz, it looks to me like I need to get it working on AGL (the Apple-supplied OpenGL and GLUT), which really ought to work anyway. I'm actually a little baffled that's even really a "thing", but the Perl OpenGL stuff last got worked on about 10 years ago, and I suspect the MacOS world has improved its availability of OpenGL/GLUT since. |
When I build PDL 2.090 (and prior versions as well) on my Mac, during the Makefile.PL stage I get warnings:
I think it comes from OpenGL-GLUT's Makefile.PL. In addition to the "improved availability" mentioned above, it's likely that the frameworks have moved around substantially on MacOS since that Makefile.PL was written. See for example the question, answer, and updated answers to this Stack Overflow question (which is about the headers, not the libraries). I'm not using the OpenGL or PDL::Graphics::TriD so this is not too important to me, but since I did the digging I figured I'd post the links here so that they are easily found later. |
Thank you for making the effort! I haven't forgotten about this issue. |
I fail to compile OpenGL::GLUT. |
@oalders @d-lamb @goosh-gh I've just released 0.7201, which incorporates the fix in Perl-GPU/OpenGL-GLUT#11 and I think should fix this for all of you. Could you please try it, and say here whether it did in fact work for you? |
Sorry for a long reply, hoping this helps you!!
OpenGL Test App (using hires timer) Using POGL v0.70 Installed extensions (* implemented in the module):
Using POGL v0.7 |
@goosh-gh If it's possible to upgrade to Perl 5.40, that should show far fewer warnings, which might let us see warnings which actually matter, since whatever's going wrong here is probably something simple the compiler knows about. Separately from that, the second case is actually quite good because we should be able to see exactly where it's crashing. Could you look at Perl-GPU/OpenGL-GLUT#8 to see instructions for how to build with |
Unfortunately, perl5.40.1 using perlbrew does not reduce warning with my environment (e.g. more than 5000 lines with "Wcompound-token-split-by-macro" while make), sorry I do not know the reason. I tried -d option with the test.pl as follows: Loading DB routines from perl5db.pl version 1.80 Enter h or 'h h' for help, or 'man perldebug' for more help. main::(test.pl:4): my $stat = OpenGL Test App (using hires timer) Using POGL v0.7002 Installed extensions (* implemented in the module):
Using POGL v0.7002 . . . Anything else I can do? If we need gdb enabled perl5.40.1, I will newly install it! |
Yes. The Perl version doesn't matter, don't worry. I'm still asking you to do the steps in the first comment (mine) on Perl-GPU/OpenGL-GLUT#8, and say here what the backtrace is. I requested that in my last comment here. It is still what I am asking. |
|
Apologies, I forgot that MacOS is much better with
Regarding |
|
As noted in the above-linked commit, all this time |
I re-downloaded the pogl-master today, and tried using lldb (provided by Apple at /usr/bin/lldb, instead of /opt/local/bin/lldb-19, provided by MacPorts and I used above) with the "second case" machine. The results including back trace follow (looks like basically the same?).
Is there anything else I can do to clarify the situation? |
You'll notice you're referring to You may think it's confusing and/or redundant to have two similar but not identical things. I do too, and will soon be reunifying them; but I want to get them both working properly first, which involves finding and fixing various bugs. This has included adding error-checking (which you'd think was important in a test program), which caught the wrong enum being passed, since about 2008. |
Another thing I intend to do on MacOS is to get it finding the "frameworks" as Derek highlighted; this is because the current Makefile.PL treats all of the things returned by its lib-finding function should be prefixed with |
I think I'm different hardware now, so I tested this on a newer and older iMac and both of them installed cleanly. Both are running 5.40.0 |
Transferring this to |
(
While the lldb session, I can see a separate window titled "OpenGL Test App" is successfully opened but it shows nothing |
@goosh-gh Thank you for sticking with this! I didn't fully spell it out, but will here: OpenGL::GLUT is now just part of this repo, which should simplify things a bit. The above stacktrace says to me that what's now crashing is nothing to do with GLUT, and is just Line 1624 in ed2bcc3
My latest ask is: can you please run Then, doing |
I am not sure the above process is what you really want. FYI, Anything else I can do? |
@goosh-gh The error you're getting resembles that in https://www.reddit.com/r/opengl/comments/gimkve/comment/fqha41s/ especially the address (0x3b0). That implies that a I note you're using MacPorts, which as discussed elsewhere isn't fantastic at keeping up with the latest versions of things. Are you able to switch to Homebrew, which to my mind is far superior? If not, please can you say what versions you have of:
The last one is especially important because I think with FreeGLUT as it currently is (though there's movement to actually support Cocoa, i.e. native MacOS) it uses Mesa, which uses XQuartz and this might be a bug in older Mesa that's now fixed. But first could you please start over but having installed the latest ExtUtils::MakeMaker? That has fixes for |
MacPorts latest is 24.3.4 (https://ports.macports.org/port/mesa/details/). Let's see what version we're dealing with on @goosh-gh's system! |
This machine has some old setup, as described above as the "second case". |
That's quite an old version of MacOS - I have 15.3 here. Is it possible at all to try all this code on a newer MacOS version? Or at least, with Homebrew versions of these programs rather than the MacPorts versions? EDIT And to be clear, you're still getting the same results with the latest EUMM? |
On the "first case" above;
stucks here and does not return to the command prompt, so I cannot try lldb here as reported above. But I can examine GL_VERSION after make finished;
|
@goosh-gh Could I ask you to try installing OpenGL::Modern on your two machine? That uses GLEW-like semantics and may avoid this problem. That's partly motivated because PDL is about to switch to using GLFW and OpenGL::Modern, and I aim to switch this distro over to using OpenGL::Modern "under the hood" also, so this will give me early warning of whether these problems will exist in that scenario too. |
https://gist.githubusercontent.com/oalders/bf99678279926568fdd02d574705489d/raw/bb556d5652585558f89e53c0c03bbf20971b60c1/gistfile1.txt shows:
The text was updated successfully, but these errors were encountered: