You can subscribe to this list here.
2000 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2002 |
Jan
(3) |
Feb
|
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2003 |
Jan
(2) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2004 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
2005 |
Jan
(1) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
|
Nov
|
Dec
(9) |
2006 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(2) |
May
(1) |
Jun
(6) |
Jul
|
Aug
|
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
2007 |
Jan
(17) |
Feb
|
Mar
(4) |
Apr
(1) |
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2009 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(3) |
Jun
(8) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(4) |
Sep
|
Oct
(12) |
Nov
(2) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
From: John T. <nu...@me...> - 2022-08-18 09:50:10
|
On Thu, Aug 18, 2022 at 03:52:56PM +0800, Paul Bourke wrote: > > xp_import_surface: assertion failed: s == NULL > error: xp_import_surface returned: 2 > xp_destroy_surface: assertion failed: s != NULL > xp_destroy_surface error: 3 > X Error of failed request: GLXBadContext > Major opcode of failed request: 149 (GLX) > Minor opcode of failed request: 26 (X_GLXMakeContextCurrent) > Serial number of failed request: 65 > Current serial number in output stream: 65 ... > Ideas? Not saying it's a bug, but certainly used to work in the past > on earlier versions of MacOS and Linux systems. It sounds like some bug in XQuartz which trips those assertions (xp_whatever are in XQuartz apparently) which then leads to the X error. I'd report this to the XQuartz developers. They probably have a better chance of figuring out what's going wrong. Especially if you can provide them with a minimal program which reproduces the problem. -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Paul B. <pau...@gm...> - 2022-08-18 07:53:56
|
I'm reviving some legacy code. Building against freeglut and all seems to work, except fullscreen mode where I use glutFullScreen(); I get the following errors on the terminal ... command line utility. xp_import_surface: assertion failed: s == NULL error: xp_import_surface returned: 2 xp_destroy_surface: assertion failed: s != NULL xp_destroy_surface error: 3 X Error of failed request: GLXBadContext Major opcode of failed request: 149 (GLX) Minor opcode of failed request: 26 (X_GLXMakeContextCurrent) Serial number of failed request: 65 Current serial number in output stream: 65 error: xp_attach_gl_context returned: 2 X Error of failed request: GLXBadContext Major opcode of failed request: 149 (GLX) Minor opcode of failed request: 26 (X_GLXMakeContextCurrent) Serial number of failed request: 67 Current serial number in output stream: 67 Ideas? Not saying it's a bug, but certainly used to work in the past on earlier versions of MacOS and Linux systems. -- Paul Bourke http://paulbourke.net Email: pau...@gm... Mobile: +61 433338325 |
From: John T. <nu...@me...> - 2019-10-23 08:53:29
|
On Wed, Oct 23, 2019 at 10:13:12AM +0200, Gerardo Raggi wrote: > Dear All, Hello, I have multiple problems with this. First and foremost. NEVER try to attach binaries to a mailing list. ANY mailing list. This one thankfully seems to be configured to not allow them through, which is why I can't see your figure 1 or your figure 2. If you want to post images, upload them somewhere and post links. Or use the bug tracker which allows you to upload attachments to a bug report. Second, don't try to report bugs before trying to build the library from source. We have no idea what modifications ubuntu "trusty" or "bionic" applied to freeglut, and we don't care to find out. Third, don't report bugs for an older version of the library. The problem, if indeed it was a bug in freeglut, might have been fixed since 2.8.1. > looks horrible gluspheres with holes gluSphere has nothing to do with GLUT or freeglut. GLU is a different library. > The project is OpenMolcas interface MolGUI if you want to check it out. No. Nobody is going to download and try a random program to figure out a bug. Write a short and self-contained, *minimal* program, which reproduces the bug, and we'll try that one. Finally, even though it's fine to report bugs in this list. It's preferable to use the bug tracker: https://sourceforge.net/p/freeglut/bugs/ Because most people don't follow this list, and because that way even if a problem is not fixed immediately, a record of it is kept, and it's easy to revisit it at a later date. In fact, if you really want to use a mailing list, I'd say it's preferable to report your issue to freeglut-developer. Many more people follow that one. -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Gerardo R. <gr...@gm...> - 2019-10-23 08:13:33
|
Dear All, I have a version of a user interface working with Ubuntu 14 Nvidia 340.106 (not sure which version of OpenGL perhaps 2.12) freeglut3/trusty 2.8.1-1 the graphics look fine like in fig 1 then I compiled the same version of the code in Ubuntu 18 Mesa 19.0.8 OpenGL 4.5 freeGLUT3/bionic 2.8.1-3 which looks horrible gluspheres with holes, strange shades and when I rotate the scene always put on top the last object inserted no matter the rotation like in fig 2. Do you think is a problem with freeglut? The project is OpenMolcas interface MolGUI if you want to check it out. any help will be appreciated. Many thanks Gerardo Raggi |
From: markus i. <mar...@se...> - 2017-10-24 08:01:23
|
Hello Dee, > Hi Markus, > > On Tue, Oct 17, 2017 at 10:02 AM, markus israelsson <mar...@se...> wrote: >> Dear Dee, >> >> Am I supposed to do bottompost? In that case I broke it here and will >> try to be better in the future. Habits are hard to break. Also, >> should I reply to the entire list or just you? >> > No, normal etiquette is to reply inline like i am doing here, makes it easy to know what you are responding to. >> >> I modified the shapes.c file to reproduce both issues actually. >> >> The first issue does not require any stereo setup to reproduce. Please >> let me know if you consider it a bug or misuse. It did work in >> freeglut 2.8.1 but not in 3.0.0. I compare those two versions because >> those are the ones we used, not because I have tracked down where in >> between those releases the approach stopped working. Same is true for the stereo setup below IIRC. >> > How all the window management is done has changed a lot in 3.0.0. > Also, the requirement to have a display callback is new but in line with GLUT. All that said, this is a bug. It makes no sense to require a display callback (or to do any window work) for a window that is to be destroyed anyway. I think this would error out even if you register a display callback before calling destroy. Its fixed in trunk. Great to know, thanks. >> >> >> The second issue do required that. There is something called NVidia 3d >> vision. I think it might be discontinued because it did not sell well >> and I should probably say "was something called". However it is still >> used in VR environments while waiting for the head mounted displays to >> become even better and cheaper. Either way, that one works on normal >> GeForce cards but only when an application is in fullscreen. I have >> not tested this with the Quadro card we have mainly because it is not >> installed in any of our systems. The example is minimally modified and >> does not use double buffer so the way to see whether it goes into >> stereo or not is simply to check if the nvidia 3d vision emitter >> lights up and the active stereo glasses start working. In freeglut 2.8.1 they do, in freeglut 3.0.0 they don't. > > Ah, i see that its after my last experience with 3D vision that opengl on windows was enabled (was quadro only in my time). I am not sure what has changed from 2.8.1 that this no longer works. > >> Do you know if freeglut 3.0.0 was tested on a quadro card? > > Almost surely not. Would you be able to debug this an send a patch here, or a pull request on github? Probably the best place to start is checking whether you get the same window creation flags internally in > 2.8.1 and 3.0.0. And perhaps something has changed about how fullscreen is done (around line 1594 in fg_main_mswin in 3.0.0), or the set window flags (also in the window creation function). I have put it up as a task and we can plan it into the next sprint. Which sadly means that it has to wait for two weeks. I assume that is fine since I think we are one of the very few affected by this issue. Cheers Markus |
From: Diederick C. N. <dc...@gm...> - 2017-10-23 19:13:37
|
Hi Markus, On Tue, Oct 17, 2017 at 10:02 AM, markus israelsson <mar...@se...> wrote: > Dear Dee, > > Am I supposed to do bottompost? In that case I broke it here and will try to > be better in the future. Habits are hard to break. Also, should I reply to > the entire list or just you? > No, normal etiquette is to reply inline like i am doing here, makes it easy to know what you are responding to. > > I modified the shapes.c file to reproduce both issues actually. > > The first issue does not require any stereo setup to reproduce. Please let > me know if you consider it a bug or misuse. It did work in freeglut 2.8.1 > but not in 3.0.0. I compare those two versions because those are the ones we > used, not because I have tracked down where in between those releases the > approach stopped working. Same is true for the stereo setup below IIRC. > How all the window management is done has changed a lot in 3.0.0. Also, the requirement to have a display callback is new but in line with GLUT. All that said, this is a bug. It makes no sense to require a display callback (or to do any window work) for a window that is to be destroyed anyway. I think this would error out even if you register a display callback before calling destroy. Its fixed in trunk. > > > The second issue do required that. There is something called NVidia 3d > vision. I think it might be discontinued because it did not sell well and I > should probably say "was something called". However it is still used in VR > environments while waiting for the head mounted displays to become even > better and cheaper. Either way, that one works on normal GeForce cards but > only when an application is in fullscreen. I have not tested this with the > Quadro card we have mainly because it is not installed in any of our > systems. The example is minimally modified and does not use double buffer so > the way to see whether it goes into stereo or not is simply to check if the > nvidia 3d vision emitter lights up and the active stereo glasses start > working. In freeglut 2.8.1 they do, in freeglut 3.0.0 they don't. Ah, i see that its after my last experience with 3D vision that opengl on windows was enabled (was quadro only in my time). I am not sure what has changed from 2.8.1 that this no longer works. > Do you know if freeglut 3.0.0 was tested on a quadro card? Almost surely not. Would you be able to debug this an send a patch here, or a pull request on github? Probably the best place to start is checking whether you get the same window creation flags internally in 2.8.1 and 3.0.0. And perhaps something has changed about how fullscreen is done (around line 1594 in fg_main_mswin in 3.0.0), or the set window flags (also in the window creation function). All the best, Dee |
From: Diederick C. N. <dc...@gm...> - 2017-10-17 03:04:34
|
Dear Markus, (Sorry for toppost, not near a capable editor), For the first issue, could you send some minimal reproduction code? For the second, i am surprised this worked at all. As far as i know, opengl stereo support has only ever (at least in the last many years) been available for quadro cards, the geforce cards only support it for DirectX. Id thst no longer the case? All the best, Dee On Oct 16, 2017 7:13 PM, "markus israelsson" < mar...@se...> wrote: > Hello, > > > > I registered on this mailing list because I want to report a bug. We > recently upgraded from freeglut 2.8.1 to freeglut 3.0.0 and discovered two > issues. > > What we do, in order to have quad buffered stereo is this: > > - Create a window with the GLUT_STEREO flag. > > - Check if the created window has stereo properties. using glGetBooleanv > with GL_STEREO as input. > > - If the window does not have stereo properties call glutDestroyWindow and > remove the GLUT_MULTISAMPLE from the list of flags and try again. On some > systems using GLUT_STEREO and GLUT_MULTISAMPLE together simply does not > work. > > - Try to create the window again. > > - Check for stereo again. On some systems the window now has stereo > properties. > > - Setup glut functions for driving the scene. > > > > The first issue might not be a bug but simply us using freeglut in the > wrong way. What happens is that we get the error: > > "ERROR: No display callback registered for window 1." > > Which seems to be due to the fact that registering the display callback is > only valid for the last window. We did try registering the callback twice > but it did not solve the issue. > > > > The second issue is simply that quad buffered stereo using nvidia 3d > vision no longer works. In order for it to be enabled one need a 3d vision > compatible screen/graphics card and a 3d vision nvidia emitter and some > stereo glasses and the application have to be in fullscreen mode. > > We have modified the freeglut example "shapes.c" to test this out using > freegluts own examples and there is an issue with 3.0.0 but it works fine > in 2.8.1. I can of course provide the example if required. > > I would be happy to either get this reported in the ticket system, and or > get some answers about how we best should be handling the two issues. I > realize that testing this might not be the easiest since there are some > hardware requirements. We have not tested if the problem is the same with > an nvidia quadro card (which used to have quad buffered stereo support in a > different way). > > If we would like to try fix this and send a patch (not sure about the time > frame for doing this) where would you suggest that we look in the code? > > > > Best regards, > > Markus @ SenseGraphics > > The project in question is H3D API which can be found on h3dapi.org > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Freeglut-bugs mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-bugs > > |
From: markus i. <mar...@se...> - 2017-10-16 11:13:45
|
Hello, I registered on this mailing list because I want to report a bug. We recently upgraded from freeglut 2.8.1 to freeglut 3.0.0 and discovered two issues. What we do, in order to have quad buffered stereo is this: - Create a window with the GLUT_STEREO flag. - Check if the created window has stereo properties. using glGetBooleanv with GL_STEREO as input. - If the window does not have stereo properties call glutDestroyWindow and remove the GLUT_MULTISAMPLE from the list of flags and try again. On some systems using GLUT_STEREO and GLUT_MULTISAMPLE together simply does not work. - Try to create the window again. - Check for stereo again. On some systems the window now has stereo properties. - Setup glut functions for driving the scene. The first issue might not be a bug but simply us using freeglut in the wrong way. What happens is that we get the error: "ERROR: No display callback registered for window 1." Which seems to be due to the fact that registering the display callback is only valid for the last window. We did try registering the callback twice but it did not solve the issue. The second issue is simply that quad buffered stereo using nvidia 3d vision no longer works. In order for it to be enabled one need a 3d vision compatible screen/graphics card and a 3d vision nvidia emitter and some stereo glasses and the application have to be in fullscreen mode. We have modified the freeglut example "shapes.c" to test this out using freegluts own examples and there is an issue with 3.0.0 but it works fine in 2.8.1. I can of course provide the example if required. I would be happy to either get this reported in the ticket system, and or get some answers about how we best should be handling the two issues. I realize that testing this might not be the easiest since there are some hardware requirements. We have not tested if the problem is the same with an nvidia quadro card (which used to have quad buffered stereo support in a different way). If we would like to try fix this and send a patch (not sure about the time frame for doing this) where would you suggest that we look in the code? Best regards, Markus @ SenseGraphics The project in question is H3D API which can be found on h3dapi.org |
From: Sandeep N. <san...@gm...> - 2017-07-05 10:17:09
|
Please ignore. It has been resolved after adding -landroid and -llog in LDFLAGS.. Regards, Sandeep On Wed, Jul 5, 2017 at 3:17 PM, Sandeep Nagori <san...@gm...> wrote: > Hi, > > I have created the libfreeglut-gles.a for Android aarch64 as per > instruction mentioned here http://freeglut.sourceforge.net/ > > I was able to compile it succesfully,However when I try to use it in my > project,It gave me lot of undefined symbols. > > Can you please suggest the solution for this. > > I have used the command:cmake -D CMAKE_TOOLCHAIN_FILE=../android_toolchain.cmake > -D CMAKE_INSTALL_PREFIX=/home/snagori/freeglut_install/sysroot/usr -D > CMAKE_BUILD_TYPE=Debug -D FREEGLUT_GLES=ON -D FREEGLUT_BUILD_DEMOS=NO .. > > also removed gstabs from CMakeLists.txt since it was giving error while > compiling > > > > > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:122: undefined > reference to `AKeyEvent_getKeyCode' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:141: undefined > reference to `AKeyEvent_getAction' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:141: undefined > reference to `AKeyEvent_getKeyCode' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:144: undefined > reference to `AKeyEvent_getMetaState' > ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_main_android.c.o): > In function `handle_input': > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:190: undefined > reference to `AInputEvent_getType' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:193: undefined > reference to `AKeyEvent_getKeyCode' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:195: undefined > reference to `AKeyEvent_getAction' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:206: undefined > reference to `AKeyEvent_getAction' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:219: undefined > reference to `AInputEvent_getSource' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:220: undefined > reference to `AInputEvent_getType' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:222: undefined > reference to `AMotionEvent_getAction' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:224: undefined > reference to `AMotionEvent_getAction' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:237: undefined > reference to `AMotionEvent_getX' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:238: undefined > reference to `AMotionEvent_getY' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:248: undefined > reference to `ANativeWindow_getHeight' > ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_main_android.c.o): > In function `handle_cmd': > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:323: undefined > reference to `__android_log_print' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:326: undefined > reference to `__android_log_print' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:331: undefined > reference to `__android_log_print' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:337: undefined > reference to `__android_log_print' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:340: undefined > reference to `__android_log_print' > ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_main_ > android.c.o):/home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:352: > more undefined references to `__android_log_print' follow > ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_main_android.c.o): > In function `fgPlatformProcessSingleEvent': > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:415: undefined > reference to `ANativeWindow_getWidth' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:416: undefined > reference to `ANativeWindow_getHeight' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:429: undefined > reference to `ALooper_pollAll' > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:443: undefined > reference to `ALooper_pollOnce' > ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_main_android.c.o): > In function `fgPlatformMainLoopPreliminaryWork': > /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:480: undefined > reference to `__android_log_print' > ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_state_android.c.o): > In function `fgPlatformGlutGet': > /home/snagori/freeglut-3.0.0/src/android/fg_state_android.c:76: undefined > reference to `ANativeWindow_getWidth' > /home/snagori/freeglut-3.0.0/src/android/fg_state_android.c:77: undefined > reference to `ANativeWindow_getHeight' > ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_window_android.c.o): > In function `fgPlatformOpenWindow': > /home/snagori/freeglut-3.0.0/src/android/fg_window_android.c:62: > undefined reference to `ALooper_pollOnce' > /home/snagori/freeglut-3.0.0/src/android/fg_window_android.c:82: > undefined reference to `ANativeWindow_setBuffersGeometry' > ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(android_native_app_glue.c.o): > In function `android_app_read_cmd': > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:50: > undefined reference to `__android_log_print' > ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(android_native_app_glue.c.o): > In function `print_cur_config': > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:57: > undefined reference to `AConfiguration_getLanguage' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:58: > undefined reference to `AConfiguration_getCountry' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: > undefined reference to `AConfiguration_getMcc' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: > undefined reference to `AConfiguration_getMnc' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: > undefined reference to `AConfiguration_getOrientation' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: > undefined reference to `AConfiguration_getTouchscreen' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: > undefined reference to `AConfiguration_getDensity' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: > undefined reference to `AConfiguration_getKeyboard' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: > undefined reference to `AConfiguration_getNavigation' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: > undefined reference to `AConfiguration_getKeysHidden' > /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: > undefined reference to `AConfiguration_getNavHidden' > |
From: Sandeep N. <san...@gm...> - 2017-07-05 09:47:28
|
Hi, I have created the libfreeglut-gles.a for Android aarch64 as per instruction mentioned here http://freeglut.sourceforge.net/ I was able to compile it succesfully,However when I try to use it in my project,It gave me lot of undefined symbols. Can you please suggest the solution for this. I have used the command:cmake -D CMAKE_TOOLCHAIN_FILE=../android_toolchain.cmake -D CMAKE_INSTALL_PREFIX=/home/snagori/freeglut_install/sysroot/usr -D CMAKE_BUILD_TYPE=Debug -D FREEGLUT_GLES=ON -D FREEGLUT_BUILD_DEMOS=NO .. also removed gstabs from CMakeLists.txt since it was giving error while compiling /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:122: undefined reference to `AKeyEvent_getKeyCode' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:141: undefined reference to `AKeyEvent_getAction' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:141: undefined reference to `AKeyEvent_getKeyCode' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:144: undefined reference to `AKeyEvent_getMetaState' ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_main_android.c.o): In function `handle_input': /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:190: undefined reference to `AInputEvent_getType' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:193: undefined reference to `AKeyEvent_getKeyCode' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:195: undefined reference to `AKeyEvent_getAction' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:206: undefined reference to `AKeyEvent_getAction' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:219: undefined reference to `AInputEvent_getSource' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:220: undefined reference to `AInputEvent_getType' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:222: undefined reference to `AMotionEvent_getAction' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:224: undefined reference to `AMotionEvent_getAction' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:237: undefined reference to `AMotionEvent_getX' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:238: undefined reference to `AMotionEvent_getY' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:248: undefined reference to `ANativeWindow_getHeight' ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_main_android.c.o): In function `handle_cmd': /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:323: undefined reference to `__android_log_print' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:326: undefined reference to `__android_log_print' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:331: undefined reference to `__android_log_print' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:337: undefined reference to `__android_log_print' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:340: undefined reference to `__android_log_print' ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_ main_android.c.o):/home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:352: more undefined references to `__android_log_print' follow ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_main_android.c.o): In function `fgPlatformProcessSingleEvent': /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:415: undefined reference to `ANativeWindow_getWidth' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:416: undefined reference to `ANativeWindow_getHeight' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:429: undefined reference to `ALooper_pollAll' /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:443: undefined reference to `ALooper_pollOnce' ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_main_android.c.o): In function `fgPlatformMainLoopPreliminaryWork': /home/snagori/freeglut-3.0.0/src/android/fg_main_android.c:480: undefined reference to `__android_log_print' ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_state_android.c.o): In function `fgPlatformGlutGet': /home/snagori/freeglut-3.0.0/src/android/fg_state_android.c:76: undefined reference to `ANativeWindow_getWidth' /home/snagori/freeglut-3.0.0/src/android/fg_state_android.c:77: undefined reference to `ANativeWindow_getHeight' ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(fg_window_android.c.o): In function `fgPlatformOpenWindow': /home/snagori/freeglut-3.0.0/src/android/fg_window_android.c:62: undefined reference to `ALooper_pollOnce' /home/snagori/freeglut-3.0.0/src/android/fg_window_android.c:82: undefined reference to `ANativeWindow_setBuffersGeometry' ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(android_native_app_glue.c.o): In function `android_app_read_cmd': /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:50: undefined reference to `__android_log_print' ShaderTest/lib/Android_aarch64/libfreeglut-gles.a(android_native_app_glue.c.o): In function `print_cur_config': /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:57: undefined reference to `AConfiguration_getLanguage' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:58: undefined reference to `AConfiguration_getCountry' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: undefined reference to `AConfiguration_getMcc' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: undefined reference to `AConfiguration_getMnc' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: undefined reference to `AConfiguration_getOrientation' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: undefined reference to `AConfiguration_getTouchscreen' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: undefined reference to `AConfiguration_getDensity' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: undefined reference to `AConfiguration_getKeyboard' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: undefined reference to `AConfiguration_getNavigation' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: undefined reference to `AConfiguration_getKeysHidden' /home/snagori/freeglut-3.0.0/src/android/native_app_glue/android_native_app_glue.c:60: undefined reference to `AConfiguration_getNavHidden' |
From: Markus M. <ma...@vo...> - 2015-06-17 14:33:23
|
Hi all, I'm working with freeglut 3.0.0 for Win32 with MinGW. >From my point of view the following functionality works not correctly: The callback function glutMouseFunc(mymouse) always triggers a display callback when any mouse button is released. With or without an explicit glutPostRedisplay(). With other words void mymouse(.) {<...>} has the same behavior as void mymouse(.) {if (state==GLUT_UP) glutPostRedisplay(); <...>}. Using GLUT instead of freeglut glutMouseFunc(.) works fine. Could you please check it and provide any feedback. Manny thanks in advance for your support. Kind regards Markus Makasy |
From: John T. <nu...@me...> - 2015-04-20 03:32:55
|
On Sun, Apr 19, 2015 at 03:46:49PM +0200, Emilio Molina Martínez wrote: > Thanks! what is the easiest way to do it? I am searching but I don't find a > clear way to do it. The easiest way is to see if there's a driver option that disables vsync. Something like a driver GUI checkbox (common on windows and nvidia config utilities), or an environment variable (most drivers on linux). For your program to disable vsync, you need to use one of the swap control extensions, if they are available at runtime. The ones I remember from the top of my head are: GLX_EXT_swap_control GLX_SGI_swap_control WGL_EXT_swap_control GLX_MESA_swap_control -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Emilio M. M. <emi...@gm...> - 2015-04-19 13:47:17
|
Thanks! what is the easiest way to do it? I am searching but I don't find a clear way to do it. 2015-04-19 12:46 GMT+02:00 John Tsiombikas <nu...@me...>: > On Sun, Apr 19, 2015 at 11:46:07AM +0200, Emilio Molina Martínez wrote: > > > > Now I have one more question: > > > > int i = 0; > > while (true) { > > i += 1; > > std::cout << i << '\n'; > > renderScene(); > > glutMainLoopEvent(); > > //std::this_thread::sleep_for(std::chrono::milliseconds(100)); > > } > > > > This produces a loop at 60fps? I expected like a super-fast loop, but it > is > > quite slow in each iteration. How could I do a fast loop? > > Disable vsync. > > > -- > John Tsiombikas > http://nuclear.mutantstargoat.com/ > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Freeglut-bugs mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-bugs > |
From: John T. <nu...@me...> - 2015-04-19 10:47:00
|
On Sun, Apr 19, 2015 at 11:46:07AM +0200, Emilio Molina Martínez wrote: > > Now I have one more question: > > int i = 0; > while (true) { > i += 1; > std::cout << i << '\n'; > renderScene(); > glutMainLoopEvent(); > //std::this_thread::sleep_for(std::chrono::milliseconds(100)); > } > > This produces a loop at 60fps? I expected like a super-fast loop, but it is > quite slow in each iteration. How could I do a fast loop? Disable vsync. -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Emilio M. M. <emi...@gm...> - 2015-04-19 09:47:39
|
update: "clang++ -framework OpenGL ./libX11.dylib ./libglut.dylib example_not_ok.cpp" is enough. 2015-04-19 11:46 GMT+02:00 Emilio Molina Martínez <emi...@gm...> : > Ok great! I copied libX11.dylib and libglut.dylib to the main folder, and > I did: > > clang++ -I/opt/X11/include -framework OpenGL ./libX11.dylib > ./libglut.dylib example_not_ok.cpp > > And now it works. > Indeed, in my previous commandline I added all (unneeded) things I found > related to OpenGL (for other experiments with glew, etc). Now I see that > some of them can be even conflictive (e.g. -framework Cocoa vs. X11). > > Now I have one more question: > > int i = 0; > while (true) { > i += 1; > std::cout << i << '\n'; > renderScene(); > glutMainLoopEvent(); > //std::this_thread::sleep_for(std::chrono::milliseconds(100)); > } > > This produces a loop at 60fps? I expected like a super-fast loop, but it > is quite slow in each iteration. How could I do a fast loop? > > Thanks, > Emilio. > > 2015-04-19 3:28 GMT+02:00 John Tsiombikas <nu...@me...>: > >> On Sun, Apr 19, 2015 at 02:22:04AM +0200, Emilio Molina Martínez wrote: >> > Dear list, >> > >> > clang++ -I./external/glm/ -I/opt/X11/include -I./external/glew/include/ >> > -I./external/glfw/include/GLFW/ -I./ -I./external/SDL2-2.0.3/include >> > -framework Cocoa -framework CoreVideo -framework IOKit -framework OpenGL >> > -framework GLUT -framework SDL2 ./external/glfw/src/libglfw3.a >> > ./external/freeglut-2.8.1/src/.libs/libglut.a >> ./external/glew/lib/libGLEW.a >> > example_ok.cpp >> >> SDL, glfw, and glut. Now that's a linker commandline you don't see >> often. >> >> > Undefined symbols for architecture x86_64: >> > "_XCheckIfEvent", referenced from: >> > _glutMainLoopEvent in libglut.a(libglut_la-freeglut_main.o) >> > _fgSpaceballHandleXEvent in >> libglut.a(libglut_la-freeglut_spaceball.o) >> > "_XCloseDisplay", referenced from: >> > _fgDeinitialize in libglut.a(libglut_la-freeglut_init.o) >> > "_glXMakeContextCurrent", referenced from: >> > _fgSetWindow in libglut.a(libglut_la-freeglut_window.o) >> > _fgOpenWindow in libglut.a(libglut_la-freeglut_window.o) >> > _glutSetWindow in libglut.a(libglut_la-freeglut_window.o) >> > "_glXQueryExtension", referenced from: >> > _glutInit in libglut.a(libglut_la-freeglut_init.o) >> > ld: symbol(s) not found for architecture x86_64 >> > clang: error: linker command failed with exit code 1 (use -v to see >> > invocation) >> >> You aren't linking with Xlib (-lX11), and you're linking the glut >> archive (static library) instead of the dynamic one, so it can't pull >> that dependency in by itself. >> >> You might also need to link with the xrandr, xf86vm, and xinput >> extension libraries, so keep that in mind if more unresolved symbols hit >> after you fix these. >> >> -- >> John Tsiombikas >> http://nuclear.mutantstargoat.com/ >> >> >> ------------------------------------------------------------------------------ >> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >> Develop your own process in accordance with the BPMN 2 standard >> Learn Process modeling best practices with Bonita BPM through live >> exercises >> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >> event?utm_ >> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >> _______________________________________________ >> Freeglut-bugs mailing list >> Fre...@li... >> https://lists.sourceforge.net/lists/listinfo/freeglut-bugs >> > > |
From: Emilio M. M. <emi...@gm...> - 2015-04-19 09:46:35
|
Ok great! I copied libX11.dylib and libglut.dylib to the main folder, and I did: clang++ -I/opt/X11/include -framework OpenGL ./libX11.dylib ./libglut.dylib example_not_ok.cpp And now it works. Indeed, in my previous commandline I added all (unneeded) things I found related to OpenGL (for other experiments with glew, etc). Now I see that some of them can be even conflictive (e.g. -framework Cocoa vs. X11). Now I have one more question: int i = 0; while (true) { i += 1; std::cout << i << '\n'; renderScene(); glutMainLoopEvent(); //std::this_thread::sleep_for(std::chrono::milliseconds(100)); } This produces a loop at 60fps? I expected like a super-fast loop, but it is quite slow in each iteration. How could I do a fast loop? Thanks, Emilio. 2015-04-19 3:28 GMT+02:00 John Tsiombikas <nu...@me...>: > On Sun, Apr 19, 2015 at 02:22:04AM +0200, Emilio Molina Martínez wrote: > > Dear list, > > > > clang++ -I./external/glm/ -I/opt/X11/include -I./external/glew/include/ > > -I./external/glfw/include/GLFW/ -I./ -I./external/SDL2-2.0.3/include > > -framework Cocoa -framework CoreVideo -framework IOKit -framework OpenGL > > -framework GLUT -framework SDL2 ./external/glfw/src/libglfw3.a > > ./external/freeglut-2.8.1/src/.libs/libglut.a > ./external/glew/lib/libGLEW.a > > example_ok.cpp > > SDL, glfw, and glut. Now that's a linker commandline you don't see > often. > > > Undefined symbols for architecture x86_64: > > "_XCheckIfEvent", referenced from: > > _glutMainLoopEvent in libglut.a(libglut_la-freeglut_main.o) > > _fgSpaceballHandleXEvent in > libglut.a(libglut_la-freeglut_spaceball.o) > > "_XCloseDisplay", referenced from: > > _fgDeinitialize in libglut.a(libglut_la-freeglut_init.o) > > "_glXMakeContextCurrent", referenced from: > > _fgSetWindow in libglut.a(libglut_la-freeglut_window.o) > > _fgOpenWindow in libglut.a(libglut_la-freeglut_window.o) > > _glutSetWindow in libglut.a(libglut_la-freeglut_window.o) > > "_glXQueryExtension", referenced from: > > _glutInit in libglut.a(libglut_la-freeglut_init.o) > > ld: symbol(s) not found for architecture x86_64 > > clang: error: linker command failed with exit code 1 (use -v to see > > invocation) > > You aren't linking with Xlib (-lX11), and you're linking the glut > archive (static library) instead of the dynamic one, so it can't pull > that dependency in by itself. > > You might also need to link with the xrandr, xf86vm, and xinput > extension libraries, so keep that in mind if more unresolved symbols hit > after you fix these. > > -- > John Tsiombikas > http://nuclear.mutantstargoat.com/ > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Freeglut-bugs mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-bugs > |
From: John T. <nu...@me...> - 2015-04-19 01:28:09
|
On Sun, Apr 19, 2015 at 02:22:04AM +0200, Emilio Molina Martínez wrote: > Dear list, > > clang++ -I./external/glm/ -I/opt/X11/include -I./external/glew/include/ > -I./external/glfw/include/GLFW/ -I./ -I./external/SDL2-2.0.3/include > -framework Cocoa -framework CoreVideo -framework IOKit -framework OpenGL > -framework GLUT -framework SDL2 ./external/glfw/src/libglfw3.a > ./external/freeglut-2.8.1/src/.libs/libglut.a ./external/glew/lib/libGLEW.a > example_ok.cpp SDL, glfw, and glut. Now that's a linker commandline you don't see often. > Undefined symbols for architecture x86_64: > "_XCheckIfEvent", referenced from: > _glutMainLoopEvent in libglut.a(libglut_la-freeglut_main.o) > _fgSpaceballHandleXEvent in libglut.a(libglut_la-freeglut_spaceball.o) > "_XCloseDisplay", referenced from: > _fgDeinitialize in libglut.a(libglut_la-freeglut_init.o) > "_glXMakeContextCurrent", referenced from: > _fgSetWindow in libglut.a(libglut_la-freeglut_window.o) > _fgOpenWindow in libglut.a(libglut_la-freeglut_window.o) > _glutSetWindow in libglut.a(libglut_la-freeglut_window.o) > "_glXQueryExtension", referenced from: > _glutInit in libglut.a(libglut_la-freeglut_init.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) You aren't linking with Xlib (-lX11), and you're linking the glut archive (static library) instead of the dynamic one, so it can't pull that dependency in by itself. You might also need to link with the xrandr, xf86vm, and xinput extension libraries, so keep that in mind if more unresolved symbols hit after you fix these. -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Emilio M. M. <emi...@gm...> - 2015-04-19 00:22:33
|
Dear list, I have a link problem when using glutMainLoopEvent(). Let me explain what I've got: I am experimenting with the code proposed here: http://www.lighthouse3d.com/tutorials/glut-tutorial/animation/ Replacing #include <GLUT/glut.h> by #include <GL/freeglut.h>. I use OSX 10.10.3, and I installed Freeglut as described in http://lazyfoo.net/tutorials/OpenGL/01_hello_opengl/mac/index.php. Then I compile it as follow (I have all dependencies in a ./external folder): clang++ -I./external/glm/ -I/opt/X11/include -I./external/glew/include/ -I./external/glfw/include/GLFW/ -I./ -I./external/SDL2-2.0.3/include -framework Cocoa -framework CoreVideo -framework IOKit -framework OpenGL -framework GLUT -framework SDL2 ./external/glfw/src/libglfw3.a ./external/freeglut-2.8.1/src/.libs/libglut.a ./external/glew/lib/libGLEW.a example_ok.cpp Ok. It compiles (2 warnings about deprecated functions, see example_ok.log) and it runs. The code in this case is example_ok.cpp. *My problem:* Now I tried to replace glutMainLoop() by glutMainLoopEvent() (see example_not_ok.cpp). I want to do my own loop with asynchronous drawings (apparently glutMainLoopEvent is ok for this). However, now I have a link error: Undefined symbols for architecture x86_64: "_XCheckIfEvent", referenced from: _glutMainLoopEvent in libglut.a(libglut_la-freeglut_main.o) _fgSpaceballHandleXEvent in libglut.a(libglut_la-freeglut_spaceball.o) "_XCloseDisplay", referenced from: _fgDeinitialize in libglut.a(libglut_la-freeglut_init.o) (...) "_glXMakeContextCurrent", referenced from: _fgSetWindow in libglut.a(libglut_la-freeglut_window.o) _fgOpenWindow in libglut.a(libglut_la-freeglut_window.o) _glutSetWindow in libglut.a(libglut_la-freeglut_window.o) "_glXQueryExtension", referenced from: _glutInit in libglut.a(libglut_la-freeglut_init.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) See example_not_ok.log for more information. Any advice? Thanks. Emilio. |
From: Diederick C. N. <dc...@gm...> - 2014-11-04 13:51:30
|
Hi John, On Tue, Nov 4, 2014 at 5:41 PM, John Tsiombikas <nu...@me...> wrote: > On Tue, Oct 21, 2014 at 08:50:59AM +0800, Diederick C. Niehorster wrote: >> >> Thanks! Do you have an idea about the redefinition warnings Kevin >> found? Are we doing something non-standard? > > I can't see anything wrong. Looks like the warnings are due to fg_gl2.h, > which contains VBO function pointers, being included into multiple > source files. That's not a problem in C (it is in C++), the linker just > merges them together. Thanks. Wasn't sure about this as i usually work with C++ and have seen plenty of these kinds of warnings there. Lets ignore this then. Best, Dee |
From: John T. <nu...@me...> - 2014-11-04 09:42:04
|
On Tue, Oct 21, 2014 at 08:50:59AM +0800, Diederick C. Niehorster wrote: > > Thanks! Do you have an idea about the redefinition warnings Kevin > found? Are we doing something non-standard? I can't see anything wrong. Looks like the warnings are due to fg_gl2.h, which contains VBO function pointers, being included into multiple source files. That's not a problem in C (it is in C++), the linker just merges them together. -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Diederick C. N. <dc...@gm...> - 2014-10-21 00:51:06
|
Hi John, On Mon, Oct 20, 2014 at 11:12 PM, John Tsiombikas <nu...@me...> wrote: > > Thanks for checking the changelog and the repo, I thought it would be > something like that... > Yes of course, MSVC6 does have errno.h (as does every C89 compiler in > the universe :) > I'll just remove those then. > Thanks! Do you have an idea about the redefinition warnings Kevin found? Are we doing something non-standard? Best and thanks!, Dee |
From: John T. <nu...@me...> - 2014-10-20 15:12:15
|
On Mon, Oct 20, 2014 at 08:08:11AM +0800, Diederick C. Niehorster wrote: > Hi John, > > On Mon, Oct 20, 2014 at 7:22 AM, John Tsiombikas <nu...@me...> wrote: > > vfprintf is a standard C89 function. There is no libc without it. I > > think it's safe to remove that pointless check. Same goes for errno.h > > which I see checked in the same run of compatibility tests in > > CMakeLists.txt. > > > > If anyone knows why we're checking for standard C stuff, and there's a > > good reason for it, let me know, otherwise I'll just remove those checks > > at some point. Unless I completely forget about it :) > > I just looked at some older revisions, and it seems that for errno.h > it was added somewhere in 2005. And very soon after there was a note > in the changelog that its overkill to check, but apparently it was > never removed. In other words, this is holdover from configure.ac we > used to have. If you feel its pointless to check, we should remove it. > RC testing will reveal if there are horrible platforms where this dies > (even MSVC6 will be fine, right?). Thanks for checking the changelog and the repo, I thought it would be something like that... Yes of course, MSVC6 does have errno.h (as does every C89 compiler in the universe :) I'll just remove those then. -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Diederick C. N. <dc...@gm...> - 2014-10-20 00:08:19
|
Hi John, On Mon, Oct 20, 2014 at 7:22 AM, John Tsiombikas <nu...@me...> wrote: > vfprintf is a standard C89 function. There is no libc without it. I > think it's safe to remove that pointless check. Same goes for errno.h > which I see checked in the same run of compatibility tests in > CMakeLists.txt. > > If anyone knows why we're checking for standard C stuff, and there's a > good reason for it, let me know, otherwise I'll just remove those checks > at some point. Unless I completely forget about it :) I just looked at some older revisions, and it seems that for errno.h it was added somewhere in 2005. And very soon after there was a note in the changelog that its overkill to check, but apparently it was never removed. In other words, this is holdover from configure.ac we used to have. If you feel its pointless to check, we should remove it. RC testing will reveal if there are horrible platforms where this dies (even MSVC6 will be fine, right?). As for the redefinition warnings... not quite sure why they happen with this compiler and not others. Is there something nonstandard about how the functions are declared in fg_gl2.h? Kevin, thanks a lot too for the testing and reporting! Thanks and best, Dee |
From: John T. <nu...@me...> - 2014-10-19 23:22:48
|
On Sun, Oct 19, 2014 at 07:40:11PM +0100, Kevin Morgan wrote: > > Observations: i). for this compiler ‘time.h’ is in the ‘/h’ directory > not the ‘/h/sys’. I don’t know whether this is significant, but it is > why it cannot find it. <time.h> and <sys/time.h> are two different header files. The first one is the standard ISO C header file which contains things like time_t and the time() and clock() functions. The second is a POSIX header file which contains unix-specific time stuff like struct timeval and the gettimeofday() function. Of course the second one doesn't exist on windows regardless of compiler. > ii). this compiler does have a ‘vfprintf’ function (it is documented > and in the ‘stdio.h’ file) but for some reason the configure does not > find it. vfprintf is a standard C89 function. There is no libc without it. I think it's safe to remove that pointless check. Same goes for errno.h which I see checked in the same run of compatibility tests in CMakeLists.txt. If anyone knows why we're checking for standard C stuff, and there's a good reason for it, let me know, otherwise I'll just remove those checks at some point. Unless I completely forget about it :) > e). It looks like the present version of CMake does not produce a Open > WATCOM v1.9 IDE project file so I used the ‘wmake’ command line build > environment on the Makefile generated. All the libraries and > executables were generated OK with the following warning messages:- > ii). ‘..\src\mswin\fg_cursor_mswin.c(146): Warning! W138: No newline > at end of file’ > ‘..\src\mswin\fg_state_mswin.c(348): Warning! W138: No newline > at end of file’ > Would you put a newline at the end of these two source files > please ? Done. > > iii). ‘progs\demos\shapes\shapes.c(301): Warning! W201: Unreachable code’ > Needs fixing ? Done. P.S. Please configure your mail client to wrap text at 72 columns. -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Kevin M. <du...@ho...> - 2014-10-19 18:40:28
|
Diederick, I have tried compiling freeGLUT 1715 trunk code using the instructions in the ‘README.cmake’ using Open WATCOM v1.9. My observations follow:- a). CMake: nice software. b). You might like to make ‘How to build freeglut with CMake on Windows (MS Visual Studio)’ section of the ‘README.cmake’ more general, as, it appears, CMake supports more than one compiler on the windows platform. c). item 3). of the ‘README.cmake’ is no longer true for the latest version of CMake (3.0.2). The icon placed on the desktop during the installation of CMake is a shortcut to the GUI. d). Here is a listing of the messages produced by ‘CMake’ during the first configure:- ‘The C compiler identification is Watcom 12.90 The CXX compiler identification is Watcom 12.90 Check for working C compiler: C:/WATCOMv1pt9/binnt/wcl386.exe Check for working C compiler: C:/WATCOMv1pt9/binnt/wcl386.exe -- works Detecting C compiler ABI info Detecting C compiler ABI info - failed Check for working CXX compiler: C:/WATCOMv1pt9/binnt/wcl386.exe Check for working CXX compiler: C:/WATCOMv1pt9/binnt/wcl386.exe -- works Detecting CXX compiler ABI info Detecting CXX compiler ABI info - failed Found OpenGL: opengl32 Looking for include file sys/types.h Looking for include file sys/types.h - found Looking for include file unistd.h Looking for include file unistd.h - found Looking for include file sys/time.h Looking for include file sys/time.h - not found Looking for include file stdbool.h Looking for include file stdbool.h - found Looking for include file sys/param.h Looking for include file sys/param.h - not found Looking for include file sys/ioctl.h Looking for include file sys/ioctl.h - not found Looking for include file fcntl.h Looking for include file fcntl.h - found Looking for include file errno.h Looking for include file errno.h - found Looking for include file usbhid.h Looking for include file usbhid.h - not found Looking for gettimeofday Looking for gettimeofday - not found Looking for vfprintf Looking for vfprintf - not found Looking for _doprnt Looking for _doprnt - not found Looking for XParseGeometry Looking for XParseGeometry - not found Looking for include file stdint.h Looking for include file stdint.h - found Looking for include file inttypes.h Looking for include file inttypes.h - found Configuring done’ Observations: i). for this compiler ‘time.h’ is in the ‘/h’ directory not the ‘/h/sys’. I don’t know whether this is significant, but it is why it cannot find it. ii). this compiler does have a ‘vfprintf’ function (it is documented and in the ‘stdio.h’ file) but for some reason the configure does not find it. e). It looks like the present version of CMake does not produce a Open WATCOM v1.9 IDE project file so I used the ‘wmake’ command line build environment on the Makefile generated. All the libraries and executables were generated OK with the following warning messages:- i). ‘..\src\fg_font_data.c(206): Warning! W202: Symbol 'Fixed8x13_Character_XXX' has been defined, but not referenced ..\src\fg_font_data.c(492): Warning! W202: Symbol 'Fixed9x15_Character_XXX' has been defined, but not referenced ..\src\fg_font_data.c(639): Warning! W202: Symbol 'Helvetica10_Character_XXX' has been defined, but not referenced ..\src\fg_font_data.c(910): Warning! W202: Symbol 'Helvetica12_Character_XXX' has been defined, but not referenced etc, etc. for a many font types. In the WATCOM makefile included in freeGLUT 2.8.1, these messages were suppressed by using the ‘-wcd202’(warning 202 disable flag). You could put a pre processor directive in the actual source along the lines:- ‘#if defined(__WATCOMC__) #pragma off(unreferenced) #endif' to suppress them, if you like. ii). ‘..\src\mswin\fg_cursor_mswin.c(146): Warning! W138: No newline at end of file’ ‘..\src\mswin\fg_state_mswin.c(348): Warning! W138: No newline at end of file’ Would you put a newline at the end of these two source files please ? iii). ‘progs\demos\shapes\shapes.c(301): Warning! W201: Unreachable code’ Needs fixing ? iv). for the building of the shared libraries:- ‘Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_gl2.c.obj(..\src\fg_gl2.c): redefinition of _fghBufferData ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_gl2.c.obj(..\src\fg_gl2.c): redefinition of _fghDeleteBuffers ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_gl2.c.obj(..\src\fg_gl2.c): redefinition of _fghGenBuffers ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_gl2.c.obj(..\src\fg_gl2.c): redefinition of _fghVertexAttribPointer ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_gl2.c.obj(..\src\fg_gl2.c): redefinition of _fghBindBuffer ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_gl2.c.obj(..\src\fg_gl2.c): redefinition of _fghEnableVertexAttribArray ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_gl2.c.obj(..\src\fg_gl2.c): redefinition of _fghDisableVertexAttribArray ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_window.c.obj(..\src\fg_window.c): redefinition of _fghBufferData ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_window.c.obj(..\src\fg_window.c): redefinition of _fghDeleteBuffers ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_window.c.obj(..\src\fg_window.c): redefinition of _fghGenBuffers ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_window.c.obj(..\src\fg_window.c): redefinition of _fghVertexAttribPointer ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_window.c.obj(..\src\fg_window.c): redefinition of _fghBindBuffer ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_window.c.obj(..\src\fg_window.c): redefinition of _fghEnableVertexAttribArray ignored Warning! W1027: file CMakeFiles\freeglut.dir\src\fg_window.c.obj(..\src\fg_window.c): redefinition of _fghDisableVertexAttribArray ignored’ and for the static versions of the demos:- ‘Warning! W1027: file lib\freeglut_static.lib(..\src\fg_gl2.c): redefinition of _fghBufferData ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_gl2.c): redefinition of _fghDeleteBuffers ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_gl2.c): redefinition of _fghGenBuffers ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_gl2.c): redefinition of _fghVertexAttribPointer ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_gl2.c): redefinition of _fghBindBuffer ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_gl2.c): redefinition of _fghEnableVertexAttribArray ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_gl2.c): redefinition of _fghDisableVertexAttribArray ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_geometry.c): redefinition of _fghBufferData ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_geometry.c): redefinition of _fghDeleteBuffers ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_geometry.c): redefinition of _fghGenBuffers ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_geometry.c): redefinition of _fghVertexAttribPointer ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_geometry.c): redefinition of _fghBindBuffer ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_geometry.c): redefinition of _fghEnableVertexAttribArray ignored Warning! W1027: file lib\freeglut_static.lib(..\src\fg_geometry.c): redefinition of _fghDisableVertexAttribArray ignored’. f). All the demos ran OK, except ‘fractals’ and ‘fractals_random’ because ’fractals.dat’ was not placed in the ‘bin’ directory as part of the CMake process. When I copied the file over and re-ran the demos, the window title was corrupted. This seems to be down to the fact that the WATCOM compiler does not recognize ‘a-zA-Z0-9’ in an sscanf format string. In line 246 of ‘fractals.c’: if I replace "%[a-zA-Z0-9!@#$%^&*()+=/\\_-\" ]" with "%[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZ0123456789!@#$%^&*()+=/\\_\" –]" then the window title is correctly read in. On another note: I’m not sure the fractals algorithm works in ‘fractals’ as they do not seem to be generated as you zoom in. This is not the case with ‘fractals_random’, were they seem to be generated correctly. I don’t think this is a problem with freeGLUT though. g). One final note: it would be a little more user friendly, to those who use compilers that CMake does not generate IDE project files for, if you set up a couple of flags for compiler switches and pre-processor directives that are user defined. Because you define ‘WINVER’ and ‘_WIN32_WINNT’ in ‘CMakeLists.txt’: I cannot then redefine them as compiler switches in the generated ‘CMakeCache.txt’ as wmake treats the redefinition as an error. So, if I want to compile for say windows 7, I must edit ‘CMakeLists.txt’. If I want to add compiler switches; I must edit ‘CMakeCache.txt’. It would be really good if you could, somehow, create two variable names that appear in the same CMake window as ‘CMAKE_BUILD_TYPE’ et.al. that allowed the user to modify, or add to, the compiler switches and pre-processor directives. Not sure whether this is possible, but I thought I would mention it anyway, hope this helps, regards, Kevin. |