Thursday, June 28, 2007
Random tools
Just to remind myself of the web page for the win2k tools.
http://support.microsoft.com/kb/927229/en-us
Also there are the sysinternals tools, which are on a different page.
Also, some tools such as qslice.exe are available from MSFT, but not on the above link.
Wednesday, June 27, 2007
Vista 101
Wow, the Vista UAC thing is strange. I installed cmake, and for some reason it wants to run as administrator. Fine. Set to "Run as administrator", but it still prompts with "An unidentified program wants access to your computer". Fine. But according to reading random web pages, this cannot be disabled (!) without (1) admin status on your account, and (2) disabling elevation for all programs.
http://www.vistax64.com/vista-security/72621-giving-run-administrator-rights-program.html
http://www.ghacks.net/2007/02/28/an-unidentified-program-wants-access-to-your-computer/
Well, ok.
Note, see also:
http://4sysops.com/archives/why-and-how-to-disable-the-uac-elevation-prompts-secure-desktop-prompting/
Tuesday, June 26, 2007
Cross-platform toolkits Redux
A surprisingly difficult challenge came up today. I'm trying to write a small GUI utility for a machine which doesn't have a compiler, and has an old OS install. I want the tool to be cross-platform, (it could potentially be used on other computers). It can be compiled or scripted.
1) I found out that you can't statically link with libstc++, because certain C++ features (maybe RTTI (?), I don't really recall) require runtime support from the OS. In other words, even if I statically link with libstdc++.so.6, that doesn't mean it will work on another machine with a different kernel rev, because libstdc++ depends on the linux ABI. As a result, all C++ toolkits are out.
Next step: consider a different C++ compiler.
2) For scripting, the target machine has Perl, Python, and tcl. I refuse to use tcl ever again. Perl would be fine, but neither perltk nor perlgtk are installed. The python rev is 1.5.2, rather old, but maybe.
Next step: check python compatibility between 1.5.2 and a modern version. Also check if GUI bindings are present on target box.
Next step: swallow my pride and use tcl, but only for the file selection dialog.
3) Tried using C GUI kit, such as gtk+. This requires static link on development box. However, I seem to have exhausted the options. If I statically link gtk-x11-2.0, it doesn't run, even on my development box. I get mysterious glib errors:
(process:27368): GLib-GObject-CRITICAL **: gtype.c:2240: initialization assertion failed, use IA__g_type_init() prior to this function
But dynamic link (e.g. copying the .so file) is not possible because glibc version is different. Copying over glibc.so causes a seg fault. (Yes I tried)
Next step: consider libaw or libtk which are present on target.
4) Java would be ok, but bytecode generated by the IBM javac on my development box doesn't run using the Sun java runtime on the target. I tried using gcj, but Debian testing is still on 4.1 and cannot be linked statically because the package is missing libgcj.a (!).
Next step: consider install Sun java on the development box. Target box has sun java 1.3
Sunday, June 24, 2007
C libraries
I've been looking for a C utilities library which ideally contains linked lists, extensible arrays, and strings. Here are the candidates:
Glib
http://www.gtk.org/
libh
http://libh.slashusr.org/
libeds
http://code.google.com/p/libeds/
bstrlib
http://bstring.sourceforge.net/
iMatix sfl
http://legacy.imatix.com/html/sfl/
Erwin Data Structures
http://www.theiling.de/projects/erwin.html
Ubiqx
http://ubiqx.org/modules.html
SGLib
http://sglib.sourceforge.net/
GPCT
http://code.google.com/p/gpct/
c-generic-library
http://code.google.com/p/c-generic-library/
libslack
http://libslack.org/
SimCList
http://mij.oltrelinux.com/devel/simclist/
others?