Monday, August 29, 2005

python modules and MinGW-python

Currently working on getting autotools working for pygtk on MinGW+MSYS, and proving the PyOpenGL docs wrong by fixing their build for MinGW+MSYS. I'll blog the instructions in the future.

Friday, August 26, 2005

Re: When Printing Kills

When Printing Kills

WTF, Internet Explorer? Just... WTF?

Tuesday, August 23, 2005

Re: GoogleOS? YahooOS? MozillaOS? WebOS?

  • A local Web server to handle the data delivery and content display from the local machine to the browser. This local server will likely be highly optimized for its task, but would be capable of running locally installed Web applications (e.g. a local copy of Gmail and all its associated data).


  • In my mind, this leads to one of three possibilities:
    1. Locally hackable code (remember Perl-based BB hacking to add functionality, before all this plugin architecture stuff?), because it's (probably) written in [PHP|Perl|Python|JSP|ASPX-formatted] code, with only a license/EULA to protect it
    2. Encrypters, i.e., obfuscators, for those languages (to protect IP)
    3. A return to CGI coding in C (for the same reason as the last one)
  • ISPs may have to up the upload rate limit because of the increased sending of data from the home computer to remote servers.
  • Again, one of two possibilities:
    1. all-SSL transfers in order to protect the wire protocol
    2. usage of a standardized wire protocol (e.g., SOAP) and encrypted data

Sunday, August 14, 2005

MinGW and {DLLs,freetype2,libgpg-error,libgcrypt,gnutls,libsexy}

Browser crash = post gone. Let's see if I can remember it. Or just summarize it.

  • libtool needs to add -no-undefined when making MinGW shared libraries because libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32 shared libraries
  • Don't use the system zlib with freetype2. Bad popup dialogs happen.
  • libgpg-error needed its libtool updated because it thought I was using Cygwin. First point applies.
  • libgcrypt - first point applies. See this mailing list thread also.
  • gnutls is a bitch to compile.
    • #ifdef'd a Win32 version of getpass() from an old version of CVS (the program)
    • Ripped out mmap implementation from PlibC and its dependencies and stuffed them into src/cli.c. Took way too long.
    • Compiles fine as a static library, but as a DLL, I had to refer to the ld(1) man page to figure out how to get rid of DLL export hell with regards to stuff related to gnutls_compression_algorithms.
  • libsexy builds without incident (I think). Now to see how to make python bindings for it.
  • Public commenting enabled for the time being, as a test.

Saturday, August 13, 2005

Update: MinGW and freetype2/fontconfig

Just a quick note - I've successfully compiled freetype2 under MSYS and, by extension, the latest fontconfig. I'll post the shell scripts for both freetype2 (2.1.10) and openssl (0.9.8) on my website when I have some time.

Friday, August 12, 2005

Update: MinGW and expat

OK, I was going over the bugs for expat that had "mingw" in them, and it hit me that I should only do static or shared libraries, not both. Amazingly enough, doing ./configure --enable-static=no gave me an expat dll. Now to see if it works with anything.

Edit: Note to self - completely delete and re-untarball the source before trying stuff like this. I happened to make changes to the source and when I tried to compile it clean, I got a ld.exe: warning: cannot find entry symbol _DllMainCRTStartup@12; defaulting to 00401000 libmingw32.a(main.o)(.text+0x106):main.c: undefined reference to `WinMain@16' when trying to link the DLL. Bleh.

Edit 2: Gave up, followed the instructions in this expat bug to get MinGW libs out of the given DLLs.

[Edit 3: HTML entity fixes in links]

Thursday, August 11, 2005

aspell and MinGW

Aspell is a bitch to compile. I initially used this blog entry to get it compiled, then I found out that adding a flag to LDFLAGS (-Wl,--enable-runtime-pseudo-reloc) does just as much as the multiple changes to the LDFLAGS in the Makefile as described in the linked entry. I should, however, write a patch for the other things mentioned. ...maybe not, seems like it's in CVS. I should try compiling that.

Tuesday, August 09, 2005

atk + libglade on MinGW

It seems that I forgot to put libglade on my list of packages that I was compiling. I kept getting this error about undefined reference to atk_set_add_relation_by_type. Turns out, as soon as I compiled against atk CVS (as opposed to atk 1.9.0, the latest release), the error went away. Grr.

Monday, August 08, 2005

Update: MinGW and glitz/cairo

So my glitz-not-compiling-with-cairo problem is solved, due to a closer look at the configure file; cairo-0.6.0 requires an unreleased snapshot of glitz (0.4.4). Joy. Time to go `cvs co` glitz.

Saturday, August 06, 2005

Re: What is Pythonic?

What the heck does "pythonic" mean? - What is Pythonic?

Apparently, I don't code pythonic-ally, per se. For the past several years, I've been coding more-or-less towards the PEAR coding standard, sans the "one true brace" style with function/method definitions, as I think it's just silly and I learned the other, supposedly eviler way. I've become kinda pythonic as I've migrated to python as my "it" programming language: I've learned to iterate through lists the python way (although python iterators per se still confuse me), I'm beginning to do the whole tuple (un)packing thing, and I follow packages are frequently namespace packages only, i.e. have empty files.

With the PEAR coding standard, I can port most of that knowledge to other programming languages. With being "pythonic", sadly, not many languages have these sometimes convenient little shortcuts and nuances built-in to the language so that several of these points are simply not possible (IMHO).

Thursday, August 04, 2005

MinGW and things that compile

So I finally remember to use this damned thing. Here are the packages that compile cleanly in MinGW/MSYS:

  • libpixman
  • glitz (although it doesn't seem to compile any backends into it or get configured into cairo)
  • cairo
  • atk
  • pango
  • glib-2
  • zlib
  • gettext (I think)
  • libiconv

Here are the packages that I can't, for the life of me, compile the way I want them to or work weirdly afterwards:

  • libpng (I needed to use the makefile.mingw from the mingwPORT, I think)
  • jpeg (it just doesn't want to create a DLL, and there isn't a way to change that because I can't find a so that I can change the libtool version)
  • freetype2 (had to find a webpage with instructions to make the DLL)
  • expat (copied the command from the freetype2 make
  • fontconfig (hates the freetype/expat dlls that I made)
  • gtk2 (every time it tries to compile a file, it errors out with "gcc.exe: Invalid argument")
  • libsvg (wants libgen.h, which MinGW doesn't have at the moment)

Compiling openssl was "fun". I made my own shell script to compile it because apparently they don't like it when you try to compile openssl in an MSYS environment, and I added a command that was referenced in a mailing list problem.

Notes on building poppler (0.3.3) with MinGW (stream of consciousness):

  • configure line: ./configure --disable-poppler-qt --disable-splash-output
  • fix up goo/ with a gettimeofday()
  • patch splash/Splash{{,FT}FontEngine,FontFile}.cc, poppler/ to #include <io.h>, or else it won't find int unlink(char*)
  • Never mind, forget trying to compile Splash. For some reason, it doesn't like one of the gcc headers: /include/objidl.h:58: error: expected unqualified-id before string constant /include/objidl.h:58: error: expected `,' or `;' before string constant
  • It seems that the previous error happens again in poppler/[something]. I have really no idea why it happens. Giving up on compiling.

I can't type anymore. Brain fried. As an aside, must find/make Atom Publishing Protocol client...