*** tpb has joined #freeorion | 00:00 | |
*** STalKer-Y has quit IRC | 00:00 | |
*** bhelyer has quit IRC | 01:33 | |
*** bhelyer has joined #freeorion | 01:52 | |
GeofftheMedio | bhelyer: do you have a real name for adding to the credits? | 03:18 |
---|---|---|
GeofftheMedio | standard format is Real Name (alias) - Job where Job would be programming since your quickstart patch got committed | 03:19 |
bhelyer | Bernard Helyer. | 03:20 |
bhelyer | My nick name is horrifically creative, I know. | 03:20 |
bhelyer | What does FreeOrion use for XML parsing? | 03:53 |
bhelyer | Huh, it's own one. | 03:58 |
bhelyer | Bizarre. | 03:58 |
GeofftheMedio | there's not a huge amount of XML used | 04:13 |
GeofftheMedio | and the XMLDoc class is rather limited in function to just what it needs | 04:14 |
GeofftheMedio | I looked into adding tinyxml, since it's so easy to use and easy to integrate | 04:14 |
GeofftheMedio | but it barfs on DOCTYPE and ENTITY tags | 04:15 |
GeofftheMedio | http://www.freeorion.org/forum/viewtopic.php?p=35214#p35214 | 04:15 |
GeofftheMedio | makes it not very useful | 04:15 |
tpb | <http://ln-s.net/3EV1> (at www.freeorion.org) | 04:15 |
GeofftheMedio | rather unfortunate too, as I really wanted to be able to read SVG files and make a limited renderer for them | 04:16 |
GeofftheMedio | I've also searched for a boost spirit based XML parses, but haven't found anything that looks good | 04:17 |
bhelyer | I was surprised that boost doesn't have an xml parser. Spirit ain't it. | 04:19 |
bhelyer | I've been courting techs for my own project, is why I asked. | 04:20 |
bhelyer | I figured I may as well use what FO uses (it's a game too) to get familiarity. | 04:20 |
bhelyer | I'm using GiGi. | 04:20 |
GeofftheMedio | if you want general purpose xml, XMLDoc isn't for you | 04:20 |
bhelyer | No, I didn't think so. | 04:21 |
GeofftheMedio | if you can live without DOCTYPE and ENTITY tags, consider tinyXML | 04:21 |
bhelyer | I'll check it out. | 04:21 |
bhelyer | Is that C++ or straight C? | 04:21 |
GeofftheMedio | C++ | 04:21 |
bhelyer | I'm demoing libxml2, which is functional but I'd prefer a C++ API. | 04:21 |
bhelyer | Neat. | 04:21 |
GeofftheMedio | I looked into libxml2 but it seemed far too complicated to just set up | 04:22 |
GeofftheMedio | let alone actually use | 04:22 |
bhelyer | Really? | 04:22 |
bhelyer | I haven't plumbed into it's murky depths yet. | 04:24 |
bhelyer | http://pastebin.com/m3d5b8dc7 | 04:24 |
tpb | Title: C++ pastebin - collaborative debugging tool (at pastebin.com) | 04:24 |
bhelyer | But for the simple cases, it seemed simple enough. | 04:24 |
GeofftheMedio | I guess I was hoping for something like tinyxml, where you just drop a few files into your existing project and you're done. | 04:26 |
GeofftheMedio | libxml2 seems to require building it separately or it being Yet Another Dependency of which we already have too many | 04:26 |
bhelyer | Yeah, I can see that. | 04:27 |
bhelyer | Although, is it just me, or has FO dropped a few deps since, say, '07? | 04:27 |
GeofftheMedio | we moved log4cpp into trunk | 04:28 |
GeofftheMedio | and changed from fmod to openal | 04:28 |
bhelyer | Is libdevil still required? | 04:29 |
bhelyer | I don't recall installing it. | 04:29 |
bhelyer | Dear lord I hate the SF download system. | 04:30 |
GeofftheMedio | no... I think tzlaine replaced it with some code he wrote for boost | 04:31 |
bhelyer | I see. | 04:31 |
GeofftheMedio | SDL is no longer required | 04:32 |
GeofftheMedio | I think devil was actually replace by the adobe / boost GIL library, with some io extensions tzlaine wrote | 04:40 |
bhelyer | I wondered what the GG/adobe directory was. | 04:42 |
GeofftheMedio | that's actually something else | 04:42 |
GeofftheMedio | the GIL stuff is all in GG/src/GIL | 04:43 |
bhelyer | I see. | 04:43 |
bhelyer | So it is. | 04:44 |
GeofftheMedio | is there a way to set up libxml2 by just putting its code into an existing project, or do you have to build it and load it as a library? | 04:50 |
bhelyer | I suspect it wants to be built. | 04:53 |
bhelyer | I'll retrieve the source and investigate. | 04:53 |
bhelyer | Looks fairly complicated. | 04:56 |
bhelyer | I suppose it should be possible to give it a list of source files. | 04:56 |
bhelyer | and put the tree in FO's, like you did for log4cpp. | 04:57 |
bhelyer | Do you want me to see if I can get toy example to compile without linking/ | 04:57 |
bhelyer | ?* | 04:57 |
bhelyer | get my toy example* | 04:58 |
bhelyer | on a roll tonight. | 04:58 |
GeofftheMedio | that would be nice... | 04:58 |
bhelyer | I'll give it a try. | 04:59 |
bhelyer | Compiling. Now to get it to link. | 05:27 |
bhelyer | You guys already depend on zlib, right? | 05:27 |
bhelyer | (GeofftheMedio) | 05:27 |
GeofftheMedio | zlib: yes | 05:28 |
GeofftheMedio | actually, only on windows, as far as I can tell | 05:30 |
bhelyer | $ ./test | 05:31 |
bhelyer | ROOT_NODE: 'LIBRARY'. | 05:31 |
bhelyer | NODE: 'text'. | 05:31 |
bhelyer | NODE: 'SPRITE'. | 05:31 |
bhelyer | NAME: 'grass'. | 05:31 |
bhelyer | NODE: 'text'. | 05:31 |
bhelyer | NODE: 'SOUND'. | 05:31 |
bhelyer | NAME: 'gunfire'. | 05:31 |
bhelyer | NODE: 'text'. | 05:31 |
bhelyer | $ ldd test | 05:31 |
bhelyer | linux-gate.so.1 => (0xb80c5000) | 05:31 |
bhelyer | libz.so.1 => /usr/lib/libz.so.1 (0xb8078000) | 05:31 |
bhelyer | libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb8074000) | 05:32 |
bhelyer | libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7f85000) | 05:32 |
bhelyer | libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7f5f000) | 05:32 |
bhelyer | libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7f50000) | 05:32 |
bhelyer | libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7df2000) | 05:32 |
bhelyer | /lib/ld-linux.so.2 (0xb80ab000) | 05:32 |
bhelyer | Success! n_n | 05:32 |
bhelyer | One modification required. (#include <errno.h> in some file.) | 05:32 |
bhelyer | You have to run configure (to get config.h). | 05:32 |
bhelyer | libz is going to be on every linux system on the planet. | 05:32 |
bhelyer | There is no way you could get X running with pulling in _something_ that required it. | 05:33 |
bhelyer | (GeofftheMedio) | 05:33 |
bhelyer | So, do you want the little project? | 05:33 |
GeofftheMedio | what do you mean by run configure? is that a libxml2 build step...? | 05:33 |
bhelyer | Ya, you know autotools (blah). | 05:34 |
bhelyer | But it just generates a config.h file. | 05:34 |
GeofftheMedio | I don't know autotools, actually... | 05:34 |
bhelyer | I take it you're a windows guy then. | 05:34 |
GeofftheMedio | mmhmm | 05:34 |
GeofftheMedio | at least for freeorion purposes | 05:35 |
GeofftheMedio | and for research purposes, we have a sysadmin | 05:35 |
bhelyer | I don't follow. | 05:36 |
GeofftheMedio | I'm a grad student. Any programs I wrote for research purposes are written on linux systems, but there we have a sysadmin | 05:36 |
GeofftheMedio | also, most stuff was written in matlab, and what wasn't used cmake | 05:36 |
bhelyer | I see. | 05:37 |
bhelyer | Well autotools is ubiquitous and horrible. | 05:37 |
GeofftheMedio | hence cmake and scons, etc. | 05:37 |
bhelyer | But that doesn't matter, what does matter is that it generates a 'config.h', full of defines and stuff. | 05:37 |
bhelyer | You can probably safely pre-run it. | 05:38 |
bhelyer | A little hack-ish, perhaps. | 05:38 |
bhelyer | Don't know about windows though. | 05:38 |
bhelyer | Shouldn't require too much modifications, I guess. | 05:38 |
bhelyer | So I've got a zip file with a little stand alone test.cpp file and libxml2 in it (+ a SConstruct). | 05:39 |
bhelyer | Want it? | 05:39 |
GeofftheMedio | still, this is the sort of stuff I didn't want to deal with when trying to integrate libxml2 into the freeorion tree | 05:40 |
GeofftheMedio | sure | 05:40 |
bhelyer | Oh, and freeorion on linux is linked to libz. | 05:42 |
bhelyer | Directly or indirectly, I don't know. | 05:42 |
bhelyer | GeofftheMedio: http://rapidshare.com/files/237730277/xml_parsing.zip.html | 05:43 |
tpb | <http://ln-s.net/3EVl> (at rapidshare.com) | 05:43 |
GeofftheMedio | I updated the software dependencies on the wiki | 05:43 |
GeofftheMedio | kroddn: what GiGi svn revision does your linux binary use? | 05:51 |
GeofftheMedio | bhelyer: ugh... scons continues to be stupid on my system | 05:57 |
GeofftheMedio | refuses to find the compiler | 05:57 |
bhelyer | Ugh. | 05:58 |
GeofftheMedio | 1>c:\test\libxml2\include\libxml\encoding.h(28) : fatal error C1083: Cannot open include file: 'iconv.h': No such file or directory | 06:04 |
GeofftheMedio | can't find an iconv.h anywhere | 06:04 |
bhelyer | xmlversion.h | 06:07 |
bhelyer | LIBXML_ICONV_ENABLED | 06:07 |
bhelyer | line 268 | 06:08 |
GeofftheMedio | I saw that, but is it not needed? | 06:08 |
bhelyer | Hmm. | 06:09 |
bhelyer | Still compiles. | 06:09 |
bhelyer | http://www.gnu.org/software/libiconv/ | 06:09 |
tpb | Title: libiconv - GNU Project - Free Software Foundation (FSF) (at www.gnu.org) | 06:09 |
bhelyer | It's for going from unicode <-> local encodings | 06:10 |
GeofftheMedio | right... which presumably isn't an issue? | 06:10 |
bhelyer | I guess not. | 06:10 |
bhelyer | FO uses utf-8 with everything anyway, right? | 06:10 |
GeofftheMedio | supposedly | 06:12 |
bhelyer | What's that supposed to mean? :p | 06:12 |
GeofftheMedio | apparently there are some issues on some win32 machines with greek or cyrillic language settings | 06:12 |
GeofftheMedio | 1>c:\test\xml_parsing\libxml2\parser.c(77) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory | 06:15 |
bhelyer | config.h: HAVE_UNISTD | 06:16 |
bhelyer | Doesn't strike confidence into the heart, does it? | 06:17 |
GeofftheMedio | see... this is what I was afraid of... it's going to take like 20 rounds of random define needs to be changed roulette | 06:17 |
bhelyer | Yeah. | 06:17 |
GeofftheMedio | and still won't work for different OSes | 06:17 |
bhelyer | This is true. | 06:17 |
bhelyer | This XML stuff. | 06:18 |
bhelyer | Is it going to be needed, or is it a 'nice to have'? | 06:19 |
*** mithro_ has quit IRC | 06:19 | |
bhelyer | What about modifying tinyXML to add what you need in, how much more do you need? | 06:19 |
GeofftheMedio | what we need is the complicated hard stuff... if it was easy to add, someone would have, as it's a big limitation to tinyxml | 06:20 |
GeofftheMedio | robost xml parsing is probably a nice to have. there's a bunch of stuff that could be done if it was available, but nothing essential right now | 06:20 |
GeofftheMedio | robust | 06:20 |
bhelyer | You could always just bite the bullet and pull in a dependency. | 06:21 |
bhelyer | On the linux side it's basically just another line in apt-get, and another library for kroddn to statically link. How difficult is it on Windows? | 06:22 |
GeofftheMedio | I'm very reluctant to make building freeorion any harder than it is | 06:22 |
GeofftheMedio | you say that, but it neer really works out that way | 06:22 |
bhelyer | True. | 06:22 |
GeofftheMedio | always somebody wants it to be a newer version, and someone else wants it to be the older verison their repository has | 06:22 |
GeofftheMedio | because they're using this or that version for something else and can't have both, etc. | 06:22 |
bhelyer | True. | 06:23 |
GeofftheMedio | on windows we'd put the DLLS in the SDK and be done with it | 06:23 |
bhelyer | What about a home-brewed one for FO? The negatives on that one are fairly obvious. | 06:23 |
GeofftheMedio | making anything that can handle the full range of possible XML documents is a project un to itself. | 06:25 |
GeofftheMedio | like tinyxml or libxml2 | 06:25 |
GeofftheMedio | making a trivial one is probably easy, but useless | 06:25 |
bhelyer | Yeah. | 06:25 |
bhelyer | It's a shame boost doesn't have one. | 06:27 |
bhelyer | I guess boost is more generic programming tools. | 06:28 |
GeofftheMedio | it's actually a surprising omission to me | 06:28 |
GeofftheMedio | xml is pretty generic | 06:28 |
GeofftheMedio | and they have the great boost python library | 06:28 |
bhelyer | True. | 06:29 |
bhelyer | Python has xml tools. | 06:29 |
bhelyer | How practical would be shelling out to python for it be? | 06:29 |
GeofftheMedio | probably not very... loading images by calling embedded python? | 06:30 |
GeofftheMedio | would need to deal with ways to get the image back into C++ | 06:30 |
bhelyer | Well that settles it. The only solution is a targeted bitch-fest to the boost mailing list. (not really) | 06:33 |
bhelyer | "boost sandbox" has an xml directory. | 06:34 |
bhelyer | This is a proposed boost::xml API. It is modular to allow implementations | 06:35 |
bhelyer | only to provide subsets of the full set of specs, and let users only choose | 06:35 |
bhelyer | the features they need. (E.g. dom vs reader) | 06:35 |
bhelyer | The entire library is parametrized for the (unicode) character type. Proper | 06:35 |
bhelyer | unicode handling is outside the scope of this library. | 06:35 |
bhelyer | This implementation uses libxml2 (http://xmlsoft.org/). | 06:35 |
tpb | Title: The XML C parser and toolkit of Gnome (at xmlsoft.org) | 06:35 |
bhelyer | This implementation uses libxml2 (http://xmlsoft.org/). curses! | 06:35 |
tpb | Title: The XML C parser and toolkit of Gnome (at xmlsoft.org) | 06:35 |
GeofftheMedio | "proposed API" does not translate to "easily usable standalone library" | 06:37 |
bhelyer | I know. | 06:38 |
bhelyer | So what features do you need out of it? | 06:42 |
bhelyer | http://www.applied-mathematics.net/tools/xmlParser.html | 06:42 |
tpb | <http://ln-s.net/3EWI> (at www.applied-mathematics.net) | 06:42 |
bhelyer | One implementation, one header. | 06:43 |
bhelyer | To obtain the library, simply send me an e-mail, and I will send to you the XMLParser library directly, the same day (I will most certainly restore a direct link to download the XMLParser library in a few weeks). You will receive by e-mail a zip-file. Inside the zip file, you will find 5 examples: | 06:46 |
bhelyer | ooookay. | 06:46 |
GeofftheMedio | license not GPL compatible | 06:47 |
bhelyer | He does say you can email him for another one. | 06:48 |
GeofftheMedio | somehow, I doubt that will include a GPL option | 06:49 |
bhelyer | God-dammit. >_< | 06:50 |
* bhelyer throws up his hands. | 06:50 | |
bhelyer | full featured XML will just have to remain a sweet, sweet dream, I guess. | 06:51 |
GeofftheMedio | feel free to email him and ask | 06:51 |
GeofftheMedio | maybe he will? | 06:51 |
bhelyer | I will. | 06:51 |
bhelyer | Does it do what you need though? | 06:51 |
GeofftheMedio | not sure. I'd need to test it. | 06:52 |
GeofftheMedio | basically, if it can read any nontrivial SVG file you find on wikipedia, it's probably good | 06:53 |
bhelyer | Well, I'll poke around and if I get anything worth noting I'll let you know. | 06:53 |
GeofftheMedio | also: http://www.freeorion.org/forum/viewtopic.php?p=24986#p24986 the flag graphics linked in this post | 06:54 |
tpb | <http://ln-s.net/3EWO> (at www.freeorion.org) | 06:54 |
bhelyer | Bookmarked and Downloaded. | 06:56 |
bhelyer | Good call on TinyXML. | 09:10 |
*** mithro_ has joined #freeorion | 09:25 | |
kroddn | GeofftheMedio: my build uses GG 757 | 09:35 |
GeofftheMedio | k | 09:35 |
kroddn | bhelyer: zlib is NOT installed on every Distro | 09:40 |
bhelyer | Really. | 09:40 |
bhelyer | Wor. | 09:40 |
bhelyer | Wow.* | 09:40 |
kroddn | But its already linked in statically ;-) | 09:40 |
bhelyer | My world view is shattered. | 09:40 |
* bhelyer rocks silently back and forth, shuddering. | 09:41 | |
kroddn | Mostly on 64 bit systems the 32bit pendant to zlib is missing | 09:41 |
bhelyer | Ah. | 09:41 |
kroddn | I use Xerces on a big linux project for XML Stuff | 09:42 |
bhelyer | That's Apache licensed isn't it? | 09:46 |
bhelyer | I think the Apache License is only compatible with GPL v3. | 09:46 |
kroddn | i don't believe that, as we use this lib in a closed source project | 09:47 |
kroddn | so using it in a GPL project should be okay | 09:47 |
kroddn | since ogre is linked statically, the linux package won back around 30MB of size | 09:49 |
bhelyer | Nope: | 09:51 |
bhelyer | " | 09:51 |
bhelyer | Despite our best efforts, the FSF has never considered the Apache License to be compatible with GPL version 2, citing the patent termination and indemnification provisions as restrictions not present in the older GPL license. The Apache Software Foundation believes that you should always try to obey the constraints expressed by the copyright holder when redistributing their work." | 09:51 |
bhelyer | http://www.apache.org/licenses/GPL-compatibility.html | 09:51 |
tpb | <http://ln-s.net/3EYR> (at www.apache.org) | 09:51 |
kroddn | hm | 09:57 |
kroddn | Okay, that does not apply to my other project, which is closed source | 09:57 |
kroddn | damn - you can use it in closed source projects but not in open source projects using GPL | 09:58 |
kroddn | Sometimes "free" is very complicated | 09:58 |
bhelyer | Yeah. | 10:02 |
bhelyer | I think it's because the ASL makes some restrictions that are reasonable, but the GPL v2 doesn't account | 10:02 |
bhelyer | and says "no additional restrictions on the distribution blah blah blah". | 10:02 |
bhelyer | GPL v3 added some exceptions for licences like the apache one. | 10:03 |
kroddn | GeofftheMedio: 90% of my Salad has survived the Thundersotrm :-) | 10:09 |
GeofftheMedio | a relief | 10:10 |
GeofftheMedio | unfortunately FO has always been GPL2, and not "or any later version" | 10:11 |
bhelyer | Some bits I guess have been moved around. | 10:14 |
bhelyer | Occasionaly you see things like "GPL 2.1 or any later version, referring to a library." | 10:14 |
bhelyer | Whether they came from somewhere external (attributed to Zach though), or originally from GiGi I don't know. | 10:15 |
GeofftheMedio | if it's part of GiGi, it's probably "or later" | 10:16 |
kroddn | is there other projects using GiGi at all? | 10:17 |
bhelyer | I am. n_n - Well, going to. It's a twinkle in my eye at the moment. | 10:18 |
bhelyer | Was gonna use ClanLib and their GUI stuff. | 10:21 |
bhelyer | It didn't work that well. | 10:21 |
bhelyer | But oh man, all their documentation is at random points along their version tree, with no way of telling if what you're being told is right or wrong. | 10:22 |
bhelyer | "oh, you need to pass a context with that" | 10:22 |
bhelyer | "that doesn't take an integer..." | 10:23 |
bhelyer | FO/GG is like sweet sweet mana. | 10:23 |
bhelyer | manna* | 10:23 |
GeofftheMedio | ugh | 10:37 |
GeofftheMedio | we need to release more often | 10:37 |
GeofftheMedio | just writing out the release notes is taken half an hour | 10:37 |
kroddn | ? | 10:40 |
kroddn | This release is a great step I think | 10:40 |
kroddn | Until now there's no negative feedback on the Linux-Version | 10:41 |
kroddn | except for the ATI problem which should be fixed soon | 10:41 |
GeofftheMedio | from the forum, it sounds like the ATI fixes might be just removing ARB from a gl call in OgreGUI | 10:42 |
GeofftheMedio | the patch notes, to see what I mean about them being long: | 10:42 |
GeofftheMedio | http://www.freeorion.org/forum/viewtopic.php?f=12&t=1220&p=36970#p36970 | 10:42 |
tpb | <http://ln-s.net/3EZR> (at www.freeorion.org) | 10:42 |
bhelyer | "For the first time, we are simultaneously releasing with Windows, statically-linked Linux, and Intel Mac OSX installers all available." | 10:44 |
bhelyer | Slick. | 10:44 |
kroddn | now i understand ^^ | 11:25 |
kroddn | maybe tonight I'll debug around that ati bug | 11:26 |
*** mithro_ has quit IRC | 11:27 | |
kroddn | GeofftheMedio: do you maintain a Changelog somewhere? | 11:27 |
kroddn | Or do you take that out of a svn history? | 11:27 |
GeofftheMedio | transcribed the svn history | 11:27 |
GeofftheMedio | see my dev blog | 11:28 |
kroddn | I don't have enough soil to plant all my tomatoes :-( | 11:30 |
bhelyer | GeofftheMedio: GNU projects automatically transcribe commit messages I think. | 11:32 |
bhelyer | It makes for annoying commit messages though. | 11:32 |
GeofftheMedio | not all commit messages are relevant for release notes | 11:32 |
GeofftheMedio | some are bug fixes for features that were added since the last update... so no need to mention that there was a bug between versions that's now gone. | 11:32 |
GeofftheMedio | or code grooming changes that have no significant effect on the binary... | 11:33 |
bhelyer | Yeah that too. It works alright for dev packages. | 11:33 |
*** bhelyer has quit IRC | 11:51 | |
*** kroddnoMobil has joined #freeorion | 14:29 | |
*** ChanServ sets mode: +o kroddnoMobil | 14:29 | |
*** kr0ddnoMobil has joined #freeorion | 16:21 | |
*** ChanServ sets mode: +o kr0ddnoMobil | 16:21 | |
*** kroddnoMobil has quit IRC | 16:36 | |
*** kr0ddnoMobil has quit IRC | 18:17 | |
*** mithro_ has joined #freeorion | 20:22 | |
*** GeofftheMedio has quit IRC | 21:50 | |
*** GeofftheMedio has joined #freeorion | 21:51 | |
GeofftheMedio | kroddn: http://www.freeorion.org/forum/viewtopic.php?p=36951#p36951 | 22:38 |
tpb | <http://ln-s.net/3Ei8> (at www.freeorion.org) | 22:38 |
GeofftheMedio | nevermind | 22:38 |
GeofftheMedio | you already replied | 22:38 |
*** STalKer-X has quit IRC | 23:42 | |
*** STalKer-Y has joined #freeorion | 23:42 |
Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!