Re: ___getreent error when compiling OpenGL/SDL program using gcc
On Tue, 25 Nov 2003, Bob E wrote: Hello, I have been trying to compile a SDL/OpenGL program. The program works under linux, and I am able to get single-file OpenGL/SDL programs to compile and run with cygwin. When linking multiple files however, I get this strange errors: gcc -g view3ds.o gl_video.o sdl_event.o sdl_video.o object.o -o view3ds -lgl ut32 -lopengl32 -lGLU32 -lopengl32 `sdl-config --cflags --libs` -lm view3ds.o(.text+0x94): In function `resizeWindow': /home/Bob/prog/sdl2/view3ds.c:37: undefined reference to `_gluPerspective' view3ds.o(.text+0x3ca): In function `DrawScene': /home/Bob/prog/sdl2/view3ds.c:93: undefined reference to `_gluErrorString' view3ds.o(.text+0x3d2):/home/Bob/prog/sdl2/view3ds.c:94: undefined reference to `___getreent' view3ds.o(.text+0x7a2): In function `main': /home/Bob/prog/sdl2/view3ds.c:160: undefined reference to `___getreent' view3ds.o(.text+0x7dc):/home/Bob/prog/sdl2/view3ds.c:167: undefined reference to `___getreent' view3ds.o(.text+0x809):/home/Bob/prog/sdl2/view3ds.c:174: undefined reference to `___getreent' view3ds.o(.text+0x841):/home/Bob/prog/sdl2/view3ds.c:183: undefined reference to `___getreent' I am using gcc 3.3.1 I don't claim this as a fix, but the opengl readme states that the correct order for the lib files is: -lglut32 -lglu32 -lopengl32 which is slightly different to what you have. Can you try it that way and see ? Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
RE: linking 3rd party DLLs to my code
Thanks for the help - it does work now. I changed PATH inside my shell and that worked. I guess that if I wanted to run it from windows, I would change the windows PATH as well. Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
linking 3rd party DLLs to my code.
Hi, I am trying to link a 3rd party dll to my code. Specifically I have a library cg.dll and wish to link it using -lcg Now I read the FAQ section on using DLLs, and unfortunately the library has stripped symbols (and I have no access to its src) so I can't make the import libraries as the FAQ describes. However I am able to link it. putting cg.dll in /usr/local/lib (say) and compiling with gcc -mno-cygwin files -L/usr/local/lib -lcg compiles with no complaints. However, cygcheck complains, saying that it cannot find the dll. When I place the dll physically in the dir that I am running from however, the code runs fine. (soft linking doesn't work; the dll has to be physically placed there). What might be the problem with what I am doing ? I suspect that I am doing something wrong to begin with and the fact that I can even link the DLL is an accident, rather than the other way around. Any help would be greatly appreciated. p.s for opengl folks, this is the Cg library from nvidia for programing shaders. Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
OpenGL and cygwin
Hi all, I have been trying for the last few days to recreate some of the OpenGl problems that I have been asking the list about. Fortunately (or unfortunately, depending on one's perspective :)), I have been unable to get the errors reproduced in a standalone form, and in fact many of my OpenGL programs, even those that use more advanced features of OpenGL 1.3+, are working fine. Thanks a lot to Andre, Brian and CGF for helping out. Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: OpenGL and Cygwin
On Mon, 3 Nov 2003, Brian Ford wrote: AFAIK, Cygwin's glut is 3.7.3. 61 [unknown (0x48)] ? 3804 cygheap_fixup_in_child: Couldn't reserve space for cygwin's heap (0x6160 0x0) in child, Win32 error 487 WAG: Have you read this? I read the doc on increasing cygwin's max memory limit and ran the test program provided there. The limit I get is 1 GB, and my program memory usage is only in the small MB - so I don't think a simple memory limit is the problem here. p.s I also tried using the cygwin glut package, with the same results. I will try to pare down the program to its basic error-producing elements: since the red book demos work fine, there is something in the extra functionality I am using (histogramming etc) that might be causing this. In the meantime, any thoughts, suggestions would be appreciated. thanks ! -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: OpenGL and cygwin
On Mon, 10 Nov 2003, Christopher Faylor wrote: On Mon, Nov 10, 2003 at 12:06:53PM -0500, Suresh Venkatasubramanian wrote: 61 [unknown (0x48)] ? 3804 cygheap_fixup_in_child: Couldn't reserve space for cygwin's heap (0x6160 0x0) in child, Win32 error 487 WAG: Have you read this? I read the doc on increasing cygwin's max memory limit and ran the test program provided there. The limit I get is 1 GB, and my program memory usage is only in the small MB - so I don't think a simple memory limit is the problem here. This problem is usually caused by dll placement in forked processes and should be fixed by rebasing any dlls that you use. Sorry: am a cygwin newbie. I read /usr/doc/Cygwin/rebase-2.2.README and noted that there are some parameters I need to supply to rebaseall ? or to rebase itself ? Is there a way to figure out how to do this ? I use cygcheck to check which dlls I am using, and its output is: euclid 2:04pm [3d_diameter] cygcheck main Found: .\main.exe main.exe C:\WINDOWS\System32\msvcrt.dll C:\WINDOWS\System32\KERNEL32.dll C:\WINDOWS\System32\ntdll.dll C:\WINDOWS\System32\GLU32.DLL C:\WINDOWS\System32\OPENGL32.dll C:\WINDOWS\System32\ADVAPI32.dll C:\WINDOWS\System32\RPCRT4.dll C:\WINDOWS\System32\GDI32.dll C:\WINDOWS\System32\USER32.dll C:\WINDOWS\System32\DDRAW.dll C:\WINDOWS\System32\DCIMAN32.dll C:\cygwin\bin\glut32.dll C:\WINDOWS\System32\WINMM.dll I am guessing that the main dlls I am concerned with are: glut32.dll glu32.dll opengl32.dll Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: OpenGL and cygwin
I see. this is true I think, inasmuch as I compiled the program using gcc -mno-cygwin (because I need native windows opengl dlls rather than the cygwin stuff) On Mon, 10 Nov 2003, Jason Tishler wrote: Suresh, On Mon, Nov 10, 2003 at 02:02:29PM -0500, Suresh Venkatasubramanian wrote: euclid 2:04pm [3d_diameter] cygcheck main Found: .\main.exe main.exe C:\WINDOWS\System32\msvcrt.dll C:\WINDOWS\System32\KERNEL32.dll C:\WINDOWS\System32\ntdll.dll C:\WINDOWS\System32\GLU32.DLL C:\WINDOWS\System32\OPENGL32.dll C:\WINDOWS\System32\ADVAPI32.dll C:\WINDOWS\System32\RPCRT4.dll C:\WINDOWS\System32\GDI32.dll C:\WINDOWS\System32\USER32.dll C:\WINDOWS\System32\DDRAW.dll C:\WINDOWS\System32\DCIMAN32.dll C:\cygwin\bin\glut32.dll C:\WINDOWS\System32\WINMM.dll AFAICT, the above implies that main is *not* a Cygwin app. If this conclusion is correct, then rebasing will not help. Jason -- PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers Fingerprint: 7A73 1405 7F2B E669 C19D 8784 1AFD E4CC ECF4 8EF6 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: OpenGL and cygwin
OK. now I am really confused. Let me try to summarize what I want to do. I want to compile an OpenGL program that uses the native windows opengl drivers for linking rather than cygwin's libraries. I compiled my code using gcc -mno-cygwin src files -lglut32 -lglu32 -lopengl32 also making sure that I was using the /usr/include/w32api/GL includes. the code compiles correctly, and does not run, giving the error I indicated earlier. Various suggestions (Andre/Brian) indicated that I could use /usr/bin/glut32.dll as opposed to an nvidia glut dll that I had been using for this purpose. The error I get is independent of the choice of dll used. cjf's mail now indicates that I cannot do this ? any help would be greatly appreciated Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: OpenGL and cygwin
True, but I am not using cygwin dlls. I am using native windows opengl dlls and an nvidia glut dll. moreover, I compile using -mno-cygwin Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: OpenGL and cygwin
On Mon, 10 Nov 2003, Christopher Faylor wrote: On Mon, Nov 10, 2003 at 04:43:10PM -0500, Suresh Venkatasubramanian wrote: True, but I am not using cygwin dlls. I am using native windows opengl dlls and an nvidia glut dll. moreover, I compile using -mno-cygwin Go back and read the output from cygcheck that you sent to this mailing list. It shows that you *are* using a cygwin DLL: C:\cygwin\bin\glut32.dll So, I will say it again: You can't use cygwin DLLs in a non-cygwin application. I understand what you are saying. Hence I tried compiling using an nvidia glut dll rather than cygwin\bin\glut32.dll. The results I got were the same i.e the same error. nvidia is a graphics card manufacturer and they provide windows dlls for their windows demos (that run fine). The glut32.dll they provide is non-cygwin as are the other opengl dlls I am using, so as far as I can make out, all my dlls are non-cygwin. euclid 5:06pm [3d_diameter] cygcheck main Found: .\main.exe main.exe C:\WINDOWS\System32\msvcrt.dll C:\WINDOWS\System32\KERNEL32.dll C:\WINDOWS\System32\ntdll.dll C:\WINDOWS\System32\GLU32.DLL C:\WINDOWS\System32\OPENGL32.dll C:\WINDOWS\System32\ADVAPI32.dll C:\WINDOWS\System32\RPCRT4.dll C:\WINDOWS\System32\GDI32.dll C:\WINDOWS\System32\USER32.dll C:\WINDOWS\System32\DDRAW.dll C:\WINDOWS\System32\DCIMAN32.dll .\glut32.dll C:\WINDOWS\System32\WINMM.dll where .\glut32.dll is the nvidia dll I was referring to. the error message (on this executable) is reproduced below: euclid 5:09pm [3d_diameter] ./main ifile1 2 [unknown (0x8C4)] ? 2364 cygheap_fixup_in_child: Couldn't reserve spacefor cygwin's heap (0x6160 0x0) in child, Win32 error 487 C:\cygwin\home\Suresh\src\myopengl\envelopes\3d_diameter\main.exe: *** m.AllocationBase 0x6160, m.BaseAddress 0x6160, m.RegionSize 0x3000, m.State 0x1000 Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: OpenGL and cygwin
I see. What is interesting is that I tried running the program from outside bash (i.e via a windows prompt), and then it complained because it couldn't find cygwin1.dll. So the cygwin dll is indeed being linked somehow. my compiling command line is: g++ -w -mno-cygwin from inside a cygwin tcsh shell. Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: OpenGL and cygwin
On Mon, 10 Nov 2003, Brian Ford wrote: This is part of your confusion. Cygwin proper has no OpenGL libs (ie. opengl32, glu32) per se. It only has import libraries for the Window's ones. (Cygwin does have a glut.dll and import lib as you have seen.) Cygwin XFree86 supplies OpenGL libs (ie. GL, GLU) via Mesa software emulation. I compiled my code using gcc -mno-cygwin src files -lglut32 -lglu32 -lopengl32 Did you try it without -mno-cygwin? You will still get your Nvidia OpenGL libs, but will be subject to Cygwin's license. the code compiles correctly, and does not run, giving the error I indicated earlier. Maybe this is because you are getting Cygwin's glut import lib even when using Nvidia's glut? Just a guess. So I compiled without -mno-cygwin. According to cygcheck, I get the correct dlls (dump enclosed below). This time the program runs silently, and exits without popping up a window and with no errors. From appropriately placed print statements, it appears that the program is having trouble creating a window with glutCreateWindow and appears to die silently before completing that step (or just after). As I mentioned earlier, I will try to create a pared-down version that recreates the problem: might be easier to circulate the src then, if anyone wants to try their hand at compiling it... euclid 8:00pm [3d_diameter] cygcheck main.exe Found: .\main.exe main.exe C:\cygwin\bin\cygwin1.dll C:\WINDOWS\System32\KERNEL32.dll C:\WINDOWS\System32\ntdll.dll C:\WINDOWS\System32\GLU32.DLL C:\WINDOWS\System32\msvcrt.dll C:\WINDOWS\System32\OPENGL32.dll C:\WINDOWS\System32\ADVAPI32.dll C:\WINDOWS\System32\RPCRT4.dll C:\WINDOWS\System32\GDI32.dll C:\WINDOWS\System32\USER32.dll C:\WINDOWS\System32\DDRAW.dll C:\WINDOWS\System32\DCIMAN32.dll .\glut32.dll C:\WINDOWS\System32\WINMM.dll Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs The guitar is the ideal instrument for anyone who is able to love loneliness. --Angelo Gilardino -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
mouse: (was Re: sshd and cat)
On Sun, 19 Oct 2003, Thorsten Kampe wrote: * Asif Iqbal (2003-10-19 01:45 +0200) The third thing I just noticed I can't copy using my mouse. Yes, you can. If you are using the windows console you can enable this in the properties dialog and if you are using rxvt you just have to select the text. Moreover, using xwinclip can allow you to copy from cygwin windows to Windows. However, I am still trying to get the reverse to work: namely, transferring something from the Windows clipboard to a cygwin window. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
OpenGL and Cygwin
Hi, I apologize in advance if this duplicates questions already asked and answered: I have searched the cygwin/cygwin-apps mailing lists already, and there appears to be no clear answer, and most of the FAQs are a bit outdated. I have an opengl program that I wish to compile under the cygwin environment, but using NO mesa drivers, only the native windows drivers. This program uses GLU and GLUT, as well as opengl and nvidia extensions. Now I have downloaded the nvidia extensions headers, and am able to create object files correctly, after some experimenting (it appears that I need to use the -mno-cygwin flag to enable the _WIN32 macros). However, I have severe problems when linking using g++ *.o -lglu32 -lglut32 -lopengl32 (as per the /usr/doc/opengl*/README file). Most of the stubs cannot be found. A sampling of the errors I get: undefined reference to [EMAIL PROTECTED] undefined reference [EMAIL PROTECTED] A sign that I am probably missing some more basic libs is that I even get undefined references to __assert, as well as something mysterious called __imp__iob, which again looks like somethng unrelated to the opengl code I am compiling. I'd appreciate any help Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs Amateurs built the Ark; professionals built the Titanic - heard on Car Talk -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Cygwin and vertex/pixel programs
Hi, I was perusing the cygwin mailing lists and was wondering if you could help me with a cygwin/opengl question. i have an nvidia graphics card that doesn't yet have linux drivers. hence, I was considering using cygwin to write my code in windows. Now, from what i understand, cygwin allows me to link to the native windows opengl dlls, is that correct ? And therefore, does that mean that access to the latest opengl dlls is independent of cygwin (i just have to download the latest ones) ? The reason this is of concern is because my work typically makes use of the newer extensions like vertex programs and fragment programs, (the ARB_fragment_program and ARB_vertex_program extensions etc) and I would need to be able to use those. Thanks a lot, Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs Amateurs built the Ark; professionals built the Titanic - heard on Car Talk -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: Cygwin and vertex/pixel programs
On Wed, 15 Oct 2003, Brian Ford wrote: On Wed, 15 Oct 2003, Suresh Venkatasubramanian wrote: i have an nvidia graphics card that doesn't yet have linux drivers. hence, I was considering using cygwin to write my code in windows. Really? I thought that all Nvidia cards capable of pixel/vertex shaders had Linux driver support. Like in all such cases, the driver support is limited, and currently does not work on laptops that use the latest mobile nvidia cards. their desktop linux support is quite good though. My problem is that I am using a dell 8600 laptop They work. That is excellent. Just curious - have you used things like Cg (the nvidia hi level shader language) under cygwin as well ? Please see /usr/doc/opengl-1.1.0/README.txt. Note that some of that info is out of date. In particular, if you are using gcc 3.3.1, you will want to move /usr/include/GL/[gl.h glu.h] out of the way so you get the ones in /usr/include/w32api/GL instead. Also, you will need to include GL/glext.h (which comes from there too), and ignore the references to GL_VERSION_*. An updated OpenGL package for Cygwin is in the works to fix these issues (I think). A second note. You mentioned Linux, which would imply that you expect to code using GLX. Xfree86 under Cygwin does not currently use a pass through mechanism to the native OpenGL DLLs. Instead, it uses Mesa software rendering (not HW accelerated), and the previous document/comments do not apply. If you use this method, use standard GLX includes/libs ie. -I /usr/X11R6/include -L /usr/X11R6/lib -lGLU -lGL. You must use Windows wgl windowing code (ie. no X) to get acceleration and native OpenGL DLLs. I think I understand. What you saying is that if I want windows and native dlls I have to use the wgl... versions of OpenGL rather than writing linux-like glx code. Thanks a lot. your response really helped. Suresh Venkatasubramanian, Ph: 973 360 8951 (o) Member, Technical StaffWeb: http://www.research.att.com/~suresh/ ATT Shannon Labs Amateurs built the Ark; professionals built the Titanic - heard on Car Talk -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/