Wednesday, 2009-05-27

*** tpb has joined #freeorion00:00
*** STalKer-Y has quit IRC00:00
*** bhelyer has quit IRC01:33
*** bhelyer has joined #freeorion01:52
GeofftheMediobhelyer: do you have a real name for adding to the credits?03:18
GeofftheMediostandard format is Real Name (alias) - Job   where Job would be programming since your quickstart patch got committed03:19
bhelyerBernard Helyer.03:20
bhelyerMy nick name is horrifically creative, I know.03:20
bhelyerWhat does FreeOrion use for XML parsing?03:53
bhelyerHuh, it's own one.03:58
bhelyerBizarre.03:58
GeofftheMediothere's not a huge amount of XML used04:13
GeofftheMedioand the XMLDoc class is rather limited in function to just what it needs04:14
GeofftheMedioI looked into adding tinyxml, since it's so easy to use and easy to integrate04:14
GeofftheMediobut it barfs on DOCTYPE and ENTITY tags04:15
GeofftheMediohttp://www.freeorion.org/forum/viewtopic.php?p=35214#p3521404:15
GeofftheMediomakes it not very useful04:15
tpb<http://ln-s.net/3EV1> (at www.freeorion.org)04:15
GeofftheMediorather unfortunate too, as I really wanted to be able to read SVG files and make a limited renderer for them04:16
GeofftheMedioI've also searched for a boost spirit based XML parses, but haven't found anything that looks good04:17
bhelyerI was surprised that boost doesn't have an xml parser. Spirit ain't it.04:19
bhelyerI've been courting techs for my own project, is why I asked.04:20
bhelyerI figured I may as well use what FO uses (it's a game too) to get familiarity.04:20
bhelyerI'm using GiGi.04:20
GeofftheMedioif you want general purpose xml, XMLDoc isn't for you04:20
bhelyerNo, I didn't think so.04:21
GeofftheMedioif you can live without DOCTYPE and ENTITY tags, consider tinyXML04:21
bhelyerI'll check it out.04:21
bhelyerIs that C++ or straight C?04:21
GeofftheMedioC++04:21
bhelyerI'm demoing libxml2, which is functional but I'd prefer a C++ API.04:21
bhelyerNeat.04:21
GeofftheMedioI looked into libxml2 but it seemed far too complicated to just set up04:22
GeofftheMediolet alone actually use04:22
bhelyerReally?04:22
bhelyerI haven't plumbed into it's murky depths yet.04:24
bhelyerhttp://pastebin.com/m3d5b8dc704:24
tpbTitle: C++ pastebin - collaborative debugging tool (at pastebin.com)04:24
bhelyerBut for the simple cases, it seemed simple enough.04:24
GeofftheMedioI 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
GeofftheMediolibxml2 seems to require building it separately or it being Yet Another Dependency of which we already have too many04:26
bhelyerYeah, I can see that.04:27
bhelyerAlthough, is it just me, or has FO dropped a few deps since, say, '07?04:27
GeofftheMediowe moved log4cpp into trunk04:28
GeofftheMedioand changed from fmod to openal04:28
bhelyerIs libdevil still required?04:29
bhelyerI don't recall installing it.04:29
bhelyerDear lord I hate the SF download system.04:30
GeofftheMediono... I think tzlaine replaced it with some code he wrote for boost04:31
bhelyerI see.04:31
GeofftheMedioSDL is no longer required04:32
GeofftheMedioI think devil was actually replace by the adobe / boost GIL library, with some io extensions tzlaine wrote04:40
bhelyerI wondered what the GG/adobe directory was.04:42
GeofftheMediothat's actually something else04:42
GeofftheMediothe GIL stuff is all in GG/src/GIL04:43
bhelyerI see.04:43
bhelyerSo it is.04:44
GeofftheMediois 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
bhelyerI suspect it wants to be built.04:53
bhelyerI'll retrieve the source and investigate.04:53
bhelyerLooks fairly complicated.04:56
bhelyerI suppose it should be possible to give it a list of source files.04:56
bhelyerand put the tree in FO's, like you did for log4cpp.04:57
bhelyerDo you want me to see if I can get toy example to compile without linking/04:57
bhelyer?*04:57
bhelyerget my toy example*04:58
bhelyeron a roll tonight.04:58
GeofftheMediothat would be nice...04:58
bhelyerI'll give it a try.04:59
bhelyerCompiling. Now to get it to link.05:27
bhelyerYou guys already depend on zlib, right?05:27
bhelyer(GeofftheMedio)05:27
GeofftheMediozlib: yes05:28
GeofftheMedioactually, only on windows, as far as I can tell05:30
bhelyer$ ./test05:31
bhelyerROOT_NODE: 'LIBRARY'.05:31
bhelyerNODE: 'text'.05:31
bhelyerNODE: 'SPRITE'.05:31
bhelyerNAME: 'grass'.05:31
bhelyerNODE: 'text'.05:31
bhelyerNODE: 'SOUND'.05:31
bhelyerNAME: 'gunfire'.05:31
bhelyerNODE: 'text'.05:31
bhelyer$ ldd test05:31
bhelyerlinux-gate.so.1 =>  (0xb80c5000)05:31
bhelyerlibz.so.1 => /usr/lib/libz.so.1 (0xb8078000)05:31
bhelyerlibdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb8074000)05:32
bhelyerlibstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7f85000)05:32
bhelyerlibm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7f5f000)05:32
bhelyerlibgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7f50000)05:32
bhelyerlibc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7df2000)05:32
bhelyer/lib/ld-linux.so.2 (0xb80ab000)05:32
bhelyerSuccess! n_n05:32
bhelyerOne modification required. (#include <errno.h> in some file.)05:32
bhelyerYou have to run configure (to get config.h).05:32
bhelyerlibz is going to be on every linux system on the planet.05:32
bhelyerThere is no way you could get X running with pulling in _something_ that required it.05:33
bhelyer(GeofftheMedio)05:33
bhelyerSo, do you want the little project?05:33
GeofftheMediowhat do you mean by run configure?  is that a libxml2 build step...?05:33
bhelyerYa, you know autotools (blah).05:34
bhelyerBut it just generates a config.h file.05:34
GeofftheMedioI don't know autotools, actually...05:34
bhelyerI take it you're a windows guy then.05:34
GeofftheMediommhmm05:34
GeofftheMedioat least for freeorion purposes05:35
GeofftheMedioand for research purposes, we have a sysadmin05:35
bhelyerI don't follow.05:36
GeofftheMedioI'm a grad student.  Any programs I wrote for research purposes are written on linux systems, but there we have a sysadmin05:36
GeofftheMedioalso, most stuff was written in matlab, and what wasn't used cmake05:36
bhelyerI see.05:37
bhelyerWell autotools is ubiquitous and horrible.05:37
GeofftheMediohence cmake and scons, etc.05:37
bhelyerBut that doesn't matter, what does matter is that it generates a 'config.h', full of defines and stuff.05:37
bhelyerYou can probably safely pre-run it.05:38
bhelyerA little hack-ish, perhaps.05:38
bhelyerDon't know about windows though.05:38
bhelyerShouldn't require too much modifications, I guess.05:38
bhelyerSo I've got a zip file with a little stand alone test.cpp file and libxml2 in it (+ a SConstruct).05:39
bhelyerWant it?05:39
GeofftheMediostill, this is the sort of stuff I didn't want to deal with when trying to integrate libxml2 into the freeorion tree05:40
GeofftheMediosure05:40
bhelyerOh, and freeorion on linux is linked to libz.05:42
bhelyerDirectly or indirectly, I don't know.05:42
bhelyerGeofftheMedio: http://rapidshare.com/files/237730277/xml_parsing.zip.html05:43
tpb<http://ln-s.net/3EVl> (at rapidshare.com)05:43
GeofftheMedioI updated the software dependencies on the wiki05:43
GeofftheMediokroddn: what GiGi svn revision does your linux binary use?05:51
GeofftheMediobhelyer: ugh... scons continues to be stupid on my system05:57
GeofftheMediorefuses to find the compiler05:57
bhelyerUgh.05:58
GeofftheMedio1>c:\test\libxml2\include\libxml\encoding.h(28) : fatal error C1083: Cannot open include file: 'iconv.h': No such file or directory06:04
GeofftheMediocan't find an iconv.h anywhere06:04
bhelyerxmlversion.h06:07
bhelyerLIBXML_ICONV_ENABLED06:07
bhelyerline 26806:08
GeofftheMedioI saw that, but is it not needed?06:08
bhelyerHmm.06:09
bhelyerStill compiles.06:09
bhelyerhttp://www.gnu.org/software/libiconv/06:09
tpbTitle: libiconv - GNU Project - Free Software Foundation (FSF) (at www.gnu.org)06:09
bhelyerIt's for going from unicode <-> local encodings06:10
GeofftheMedioright... which presumably isn't an issue?06:10
bhelyerI guess not.06:10
bhelyerFO uses utf-8 with everything anyway, right?06:10
GeofftheMediosupposedly06:12
bhelyerWhat's that supposed to mean? :p06:12
GeofftheMedioapparently there are some issues on some win32 machines with greek or cyrillic language settings06:12
GeofftheMedio1>c:\test\xml_parsing\libxml2\parser.c(77) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory06:15
bhelyerconfig.h: HAVE_UNISTD06:16
bhelyerDoesn't strike confidence into the heart, does it?06:17
GeofftheMediosee... this is what I was afraid of... it's going to take like 20 rounds of random define needs to be changed roulette06:17
bhelyerYeah.06:17
GeofftheMedioand still won't work for different OSes06:17
bhelyerThis is true.06:17
bhelyerThis XML stuff.06:18
bhelyerIs it going to be needed, or is it a 'nice to have'?06:19
*** mithro_ has quit IRC06:19
bhelyerWhat about modifying tinyXML to add what you need in, how much more do you need?06:19
GeofftheMediowhat we need is the complicated hard stuff... if it was easy to add, someone would have, as it's a big limitation to tinyxml06:20
GeofftheMediorobost 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 now06:20
GeofftheMediorobust06:20
bhelyerYou could always just bite the bullet and pull in a dependency.06:21
bhelyerOn 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
GeofftheMedioI'm very reluctant to make building freeorion any harder than it is06:22
GeofftheMedioyou say that, but it neer really works out that way06:22
bhelyerTrue.06:22
GeofftheMedioalways somebody wants it to be a newer version, and someone else wants it to be the older verison their repository has06:22
GeofftheMediobecause they're using this or that version for something else and can't have both, etc.06:22
bhelyerTrue.06:23
GeofftheMedioon windows we'd put the DLLS in the SDK and be done with it06:23
bhelyerWhat about a home-brewed one for FO? The negatives on that one are fairly obvious.06:23
GeofftheMediomaking anything that can handle the full range of possible XML documents is a project un to itself.06:25
GeofftheMediolike tinyxml or libxml206:25
GeofftheMediomaking a trivial one is probably easy, but useless06:25
bhelyerYeah.06:25
bhelyerIt's a shame boost doesn't have one.06:27
bhelyerI guess boost is more generic programming tools.06:28
GeofftheMedioit's actually a surprising omission to me06:28
GeofftheMedioxml is pretty generic06:28
GeofftheMedioand they have the great boost python library06:28
bhelyerTrue.06:29
bhelyerPython has xml tools.06:29
bhelyerHow practical would be shelling out to python for it be?06:29
GeofftheMedioprobably not very...  loading images by calling embedded python?06:30
GeofftheMediowould need to deal with ways to get the image back into C++06:30
bhelyerWell 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
bhelyerThis is a proposed boost::xml API. It is modular to allow implementations06:35
bhelyeronly to provide subsets of the full set of specs, and let users only choose06:35
bhelyerthe features they need. (E.g. dom vs reader)06:35
bhelyerThe entire library is parametrized for the (unicode) character type. Proper06:35
bhelyerunicode handling is outside the scope of this library.06:35
bhelyerThis implementation uses libxml2 (http://xmlsoft.org/).06:35
tpbTitle: The XML C parser and toolkit of Gnome (at xmlsoft.org)06:35
bhelyerThis implementation uses libxml2 (http://xmlsoft.org/). curses!06:35
tpbTitle: 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
bhelyerI know.06:38
bhelyerSo what features do you need out of it?06:42
bhelyerhttp://www.applied-mathematics.net/tools/xmlParser.html06:42
tpb<http://ln-s.net/3EWI> (at www.applied-mathematics.net)06:42
bhelyerOne implementation, one header.06:43
bhelyerTo 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
bhelyerooookay.06:46
GeofftheMediolicense not GPL compatible06:47
bhelyerHe does say you can email him for another one.06:48
GeofftheMediosomehow, I doubt that will include a GPL option06:49
bhelyerGod-dammit. >_<06:50
* bhelyer throws up his hands.06:50
bhelyerfull featured XML will just have to remain a sweet, sweet dream, I guess.06:51
GeofftheMediofeel free to email him and ask06:51
GeofftheMediomaybe he will?06:51
bhelyerI will.06:51
bhelyerDoes it do what you need though?06:51
GeofftheMedionot sure.  I'd need to test it.06:52
GeofftheMediobasically, if it can read any nontrivial SVG file you find on wikipedia, it's probably good06:53
bhelyerWell, I'll poke around and if I get anything worth noting I'll let you know.06:53
GeofftheMedioalso: http://www.freeorion.org/forum/viewtopic.php?p=24986#p24986  the flag graphics linked in this post06:54
tpb<http://ln-s.net/3EWO> (at www.freeorion.org)06:54
bhelyerBookmarked and Downloaded.06:56
bhelyerGood call on TinyXML.09:10
*** mithro_ has joined #freeorion09:25
kroddnGeofftheMedio: my build uses GG 75709:35
GeofftheMediok09:35
kroddnbhelyer: zlib is NOT installed on every Distro09:40
bhelyerReally.09:40
bhelyerWor.09:40
bhelyerWow.*09:40
kroddnBut its already linked in statically ;-)09:40
bhelyerMy world view is shattered.09:40
* bhelyer rocks silently back and forth, shuddering.09:41
kroddnMostly on 64 bit systems the 32bit pendant to zlib is missing09:41
bhelyerAh.09:41
kroddnI use Xerces on a big linux project for XML Stuff09:42
bhelyerThat's Apache licensed isn't it?09:46
bhelyerI think the Apache License is only compatible with GPL v3.09:46
kroddni don't believe that, as we use this lib in a closed source project09:47
kroddnso using it in a GPL project should be okay09:47
kroddnsince ogre is linked statically, the linux package won back around 30MB of size09:49
bhelyerNope:09:51
bhelyer"09:51
bhelyerDespite 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
bhelyerhttp://www.apache.org/licenses/GPL-compatibility.html09:51
tpb<http://ln-s.net/3EYR> (at www.apache.org)09:51
kroddnhm09:57
kroddnOkay, that does not apply to my other project, which is closed source09:57
kroddndamn - you can use it in closed source projects but not in open source projects using GPL09:58
kroddnSometimes "free" is very complicated09:58
bhelyerYeah.10:02
bhelyerI think it's because the ASL makes some restrictions that are reasonable, but the GPL v2 doesn't account10:02
bhelyerand says "no additional restrictions on the distribution blah blah blah".10:02
bhelyerGPL v3 added some exceptions for licences like the apache one.10:03
kroddnGeofftheMedio: 90% of my Salad has survived the Thundersotrm :-)10:09
GeofftheMedioa relief10:10
GeofftheMediounfortunately FO has always been GPL2, and not "or any later version"10:11
bhelyerSome bits I guess have been moved around.10:14
bhelyerOccasionaly you see things like "GPL 2.1 or any later version, referring to a library."10:14
bhelyerWhether they came from somewhere external (attributed to Zach though), or originally from GiGi I don't know.10:15
GeofftheMedioif it's part of GiGi, it's probably "or later"10:16
kroddnis there other projects using GiGi at all?10:17
bhelyerI am. n_n  - Well, going to. It's a twinkle in my eye at the moment.10:18
bhelyerWas gonna use ClanLib and their GUI stuff.10:21
bhelyerIt didn't work that well.10:21
bhelyerBut 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
bhelyerFO/GG is like sweet sweet mana.10:23
bhelyermanna*10:23
GeofftheMediough10:37
GeofftheMediowe need to release more often10:37
GeofftheMediojust writing out the release notes is taken half an hour10:37
kroddn?10:40
kroddnThis release is a great step I think10:40
kroddnUntil now there's no negative feedback on the Linux-Version10:41
kroddnexcept for the ATI problem which should be fixed soon10:41
GeofftheMediofrom the forum, it sounds like the ATI fixes might be just removing ARB from a gl call in OgreGUI10:42
GeofftheMediothe patch notes, to see what I mean about them being long:10:42
GeofftheMediohttp://www.freeorion.org/forum/viewtopic.php?f=12&t=1220&p=36970#p3697010: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
bhelyerSlick.10:44
kroddnnow i understand ^^11:25
kroddnmaybe tonight I'll debug around that ati bug11:26
*** mithro_ has quit IRC11:27
kroddnGeofftheMedio: do you maintain a Changelog somewhere?11:27
kroddnOr do you take that out of a svn history?11:27
GeofftheMediotranscribed the svn history11:27
GeofftheMediosee my dev blog11:28
kroddnI don't have enough soil to plant all my tomatoes :-(11:30
bhelyerGeofftheMedio: GNU projects automatically transcribe commit messages I think.11:32
bhelyerIt makes for annoying commit messages though.11:32
GeofftheMedionot all commit messages are relevant for release notes11:32
GeofftheMediosome 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
GeofftheMedioor code grooming changes that have no significant effect on the binary...11:33
bhelyerYeah that too. It works alright for dev packages.11:33
*** bhelyer has quit IRC11:51
*** kroddnoMobil has joined #freeorion14:29
*** ChanServ sets mode: +o kroddnoMobil14:29
*** kr0ddnoMobil has joined #freeorion16:21
*** ChanServ sets mode: +o kr0ddnoMobil16:21
*** kroddnoMobil has quit IRC16:36
*** kr0ddnoMobil has quit IRC18:17
*** mithro_ has joined #freeorion20:22
*** GeofftheMedio has quit IRC21:50
*** GeofftheMedio has joined #freeorion21:51
GeofftheMediokroddn: http://www.freeorion.org/forum/viewtopic.php?p=36951#p3695122:38
tpb<http://ln-s.net/3Ei8> (at www.freeorion.org)22:38
GeofftheMedionevermind22:38
GeofftheMedioyou already replied22:38
*** STalKer-X has quit IRC23:42
*** STalKer-Y has joined #freeorion23:42

Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!