--- Log opened Sun Aug 12 00:00:43 2012 |
00:20 | < Tarinaky> | Argh. |
00:21 | < Tarinaky> | Why does Windows suck so much. |
00:23 | <&Derakon> | Hm, the "use classes to fake having modules so you can alias arbitrary modules into a given namespace" hack seems to be working. |
00:23 | <&Derakon> | Though it does result in errors like "AttributeError: FakeModule instance has no attribute 'ItemMapPrompt'" |
00:30 | < Tarinaky> | So I installed SDL_image into /usr/local in cygwin but a demo program I'm trying to build (to verify that it works) is giving me trouble at the ./configure stage. |
00:30 | < Tarinaky> | checking for IMG_Load in -lSDL_image... no |
00:30 | < Tarinaky> | I can't find anything helpful on Google, just some stuff telling Mandrake users to use the Mandrake package manager. |
00:30 | <&Derakon> | /usr/local probably isn't in whatever the appropriate environment variable is. |
00:30 | <&Derakon> | $LD_LIBRARY_PATH, maybe. |
00:33 | < Tarinaky> | Umm.. that's for shared libraries... |
00:33 | < Tarinaky> | Which isn't applicable because I'm not using shared libraries and 2) I'm on Windows? |
00:34 | | * Derakon shrugs. |
00:35 | < Namegduf> | Tarinaky: I strongly suspect you are, and it is relevant because Cygwin simulates the Linux model. |
00:35 | < Namegduf> | DLLs are "shared libraries". |
00:37 | < Tarinaky> | Yes, but they aren't loaded until run time. |
00:38 | < Namegduf> | Shared libraries aren't, either. |
00:38 | < Tarinaky> | Whatever, what should I do? |
00:39 | <&ToxicFrog> | Er |
00:39 | < Namegduf> | It looks like your SDL_image doesn't match the one it wants. |
00:39 | < Namegduf> | At a best guess. |
00:39 | < Namegduf> | It's checking for something in the library and it is absent. |
00:39 | <&ToxicFrog> | (a) LD_LIBRARY_PATH only covers runtime linking; configure is checking compile-time linking (against both static and dynamic libraries) |
00:40 | <&ToxicFrog> | (b) /usr/local is probably not checked by gcc by default. Try ./configure --help and see if there's an option for telling it where SDL_Image is installed; alternately, install SDL_Image in /usr rather than /usr/local |
00:40 | < Namegduf> | There will be another environmental variable you can use for ld, then. |
00:40 | < Namegduf> | (ld is the linker used by gcc) |
00:41 | <&ToxicFrog> | No. ld only takes search paths on the command line. |
00:41 | <&ToxicFrog> | If you're building yourself you can just go -L/usr/local/lib, but I don't know of a convenient way to pass this to configure. |
00:42 | < Tarinaky> | There's --with-sdl-prefix=PFX Prefix where SDL is installed (optional) |
00:42 | < Tarinaky> | That's alll I can see. |
00:42 | < Namegduf> | Pass it /usr/local |
00:43 | < Tarinaky> | *** Unable to find SDL_image libary |
00:43 | <&ToxicFrog> | (This is, incidentally, not a windows problem; improper installs of libraries on linux will fail in exactly the same manner) |
00:44 | <&ToxicFrog> | You're sure you have the devel version installed, with headers, and not just the runtime? |
00:44 | < Tarinaky> | (Yes, but Linux has package managers that mean this doesn't happen) |
00:44 | < Tarinaky> | Yes. |
00:45 | < Tarinaky> | $ ls /usr/local/include/SDL_image.h |
00:45 | < Tarinaky> | /usr/local/include/SDL_image.h |
00:47 | <&ToxicFrog> | idkwtf then. Try installing it to /usr instead and see if that helps. |
00:47 | <&ToxicFrog> | (death to autoconf) |
00:48 | < Namegduf> | I'm convinced that it is finding an SDL_image. |
00:48 | < Namegduf> | It could be configure giving a bad message, but normally it says when it can't find a library at all. |
00:48 | < Namegduf> | That says it doesn't have a particular thing in the library. |
00:48 | <&ToxicFrog> | Namegduf: in my experience it's a total crapshoot. |
00:48 | < Namegduf> | That's normally a version problem. |
00:48 | <&ToxicFrog> | "checking for IMG_Load in -lSDL_image" could mean any of the following: |
00:48 | <&ToxicFrog> | - no header, IMG_Load not declared |
00:49 | <&ToxicFrog> | - found the header but not the library, couldn't link |
00:49 | <&ToxicFrog> | - found the header and the import library but not the runtime libary (if applicable), couldn't execute test program |
00:49 | <&ToxicFrog> | - found the header and the library but didn't find the function in question, version mismatch |
00:49 | < Namegduf> | Are there any previous lines referring to SDL_image? |
00:50 | <&ToxicFrog> | sometimes you get a different message if it outright fails to find/include/link the library. This does not happen often enough for me to consider it reliable. |
00:51 | | Tarinaky [tarinaky@Nightstar-dd7e4a05.net] has quit [Ping timeout: 121 seconds] |
00:55 | | Tarinaky [tarinaky@Nightstar-dd7e4a05.net] has joined #code |
01:00 | | Tarinaky_mibbit [50e51fec@Nightstar-36f67fd0.mibbit.com] has joined #code |
01:00 | < Tarinaky> | Oh. |
01:01 | < Tarinaky> | Only after I load up mibbit does it work again :/ |
01:01 | | Tarinaky_mibbit [50e51fec@Nightstar-36f67fd0.mibbit.com] has quit [[NS] Quit: http://www.mibbit.com ajax IRC Client] |
01:01 | < Tarinaky> | checking for sdl-config... /usr/local/bin/sdl-config |
01:01 | < Tarinaky> | checking for SDL - version >= 1.2.11... yes |
01:01 | < Tarinaky> | checking for IMG_Load in -lSDL_image... no |
01:01 | < Tarinaky> | No error about whether the lib is there or not. |
01:02 | < Tarinaky> | I don't -really- see how there's any scope for a mismatched version because this is the version the page with the demo program linked directly to. |
01:02 | < Tarinaky> | And the function it's checking for is pretty core to the functionality of the lib. |
01:03 | <&Derakon> | Hm, 1232-line diff. |
01:03 | < Tarinaky> | Can anyone recommend a way of testing SDL/SDL_image is installed correctly? |
01:03 | <&Derakon> | Though some of that is due to moving files around. |
01:04 | < Tarinaky> | 1,232 lines is like... one important source file |
01:04 | < Tarinaky> | And if half of those are delitions... |
01:04 | < Tarinaky> | *deletions |
01:05 | <&Derakon> | Four removed files; 19 modified or added ones. |
01:05 | <&Derakon> | And a) a 1k-line file is about my upper limit usually; b) you shouldn't be changing the entire file in a given diff. |
01:06 | < Tarinaky> | Moving a file is equiv to a patch deleting every line and adding every line somewhere else though. |
01:07 | <&Derakon> | Sure...the files being moved here are a max of 333 lines long (the originals were smaller, but they've increased in size a bit during the move). |
01:07 | < Tarinaky> | iirc git only detects renames internally and the patches are still, well... deltas. |
01:08 | < Tarinaky> | Anyway, I'll shut up. |
01:16 | < Tarinaky> | In CMake, does Find_Package throw an error if it can't find a package or does it fail silently? |
01:31 | | gruber [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code |
01:31 | | gnolam is now known as NSGuest19778 |
01:31 | | gruber is now known as gnolam |
01:33 | | EvilDarkLord [jjlehto3@Nightstar-a5db08cc.org.aalto.fi] has quit [Ping timeout: 121 seconds] |
01:34 | | NSGuest19778 [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [Ping timeout: 121 seconds] |
01:38 | | Tarinaky [tarinaky@Nightstar-dd7e4a05.net] has quit [Ping timeout: 121 seconds] |
01:41 | | Tarinaky [tarinaky@Nightstar-dd7e4a05.net] has joined #code |
01:42 | | EvilDarkLord [jjlehto3@Nightstar-a5db08cc.org.aalto.fi] has joined #code |
02:10 | <&Derakon> | New plot of Pyrel's progress: http://derakon.dyndns.org/~chriswei/games/pyrel/locplot3.png |
02:10 | <&Derakon> | I fixed a bug in the plotter script that would cause it to consider files that were no longer part of the repo. |
02:23 | < Tarinaky> | Things that stuff you up going from Python back to C-family... Accidentally denoting a comment with '#'. |
02:23 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
02:25 | <@Alek> | :P |
02:29 | < Tarinaky> | Does anyone have any opinions about C++ documentation generators? |
02:29 | < iospace> | Tarinaky: that's true of any family :P |
02:29 | < Tarinaky> | iospace: Except for families where '#' -is- a comment. |
02:30 | < Tarinaky> | Unless that was a clever joke I didn't get. |
02:31 | | Attilla [Obsolete@Nightstar-7d70e2d5.as43234.net] has quit [Ping timeout: 121 seconds] |
02:36 | < Tarinaky> | Damnit! Done it again! |
02:36 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
02:36 | | mode/#code [+o himi] by ChanServ |
02:40 | < Tarinaky> | Things I don't understand about CMake: When does case matter, and when doesn't case matter? |
02:40 | < Tarinaky> | When case matters: What should that case actually be? |
02:41 | < Tarinaky> | So far I've established that the 'functions' are type-insensitive... I think maybe the variables are type sensitive? |
02:42 | | Kindamoody[zZz] is now known as Kindamoody |
02:44 | < Tarinaky> | I think java must have a readLine function somewhere because I keep confusing it for getline :/ |
02:50 | < Tarinaky> | Either I'm doing something really stupid... Or I'm doing something really stupid >.< |
02:58 | < Tarinaky> | Okay. I've got a little test program for SDL/OpenGL and it compiles without error. But it isn't actually drawing anything. |
02:58 | < Tarinaky> | The problem being it should be. |
03:17 | < Tarinaky> | Can anyone tell me what I'm doing wrong here? http://pastebin.com/f4Yjd3vk It compiles without error but it doesn't draw the Quad. |
03:52 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
04:05 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
04:05 | | mode/#code [+o himi] by ChanServ |
05:01 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has quit [Ping timeout: 121 seconds] |
05:06 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code |
05:06 | | mode/#code [+o Alek] by ChanServ |
05:45 | <~Vornicus> | Try different modes - line loop, triangle strip or fan... |
05:46 | <~Vornicus> | You've turned on textures but I don't see any textures applied. I don't know my OpenGL but that might be a slight issue? |
05:46 | <~Vornicus> | also why the space are you using immediate mode |
05:46 | < celticminstrel> | Because it's a test program. Duh. |
05:46 | < celticminstrel> | ;) |
05:47 | <~Vornicus> | Make sure the camera is pointed where you think it is - draw a sphere with axis-based coloring around the camera's location and see if you see something |
05:51 | < Tarinaky> | I mostly copied the code from a tutorial except stuffing it into a single function. |
05:51 | < Tarinaky> | Also: this is really weird. |
05:52 | < Tarinaky> | cout << "GL_VERSION: " << glGetString(GL_VERSION) << endl; appears to hang. |
05:52 | < Tarinaky> | It outputs GL_VERSION: and then no more. |
05:52 | < Tarinaky> | But program flow seems to continue... |
05:52 | < Tarinaky> | Like it's just skipping those lines entirely? |
05:53 | <~Vornicus> | If it's actually outputting it's hitting the endl |
05:53 | < Tarinaky> | Yeah, but the next two lines are cout << "GL_VENDOR: " << glGetString(GL_VENDOR) << endl; cout << "GL |
05:53 | < Tarinaky> | _RENDERER: " << glGetString(GL_RENDERER) << endl; |
05:53 | < Tarinaky> | I dunno why it inserted a return there... |
05:54 | < Tarinaky> | But it goes on to initialise the display after those three lines. |
05:54 | < Tarinaky> | So it's not hung. |
05:55 | < Tarinaky> | And I currently can't figure out how to get gdb to put a breakpoint where I want it when I'm outside the source tree. |
05:55 | | Kindamoody is now known as Kindamoody|breakfast |
05:57 | < Tarinaky> | Hang on. I think CMake is ignoring my instruction telling it to compile with debug symbols. |
05:57 | | * Tarinaky shakes his fist at the damn thing. |
06:05 | < Tarinaky> | Well, now I'm getting a VERSION. |
06:05 | < Tarinaky> | But the Vendor and Renderer lines still aren't outputting anything. |
06:05 | < Tarinaky> | gdb is showing they're being run though. |
06:08 | < Tarinaky> | Oh wait, no it isn't. |
06:08 | < Tarinaky> | The 34 is a line number. |
06:08 | < Tarinaky> | And it's not adding the endl. |
06:28 | < Tarinaky> | Still can't find anything for that on google. All the posts relate to the functions causing segfaults or returning null, which this isn't doing. |
06:28 | | Kindamoody|breakfast is now known as Kindamoody |
06:43 | | Derakon is now known as Derakon[AFK] |
08:11 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
08:28 | <&McMartin> | https://www.schneier.com/blog/archives/2010/04/fun_with_secret.html |
08:28 | <&McMartin> | Probably not entirely SFW |
08:41 | < Namegduf> | That is awesome. |
09:00 | < Rhamphoryncus> | oh bugger, forgot to close irc XD |
09:20 | | * McMartin gets 2/3 of the way to solving his final 4clojure problem. |
09:20 | <&McMartin> | After that, I can start doing OpenGL practice myself! |
09:59 | < Tarinaky> | Hey, anyone have any clues on that OpenGL problem I have? |
09:59 | < Tarinaky> | I'm having no luck with it and it's infuriating :/ |
10:00 | < Tarinaky> | brb, I need coffee. |
10:05 | | Attilla [Obsolete@Nightstar-41c23e15.as43234.net] has joined #code |
10:07 | < Rhamphoryncus> | Tarinaky: twiddle your z coordinate. It may be too close |
10:08 | < Rhamphoryncus> | umm, and do you have near/far swapped in glOrtho? |
10:09 | < gnolam> | Tarinaky: To begin with, your SDL_SetVideoMode flags are hinky. |
10:09 | < gnolam> | SDL_GL_DOUBLEBUFFER is not a flag for that function, and SDL_HWSURFACE and SDL_OPENGL are mutually exclusive. |
10:11 | < Tarinaky> | Back. |
10:11 | < Tarinaky> | gnolam: Issue persists even if SDL_OPENGL is the only flag passed. |
10:11 | < Tarinaky> | I tried swapping my ortho coords/near far around. No change. |
10:13 | < gnolam> | Also, it appears that you're drawing that quad in a clockwise order. |
10:14 | < Tarinaky> | Is that the wrong order? |
10:14 | <&McMartin> | Default winding is CCW |
10:15 | <&McMartin> | I think |
10:15 | < Tarinaky> | Also: don't you have to turn that on? |
10:15 | < gnolam> | Also... you have enabled texturing but do not give it a texture or texture coordinates. |
10:16 | < Tarinaky> | Okay, just to check.... |
10:16 | < Tarinaky> | Order should be: 1,1,1 1,0,1 1,1,0 1,0,0 ? |
10:17 | < Tarinaky> | I suppose what I should really ask is: Does it work for anyone else? |
10:18 | < gnolam> | Also: checking for success by comparing against 0x0? Abominable! |
10:18 | < Tarinaky> | Isn't that what null is? |
10:19 | | You're now known as TheWatcher |
10:20 | < Tarinaky> | I can also verify that the problem persists with GL_TRIANGLE_FAN as well. |
10:23 | < Rhamphoryncus> | I don't think 0x0 is valid for null points |
10:23 | < Rhamphoryncus> | Only the literal 0 has that magic |
10:23 | < Tarinaky> | I removed it anyway. |
10:23 | < Rhamphoryncus> | pointers* |
10:24 | < Tarinaky> | I promise I'll be a good boy and not do it again. |
10:24 | < Rhamphoryncus> | Try making near and far both positive. 1 and 10 respectively. Then set your z coordinate to 5 |
10:25 | < Tarinaky> | Nope. |
10:25 | < Rhamphoryncus> | oh, it's left/right/bottom/top. You have left/right/top/bottom |
10:26 | < Tarinaky> | What is? |
10:26 | < Rhamphoryncus> | glOrtho arguments |
10:26 | < Tarinaky> | Tried that. |
10:26 | < Rhamphoryncus> | It's probably several of these issues at once |
10:28 | < Rhamphoryncus> | .. get rid of the glLoadIdentity... |
10:28 | < Tarinaky> | Which one? |
10:28 | < Rhamphoryncus> | all of them? |
10:28 | < Rhamphoryncus> | that resets it |
10:28 | < Rhamphoryncus> | so you're calling glOrtho, then resetting |
10:28 | < Tarinaky> | Only after I've changed matrix. |
10:29 | < Tarinaky> | No change. |
10:29 | < Rhamphoryncus> | hmm forgot there were multiple |
10:29 | < Rhamphoryncus> | old opengl is weird ;) |
10:29 | < Tarinaky> | What about the fact glGetString doesn't work? |
10:32 | < Rhamphoryncus> | Well, you shouldn't need anything except glMatrixMode(GL_PROJECTION) and glOrtho(...). The rest should be fine as defaults, no need to reset them |
10:34 | < Tarinaky> | Nope. |
10:34 | < Rhamphoryncus> | Can you do an updated paste? |
10:35 | < Tarinaky> | http://pastebin.com/8EFUTzCV |
10:36 | < Tarinaky> | Console output is: GL_VERSION: |
10:36 | < Tarinaky> | (No new-line character) |
10:37 | < Rhamphoryncus> | oh. It's crashing :P |
10:37 | < Tarinaky> | It is not. |
10:37 | < Rhamphoryncus> | and SDL is fucking stupid and eats the signals |
10:37 | < Tarinaky> | Oh? |
10:37 | < Rhamphoryncus> | yes. |
10:37 | < Rhamphoryncus> | // Work-around SDL stupidity. We're not a console app. Ctrl-C is |
10:37 | < Rhamphoryncus> | // only used when something is broken, not during normal usage. |
10:37 | < Rhamphoryncus> | signal(SIGINT, SIG_DFL); |
10:37 | < Rhamphoryncus> | signal(SIGSEGV, SIG_DFL); // More stupidity |
10:38 | < Rhamphoryncus> | and #include <signal.h> |
10:39 | < Rhamphoryncus> | Note: Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup signal handlers for some commonly ignored fatal signals (like SIGSEGV). |
10:39 | < Rhamphoryncus> | WTF |
10:40 | < Tarinaky> | Where do I set Noparachute? |
10:40 | < Tarinaky> | Also: no change. |
10:41 | < Rhamphoryncus> | does the console output get further? |
10:42 | < Tarinaky> | No. |
10:42 | < Rhamphoryncus> | It's still crashing there.. and still not emiting the proper error |
10:42 | < Rhamphoryncus> | Make sure you call signal after initializing sdl |
10:43 | < Tarinaky> | No change. |
10:43 | < Tarinaky> | Why does glGetString(GL_VERSION) quietly crashing cause the rest of the << operations to fail? |
10:44 | < Rhamphoryncus> | because it's a *crash*. Your program is no more! It has ceased to be! It is an ex-program! |
10:44 | < Rhamphoryncus> | run in gdb and you should see the segfault |
10:44 | < Tarinaky> | The program still runs. |
10:44 | < Tarinaky> | It continues to execute instructions after that point. |
10:44 | < Tarinaky> | I put the << operations before SDL_SetVideoMode to show this. |
10:45 | < Tarinaky> | Otherwise a Window wouldn't appear. |
10:45 | < Rhamphoryncus> | what? You said that was the only console output. That makes no sense. |
10:45 | < Tarinaky> | I am aware. |
10:45 | < Rhamphoryncus> | gdb it |
10:46 | < Tarinaky> | http://pastebin.com/cBf6tRJp |
10:46 | < Rhamphoryncus> | oh, the gl* calls might not work until after you have a window |
10:46 | < Tarinaky> | I've tried that as well >.> |
10:46 | < Rhamphoryncus> | odd |
10:47 | < Rhamphoryncus> | I think there's a call you're missing.. |
10:47 | < Tarinaky> | But the cout streams should still work. |
10:47 | < Rhamphoryncus> | hrm |
10:47 | < Rhamphoryncus> | yes |
10:47 | < Tarinaky> | I went through two 'tutorials' to see if I was missing anything. Hence all the cruft you had me remove. |
10:47 | < Rhamphoryncus> | it's windows so the signals may not behave the same. No idea if gdb even does |
10:47 | | * Rhamphoryncus nods |
10:48 | < Tarinaky> | Err |
10:48 | < Tarinaky> | Dumb question: how is null capitalised in C++? |
10:50 | < Rhamphoryncus> | the macro is NULL, but it's discouraged in C++ |
10:50 | < Tarinaky> | I wanted to test a hypothesis, I was wrong. Well, whatever glGetString(GL_VERSION) is pushing onto cout it's killing cout. |
10:50 | < Tarinaky> | Hence why all the other operator << fail. |
10:51 | < Tarinaky> | But I have no idea what glGetString(GL_VERSION) is, or might be, returning. |
10:51 | < Tarinaky> | I tried pushing NULL onto cout but that didn't do anything, it just failed silently. |
10:51 | < Rhamphoryncus> | In C it was common for the macro to be defined as (void*)0. That breaks in the presence of classes (or at least the rules they picked), so it's back to defining it merely as 0.. which doesn't gain much |
10:52 | < Rhamphoryncus> | I went back to using printf().. although even there for %s to handle null it's a gnu extension |
10:53 | < Tarinaky> | I think I'm alone in quite liking the stream operators/iostream over printf. |
10:53 | < Rhamphoryncus> | eh, they have some appeal, but some pita too |
10:54 | < Tarinaky> | Any idea what I could try pushing onto cout to make it break? |
10:54 | < Rhamphoryncus> | I tried to do the best of both, then I found out that C++ variadic templates are eye-gouging fun |
10:55 | < Rhamphoryncus> | Try saving the return values, then print a bool for success/failure, then print what was returned |
10:56 | < Tarinaky> | I have a sneaking suspicion that the version is a byte and it happens to coincide with a control character. |
10:56 | < Tarinaky> | As opposed to being a character String. |
10:56 | < Rhamphoryncus> | nope. They're C strings |
10:57 | < Tarinaky> | Well, yes. But usually when you talk about a C String you mean a particular subset of the set of characters. |
10:57 | < Tarinaky> | a-zA-Z0-9 etc... |
10:59 | < Tarinaky> | Good news! I caused a segfault. |
10:59 | < Rhamphoryncus> | Well, it is plausible that there's an EOL character.. iirc windows does stupid in response to that |
10:59 | < Rhamphoryncus> | yay lol |
11:00 | < Tarinaky> | If I try to add anything to the output of glGetString(GL_VERSION) it segfaults. |
11:00 | < Tarinaky> | cout << "GL_VERSION: " << glGetString(GL_VERSION)+1 << endl; |
11:01 | < Tarinaky> | Oh wait. |
11:01 | < Tarinaky> | DERP |
11:01 | < Tarinaky> | It's a pointer. |
11:01 | < Rhamphoryncus> | err.. well, that should just advance the pointer, but if it was empty.. |
11:01 | < Rhamphoryncus> | Oh, save it, then also print the strlen |
11:01 | < Tarinaky> | Nah, a 1-element array is a valid array |
11:01 | < Tarinaky> | Any idea what kind of variable I should use? |
11:01 | < Tarinaky> | int? |
11:02 | < Rhamphoryncus> | http://www.opengl.org/sdk/docs/man/xhtml/glGetString.xml |
11:02 | < Rhamphoryncus> | they say const GLubyte *, which is just unsigned char |
11:03 | < Tarinaky> | So why does char version = *glGetString(GL_VERSION); segfault? |
11:04 | < Rhamphoryncus> | gl isn't initialized |
11:04 | < gnolam> | You need a GL context for any of those functions to work. |
11:04 | < Rhamphoryncus> | *nothing* can be called before it's initialized |
11:06 | < Tarinaky> | "error: cannot convert 'const GLubyte*' to 'int*' " |
11:06 | < Tarinaky> | Same if I try a char* |
11:06 | < Tarinaky> | -.- |
11:07 | < Tarinaky> | This then means I can't strlen it because strlen wants a char* |
11:07 | < Rhamphoryncus> | const unsigned char |
11:07 | < Rhamphoryncus> | probably const it wants |
11:08 | < Tarinaky> | invalid conversion from 'const GLubyte*' to 'const char*' |
11:09 | < Rhamphoryncus> | with unsigned too? |
11:09 | < Tarinaky> | If I make it a const unsigned char* I get: invalid conversion from 'const unsigned char*' to 'const char*' instead. |
11:09 | < Rhamphoryncus> | ergh |
11:09 | < Rhamphoryncus> | it's just being a PITA. Cast it when you call strlen |
11:10 | < Tarinaky> | Segfault |
11:11 | < Rhamphoryncus> | Okay, after you've picked up and rebuilt the computer you've just thrown out the window try doing that in gdb. Compiled with debugging on and optimization off |
11:11 | < Tarinaky> | http://pastebin.com/MuFcefCt |
11:11 | < Tarinaky> | If CMake is behaving it is. |
11:12 | < Rhamphoryncus> | Either your stack is trashed or cmake is not behaving |
11:12 | < Tarinaky> | My stack is trashed. |
11:12 | < Rhamphoryncus> | Wait, is this still a call to gl* before initializing? |
11:12 | < Tarinaky> | I know -g is turned on because I can set a break point by function name. |
11:13 | < Tarinaky> | This is after SDL_SetVideoMode. |
11:13 | < Rhamphoryncus> | Not necessarily true. The functions just need to have external symbols, which is normal in C |
11:14 | < Tarinaky> | If I run make in verbose mode I can see -g being put on the invocation twice. |
11:15 | < Rhamphoryncus> | what about -O? |
11:15 | < Tarinaky> | -O0 |
11:15 | < Rhamphoryncus> | *checks* Yeah, okay |
11:16 | < Rhamphoryncus> | I'm running pretty low on ideas here |
11:17 | < Rhamphoryncus> | updated paste? |
11:17 | < Tarinaky> | http://pastebin.com/rKkftfv1 |
11:18 | < Rhamphoryncus> | oh, print out of the string is null or not before strlen() |
11:19 | < Tarinaky> | p is null. |
11:19 | < Rhamphoryncus> | Okay, that explains the crashes |
11:20 | < Rhamphoryncus> | opengl isn't initialized. You don't have a context |
11:20 | < Tarinaky> | How am I supposed to initialise it? |
11:20 | < Tarinaky> | The examples don't do anything I'm not doing :/ |
11:21 | < Tarinaky> | This is where I got the code: http://www.sdltutorials.com/sdl-opengl-tutorial-basics |
11:21 | < Rhamphoryncus> | Yeah, I dunno |
11:21 | < Rhamphoryncus> | I'm using sdl2 which redesigns all this stuff |
11:22 | < Tarinaky> | I couldn't get SDL2 to compile. |
11:23 | | * Rhamphoryncus nods |
11:29 | < Tarinaky> | Oop, this seems promising. |
11:29 | < Tarinaky> | SDL2 seems to be building. |
11:29 | < Tarinaky> | Does SDL2 use the same headers? |
11:29 | < Tarinaky> | Or will there be an sdl2 header? |
11:30 | < Tarinaky> | Akk! Failed. |
11:31 | < Tarinaky> | SDL_syshaptic has a ton of errors. |
11:31 | < Tarinaky> | And I suspect they might not be my fault for a change. |
11:32 | < Rhamphoryncus> | try SDL_GetWindowFlags and see if SDL_WINDOW_OPENGL is set |
11:34 | < Rhamphoryncus> | .. oh damnit, it booted me from the 1.2 wiki to the 2.0 wiki |
11:39 | < Rhamphoryncus> | Try this to retrieve a function pointer for glGetString: http://sdl.beuc.net/sdl.wiki/SDL_GL_GetProcAddress |
11:39 | < Rhamphoryncus> | iirc, that's specifically for windows that may be loading multiple opengl libraries at once, with different state. That lets you access the one sdl has |
11:39 | < Tarinaky> | I'm going to try building the hg version of SDL 2 and make coffee >.> |
11:41 | < Rhamphoryncus> | Windows is infamous for creating bizarre errors with the multiple libraries thing |
11:43 | < Tarinaky> | I have no idea what I'm supposed to be doing with that. |
11:44 | < Rhamphoryncus> | I'm not entirely sure either |
11:45 | < Rhamphoryncus> | But you could also play with linking order of opengl. Where -lGL is on the command line, that sorta thing |
11:48 | < Tarinaky> | No, I can't.Using CMake. |
12:02 | | Tarinaky_mibbit [50e51fec@Nightstar-36f67fd0.mibbit.com] has joined #code |
12:03 | | Tarinaky [tarinaky@Nightstar-dd7e4a05.net] has quit [Ping timeout: 121 seconds] |
12:04 | | * Tarinaky_mibbit >.>s at his shell being useless. |
12:04 | | Tarinaky [tarinaky@Nightstar-dd7e4a05.net] has joined #code |
12:04 | < Tarinaky> | Okay. |
12:04 | < Tarinaky> | Trying to compile SDLgears from the SDL site. |
12:04 | < Tarinaky> | It's giving me undefined references. |
12:05 | < Tarinaky> | I have no idea why, these are the same functions I can call in my project fine :/ |
12:05 | < Tarinaky> | I really bloody hate Windows. |
12:05 | | Tarinaky_mibbit [50e51fec@Nightstar-36f67fd0.mibbit.com] has quit [[NS] Quit: http://www.mibbit.com ajax IRC Client] |
12:15 | < Tarinaky> | Ha-ha-ha-ha. |
12:15 | < Tarinaky> | Find precompiled SDL2: sdl-config is... well.. not configured. |
12:15 | < Tarinaky> | Faces, palms. |
12:28 | < Tarinaky> | Argh. |
12:28 | < Tarinaky> | I think I am beaten :/ |
12:40 | | * McMartin is VICTORIOUS. |
12:40 | <&McMartin> | http://www.4clojure.com/user/mcmartin |
12:58 | | Kindamoody is now known as Kindamoody|cooking |
14:25 | | Kindamoody|cooking is now known as Kindamoody |
14:50 | <&ToxicFrog> | 98q1``````````````````q |
14:50 | | * Tamber removes the cat from the keyboard. |
15:15 | | Kindamoody is now known as Kindamoody|out |
15:23 | < Rhamphoryncus> | Seen as a pentagonal gyroelongated bipyramid, with D5d, dihedral symmetry, the icosahedron vertices can be positioned in spherical coordinates, with two vertices are placed on the poles of a sphere, the remaining vertices are located at latitude ?arctan(1/2). The longitudes can be found using the antiprismatic symmetry of the remaining ten vertices, thus fixing a point then rotating 36? about the polar axis and reflecting about t |
15:23 | < Rhamphoryncus> | he equator until we return to the original point. |
15:23 | < Rhamphoryncus> | The latitude I get, it's nice and easy. No clue about the longitude. |
15:38 | < Rhamphoryncus> | what would 2h? = ~0.5 mean? |
16:26 | | * Rhamphoryncus fights the urge to use double rather than float |
16:26 | | Derakon[AFK] is now known as Derakon |
16:26 | < Rhamphoryncus> | Not to store a constant. To calculate it. Just so sin(2*M_PI/5.0) might retain another bit of precision. But probably not. x_x |
16:53 | <~Vornicus> | Rham: the bit about the longitude is, the points are all 36 degrees apart |
16:53 | <~Vornicus> | Pick one, the longitudes are 36 degrees away. |
16:54 | < Rhamphoryncus> | Yeah, I figured it out |
16:54 | < Rhamphoryncus> | I was forgetting that I already had the radius |
16:54 | < Rhamphoryncus> | Oh, and I wasn't actually looking for longitude lol |
16:54 | < Rhamphoryncus> | that was a total brainfart |
16:58 | < Rhamphoryncus> | thanks though :) |
17:04 | <~Vornicus> | Also you may get good mileage from asking wolfram alpha to solve these first, you'll probably get better results passing a whole number to sqrt than passing pi around. |
17:05 | <~Vornicus> | the values of sin(arctan(1/2)) and cos(arctan(1/2)) are 1/sqrt(5) and 2/sqrt(5) respectively. |
17:08 | <~Vornicus> | similarly, sin(2pi/5) is sqrt((5+sqrt(5))/8), and there's a variety of other ways of doing that one that may be slightly closer. |
17:14 | < Rhamphoryncus> | ahh maybe |
17:14 | < Rhamphoryncus> | I have tried that before, but it was mostly counter productive |
17:15 | < Rhamphoryncus> | But the precision is just me being neurotic anyway. It's not going to have a significant effect regardless |
18:05 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has quit [Ping timeout: 121 seconds] |
18:07 | <&Derakon> | Hey Rhamph, can you think of any reason why cProfile would just outright fail to generate output? |
18:07 | <&Derakon> | I'm trying to profile Pyrel. |
18:07 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code |
18:07 | | mode/#code [+o Alek] by ChanServ |
18:08 | <&Derakon> | Ideally I'd profile just the part where it processes input and updates the game state, but AFAICT I can only generate one keystroke's worth of data that way (since each keystroke is a separate invocation to cProfile). |
18:08 | <&Derakon> | However, if I try to profile the entire game (starting from when the UI is initialized), then no output is generated at all. |
18:11 | | rms is now known as Vasi |
18:31 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code |
18:31 | <~Vornicus> | Are you having performance issues? |
18:32 | <~Vornicus> | (I imagine you are or you wouldn't be profiling, but that surprises me.) |
18:36 | < Rhamphoryncus> | Derakon: no clue |
19:07 | <&Derakon> | Vorn: yeah, I am, I think. |
19:08 | <&Derakon> | I've maxed out the key repeat rate and yet I only get ~5FPS when holding a directional key down. |
19:08 | <&Derakon> | I suspect my drawing code is inefficient but I'd like to have actual statistics to back me up before I dedicate too much effort in this area. |
19:11 | <~Vornicus> | meh, 5fps isn't too bad, this is a RL |
19:13 | <&Derakon> | It's considerably worse than Angband itself can achieve. |
19:13 | <&Derakon> | I suspect my problem is just that I'm redrawing every tile after every update; instead I should be just tracking which tiles have been changed and only updating them. |
19:13 | <&Derakon> | But, again, I'd like to have confirmation beforehand. Profile before optimizing and all that. |
19:24 | | Kindamoody|out is now known as Kindamoody |
19:27 | <&Derakon> | Mm, yeah, looks like painting an 80x24 view takes .1s. That's no good. |
19:29 | < Rhamphoryncus> | software or hardware(opengl)? |
19:29 | <@Alek> | nope. that's amazingly slow these days. XD |
19:30 | <&Derakon> | Rhamph: uh, whatever wxWidget's paintDC uses. Probably software. |
19:30 | < Rhamphoryncus> | yeah |
19:30 | <&Derakon> | Hardware would require drawing text with OpenGL, which has always been a massive pain. |
19:31 | < Rhamphoryncus> | Better question: how long does it take to blit that without changing anything? Just the preexisting buffer? |
19:31 | <&Derakon> | .0001s. |
19:32 | <&Derakon> | And drawing just the prompt but not the map takes .001s. |
19:32 | < Rhamphoryncus> | .. huh |
19:40 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has quit [Ping timeout: 121 seconds] |
19:42 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code |
19:42 | | mode/#code [+o Alek] by ChanServ |
19:58 | | Kindamoody is now known as Kindamoody[zZz] |
20:34 | <&Derakon> | I wish there were a more concise way to do "for x in xrange(xMin, xMax): for y in xrange(yMin, yMax): yield (x, y)" |
20:35 | <&ToxicFrog> | [(x,y) for x in xrange(xMin, xMax) for y in xrange(yMin, yMax)] |
20:37 | <&Derakon> | ...ah, yes. Thank you. |
20:37 | <&Derakon> | I forgot you could nest comprehensions like that. |
20:38 | <&Derakon> | Though that does generate the entire thing all at once instead of acting as a generator. Oh well. |
20:38 | <~Vornicus> | Use () as opposed to [] |
20:39 | <&Derakon> | ...nice. |
20:40 | <~Vornicus> | also itertools.product(xrange(xMin, xMax), xrange(yMin, yMax)) |
20:40 | | Vasi is now known as rms |
20:43 | | * Vornicus determines that there's a good two dozen places at least in his euler code where he could use an itertool but instead rolled his own. |
20:45 | <~Vornicus> | also most of a pair of utility files. |
20:47 | <~Vornicus> | I always forget itertools exists. |
21:06 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
21:10 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
21:44 | < Tarinaky> | I have awoken! |
21:48 | < Rhamphoryncus> | I have not! Oh, wait.. |
21:56 | | RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has joined #code |
21:59 | < Tarinaky> | Okay. I've emptied out /usr/local. |
21:59 | < Tarinaky> | Lets try this again, from scratch. |
22:00 | < Tarinaky> | Okay. I wonder if it's possible to make cmake use the VC compiler I have installed. |
22:11 | < froztbyte> | should be |
22:11 | < froztbyte> | fiddle with the CC and such environment vars |
22:12 | < froztbyte> | (where "fiddle" means check the bottom of the manpage to see which does what you want) |
22:14 | < Tarinaky> | On second thoughts. |
22:14 | < Tarinaky> | Lets just settle for trying mingw. |
22:14 | < Tarinaky> | VC has different flags. |
22:14 | < Tarinaky> | And I really cba to learn another toolchain right now >.> |
22:14 | < Tarinaky> | export CC=[mingw gcc] and export CXX=[mingw g++] seem to work. |
22:15 | < froztbyte> | hehe |
22:15 | < froztbyte> | why are you even writing c/c++ code atm? |
22:15 | < froztbyte> | it's a sunday |
22:15 | < froztbyte> | I'm sure that's against the geneva convention or something |
22:15 | < Tarinaky> | I'm not. I'm trying to get a build environment working. |
22:15 | < Tarinaky> | So I can learn OpenGL. |
22:15 | < froztbyte> | ah |
22:16 | < Tarinaky> | Also: it's not like I have a real job so people should just be happy I'm not asleep. |
22:17 | < Tarinaky> | I don't have resits, for a change, or a pressure to find a job... So I've been sufficiently bored to rewatch the extended cut of LotR. |
22:17 | < froztbyte> | that's fairly bored |
22:17 | < Tarinaky> | I've still got the third one to slog through, that can wait till Monday. |
22:44 | | * Tarinaky =.=s trying to build SDL2 with mingw. |
22:45 | < Tarinaky> | Oh wait, didn't rerun ./configure properly. |
23:02 | < Tarinaky> | Okay! |
23:02 | < Tarinaky> | Mingw successfully compiled SDL2! |
23:02 | < Tarinaky> | Sweet. |
23:02 | <&McMartin> | Yeah, really, MinGW should be the base case for SDL, tbqh |
23:03 | <&McMartin> | Also, in passing, the only safe way to use MSVC without going through the Visual Studio GUI all the time is SCons |
23:03 | <&McMartin> | Every other method is asking for trouble in huge quantities. |
23:03 | < Tarinaky> | Yeah, I have cygwin instead of MSYS because I use it as my main shell. |
23:03 | <&McMartin> | Oh, right, people do that instead of having Linux boxes on the side ;-) |
23:04 | < Tarinaky> | What do you mean 'instead of'? |
23:04 | < Tarinaky> | :p |
23:04 | <&McMartin> | OK, instead of *using* the Linux boxes on the side. |
23:04 | < Tarinaky> | I use Cygwin to ssh into Linux boxes. |
23:05 | <&Derakon> | McM: there's also nmake on the command line. |
23:05 | <&McMartin> | I've always found Cygwin to be a bit drastic, but if that's all you're using it for it's *really* drastic |
23:05 | <&Derakon> | At work all of our Windows stuff is built that way. |
23:05 | <&McMartin> | Derakon: Hm. I don't consider NMAKE to actually be the MSVC control~ |
23:05 | <&ToxicFrog> | McMartin: ssh -X; cygwin comes with an X server. |
23:05 | <&Derakon> | (Ref "the only safe way to use MSVC") |
23:05 | <&McMartin> | I think SCons actually makes the .vcproj and .sln files and then runs devenv |
23:06 | < Tarinaky> | Cygwin is less drastic now that it doesn't install everything by default... |
23:06 | <&ToxicFrog> | Has it ever installed everything by default? |
23:06 | < Tarinaky> | Yes. |
23:06 | <&McMartin> | Yes |
23:06 | <&ToxicFrog> | I started using it back in 2003 and it didn't then. |
23:06 | <&McMartin> | The Cygwin installer and the fact that OSS guys liked to copy/fork it is a big chunk of the reason NSIS is the best of breed installer -_- |
23:06 | < Tarinaky> | The trouble is, I tend to want 'most' of it installed so it takes forever to set up now. |
23:07 | <&McMartin> | Also, my idea of "drastic" may be warped |
23:07 | <&McMartin> | Most of my programming that has to care about operating systems at all is at the, shall we say, Man Section 2 level? |
23:07 | <&ToxicFrog> | Yeah, I mean, I always install everything anyways because disk is cheap and it's less trouble than forgetting to install something I want later |
23:07 | <&ToxicFrog> | But you have been able to do a minimal Cygwin install for nearly a decade, at least. |
23:07 | <&McMartin> | Which means for me that if I'm doing stuff that's in some sense About Windows, it means I want direct access to the Win32 API. |
23:08 | <&ToxicFrog> | (that said, I would argue that if you find yourself trying to do that, the actual answer is "install MSYS") |
23:08 | <&McMartin> | TF: The thing is, MSYS has always been a superset of the part of Cygwin I actually wanted. |
23:08 | <&McMartin> | Yes. |
23:08 | <&McMartin> | Though MSYS used to be much worse. |
23:08 | <&ToxicFrog> | So much worse, yes. |
23:08 | <&McMartin> | MSYS didn't get actually good until 1.10 or something like that. |
23:08 | < Tarinaky> | I don't really care about the POSIX compatibility. I just want the ports of [insert common GNU tools I use every day, most of which aren't part of GCC] |
23:09 | <&ToxicFrog> | These days I actually don't bother with it because all I used it for was building windows releases, and setting up cross compilers is trivial these days |
23:09 | <&McMartin> | Heh, OK, some of this is also my Python addiction. |
23:09 | < Tarinaky> | rsync, ssh, ls, vim... |
23:09 | <&ToxicFrog> | Cygwin, on the other hand, gets me a lot of stuff that I use and that MSYS doesn't, like an X server and rather a lot of handy command-line utilities |
23:09 | <&McMartin> | Most of the os-level stuff I want to automate I do in Python, not shell, and it turns out those scripts tend to work unmodified on Windows and Linux~ |
23:10 | < Tarinaky> | Because sod trying to remember what the Windows version of ls/mv/cp/rm is. |
23:10 | <&ToxicFrog> | Yeah, I tend to use shell for that, so... |
23:10 | <&McMartin> | dir/move/copy/del |
23:10 | <&ToxicFrog> | except not really, because sometimes move is rename and sometimes rm is deltree |
23:10 | <&ToxicFrog> | or rmdir |
23:10 | <&ToxicFrog> | and dir is also find (and find is grep) |
23:10 | <&McMartin> | And sometimes copy is xcopy or robocopy |
23:11 | <&ToxicFrog> | is robocopy installed by default now? |
23:11 | <&McMartin> | Let me go check~ |
23:11 | <&McMartin> | I don't remember installing it but it does seem to be on Astatine. |
23:12 | <&McMartin> | Anyway, yeah, a big part of this may simply be that less than 5% of my computing time is spent directly interacting with the filesystem. |
23:12 | < Tarinaky> | Directly interacting with the filesystem is never a good idea, better to get some other poor shmuck to do it. |
23:13 | <&McMartin> | And if I've misplaced a file on Windows, I don't run ls or find or dir, I type the name of the file into the Explorer search box and wait for a reply. |
23:13 | <&McMartin> | If I need to *script* a search, I'm doing something complex enough that I'm writing a Python script to do it and then it's crossplatform anyway. |
23:15 | < Tarinaky> | Okay. Does anyone know how I can make sure OpenGL is installed for Native Windows programs, not just cygwin? |
23:16 | < Tarinaky> | Because I -think- that might be part of the issue. |
23:16 | <&McMartin> | That would be pretty astonishing if so. |
23:16 | <&ToxicFrog> | My uses cases tend to be less "find a file" and more "perform a mass permission change, and also rename and/or delete a bunch of stuff based on file type" |
23:16 | <&McMartin> | You should have an opengl32.dll in %WINDIR% |
23:16 | <&McMartin> | Yeah, those? Python scripts. |
23:17 | <&McMartin> | Also, that's less than 1% of my workload. |
23:17 | < Tarinaky> | Right. I don't. |
23:17 | < Tarinaky> | Oh wait. |
23:17 | <&McMartin> | Er |
23:17 | < Tarinaky> | DERP |
23:17 | <&McMartin> | Windows\System32 |
23:17 | <&Derakon> | That reminds me. |
23:17 | <&McMartin> | That's not WINDIR, that's some other var I forget |
23:17 | <&Derakon> | A line from one of my Python scripts: "subprocess.Popen("hg status -u . | perl -ne 'chomp; /\? (.*)/; `rm $1`'", shell = True).wait()" |
23:18 | < Tarinaky> | ls /cygdrive/c/Windows/|grep opengl32.dll returns 0 rows. |
23:18 | <&McMartin> | Try c/Windows/System32 there |
23:18 | <&Derakon> | Because I couldn't be arsed to manually parse the output of `hg status -u` and remove the files with os calls. |
23:18 | <&ToxicFrog> | ...isn't one of Mercurial's big advantages over git that it has a python API you can call directly? |
23:18 | < Tarinaky> | System32 works. |
23:18 | <&Derakon> | TF: could be! |
23:18 | <&McMartin> | Yeah, that's where it lives. |
23:18 | <&Derakon> | I wouldn't know. |
23:18 | < Tarinaky> | Okay. Now. If I'm compiling in Cygwin... is it compiling against something with ABI compat to that? |
23:19 | <&McMartin> | ISTR Not So Much; that this is the primary distinction between Cygwin and MSYS. |
23:19 | <&McMartin> | That may have changed since the last time I checked. |
23:19 | <&ToxicFrog> | AIUI, it should be |
23:19 | <&ToxicFrog> | And it is probably linking against that DLL if you are building with -lopengl32, unless you've provided a separate one |
23:20 | <&ToxicFrog> | Cygwin's distinction isn't an ABI thing, it's that (by default, you can override this) it introduces dependencies on cygwin1.dll et all |
23:20 | < Tarinaky> | X on Cygwin comes with a version of opengl apparently. |
23:20 | <&ToxicFrog> | which is the bit that provides fork() and ftw() and suchike |
23:20 | < Tarinaky> | SDL wants to be built without cygwin dependence... linking against a cygwin version of OpenGL would seem bad |
23:21 | <&McMartin> | Quite |
23:22 | <&ToxicFrog> | All that said |
23:22 | <&ToxicFrog> | Cygwin is a tool for quickly creating windows builds of linux programs |
23:22 | <&ToxicFrog> | Or for giving you a linux-like user environment on windows |
23:22 | < Tarinaky> | I use it for the linux-like user environment. |
23:22 | <&ToxicFrog> | It is explicitly not a tool for creating windows builds of windows programs, although it can be made to behave like one. |
23:22 | < Tarinaky> | And to provide BASH. |
23:23 | <&ToxicFrog> | For that, you should be using mingw, or a windows native IDE. |
23:23 | < Tarinaky> | I am using the mingw toolchain atm. |
23:23 | < Tarinaky> | (The Cygwin version of the mingw toolchain >.>) |
23:23 | <&ToxicFrog> | Yeah, don't do that |
23:24 | <&ToxicFrog> | It is very easy to accidentally end up linking in cygwin libraries |
23:24 | <&McMartin> | Yeah, mingw-gcc has IF YOU DO THIS KITTENS EVERYWHERE DIE |
23:24 | <&McMartin> | In its install instructions |
23:24 | < Tarinaky> | The SDL instructions say to do that because gcc4 doesn't support -mno-cygwin |
23:24 | <&McMartin> | The fastest way to get a basically working and totally independent MinGW toolchain is to install the otherwise execrable Code::Blocks |
23:25 | < Tarinaky> | And cygwin has a mingw package. |
23:25 | <&McMartin> | Unless the other issue here is that there is not yet a MinGW gcc4, which I would readily believe. |
23:26 | <&McMartin> | Yeah, it looks like my MinGW system here is 3.4.5, and I bet they haven't updated since |
23:26 | < Tarinaky> | I can see the issue with using a native MingW in cygwin. |
23:26 | < Tarinaky> | But I'd assume a cygwin version of mingw was designed to run in cygwin. |
23:27 | <&McMartin> | Oh, right |
23:27 | <&McMartin> | Your question "do they program to the ABI used by the Windows DLLs" has a slightly more complicated answer, I think |
23:27 | <&McMartin> | I believe the answer is "no; it goes to standard .a format, and there should be stock .a files that bridge over to the system files" |
23:28 | <&McMartin> | This stands in for the .lib files that do the same thing in MSVC |
23:28 | < Tarinaky> | But the end binary does. |
23:28 | < Tarinaky> | (.a is static library right?) |
23:29 | <&McMartin> | Right. |
23:29 | <&McMartin> | Yeah, the end binary will speak DLL; it pretty much has to, if only because DLL and EXE are the same format with an "are you dynamically loadable by default?" bit flipped. |
23:29 | < Tarinaky> | Anyway. Can I pressure someone into shooting me the shortest technically correct SDL2+OpenGL int main possible? |
23:29 | <&McMartin> | I've never used SDL2. |
23:30 | < Tarinaky> | Just so I can verify it works. |
23:30 | < Tarinaky> | I think a couple of people in here have. |
23:30 | <&ToxicFrog> | <McMartin> I believe the answer is "no; it goes to standard .a format, and there should be stock .a files that bridge over to the system files" |
23:31 | <&ToxicFrog> | In mingw, at least, this is not the case and it can, furthermore, link against MSVC DLLs directly without needing an import library |
23:31 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [[NS] Quit: ] |
23:32 | <&ToxicFrog> | I'm pretty sure Cygwin has that capable as well as of several years ago but don't quote me on that, I haven't actually tested it (because I use mingw for all of the cases where that would come up) |
23:32 | <&McMartin> | It's something you can do as part of code generation, but ISTR there's a directory full of kind of pointless .a files too |
23:32 | <&McMartin> | Maybe that was just for SDL1.x or something and there were significant static components |
23:32 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
23:36 | <&McMartin> | Hmm |
23:36 | <&McMartin> | But -l looks for .a files. |
23:36 | <&McMartin> | Is there a different option for "use this DLL as a source of linkable symbols"? |
23:38 | <&ToxicFrog> | Bearing in mind that I'm not 100% sure this applies to cygwin, but in mingw there is some set of byzantine rules governing what it looks for in what order which is furthermore affected by the use of -static and -dynamic |
23:38 | <&ToxicFrog> | But the short form is, '-lfoo' can link against either 'libfoo.a', 'libfoo.dll', or 'foo.dll' depending on what other flags are used. |
23:40 | <&McMartin> | Oh hey, MinGW GCC is up to 4.6.2 |
23:40 | <&McMartin> | Maybe I should upgrade MinGW on this thing. |
23:43 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
23:45 | < RichyB> | Tarinaky: just pasted one, two |
23:45 | < RichyB> | Tarinaky: http://pastebin.starforge.co.uk/535 |
23:45 | < RichyB> | I compile that on Linux with: gcc -o sdl_test $(pkg-config --cflags --libs sdl) sdl_test.c |
23:45 | < RichyB> | um no I don't |
23:46 | < RichyB> | I compile that on Linux with: gcc sdl_test.c -o sdl_test $(pkg-config --cflags --libs sdl) |
23:46 | < RichyB> | No idea why the order of arguments to gcc seemed to matter there. |
23:47 | < RichyB> | Tarinaky: also, just in case you want to eject every CD ROM drive in your machine at once! http://pastebin.starforge.co.uk/534 |
23:58 | < Tarinaky> | Lol. |
23:58 | < Tarinaky> | Currently wrestling with cmake. |
23:59 | < Tarinaky> | The issue is I already know SDL is initialising... |
23:59 | < Tarinaky> | I'm struggling to get OpenGL to init. |
23:59 | < Tarinaky> | Speaking of... |
--- Log closed Mon Aug 13 00:00:16 2012 |