- for loop initialisers are supported
- declarations can be mixed with code
- there is a bool type
- the C++ // comment is supported
- and some weird array and macro stuff (variable length arrays are broken in gcc)
2007/10/26
C99 or back to the future
Its almost 10yrs since I had to look at any significant C, and it was pleasant to find that C99 has added:
2007/10/24
Large File Support in HP-UX
fsadm is the key to turning on large file support in a HP-UX filesystem. Then the fun begins making sure that compiler flags allow you at your >2GB goodness.
There is a reasonable discussion of the other steps in the Tru64 Transition document set.
There is a reasonable discussion of the other steps in the Tru64 Transition document set.
2007/10/18
Soft-boiled egg cracking
Endianness is great make-work and telling the which orientation a box is at runtime is interesting (especially as some architectures are bi) - snippet derived from the IBM article:
int
main(int argc, char* argv[])
{
int i = 1;
char *p = (char *)&i;
if (p[0] == 1)
printf("little endian\n");
else
printf("big endian\n");
return 0;
}
Anyway, HP-UX on Itanium is big (as was/is PA-RISC), linux on Intel is little.
2007/10/15
Caching nameserver with ISC bind
Handy to do in the presence of dodgy local nameserver(s) - on gentoo:
# emerge bind
# vi /etc/bind/named.conf
...
//forward first; // uncomment to avoid going to the root nameservers
forwarders {
192.168.6.53; // local dodgy ns #1
192.168.5.53; // local dodgy ns #2
};
...
# vi /etc/resolv.conf
...
nameserver 127.0.0.1
# rc-config add named
# /etc/init.d/named start
# dig www.dilbert.com # <- note query time
# dig www.dilbert.com # <- note reduced query time
#
# emerge bind
# vi /etc/bind/named.conf
...
//forward first; // uncomment to avoid going to the root nameservers
forwarders {
192.168.6.53; // local dodgy ns #1
192.168.5.53; // local dodgy ns #2
};
...
# vi /etc/resolv.conf
...
nameserver 127.0.0.1
# rc-config add named
# /etc/init.d/named start
# dig www.dilbert.com # <- note query time
# dig www.dilbert.com # <- note reduced query time
#
2007/10/12
HP-UX Versions & Support
HP will support old HP-UX OS versions for ~10 years. Updates to major releases come every 6 months. And major releases come every 3 years.
And they guarantee forward compatibility if there are no kernel dependencies. They don't have a backward compatibility guarantee (build on a newer environment, for deployment on an older one).
Software from the old HP 9000 architecture can run under emulation on Itanium, or is guaranteed to be source code/build time compatible on Itanium.
And they guarantee forward compatibility if there are no kernel dependencies. They don't have a backward compatibility guarantee (build on a newer environment, for deployment on an older one).
Software from the old HP 9000 architecture can run under emulation on Itanium, or is guaranteed to be source code/build time compatible on Itanium.
2007/10/11
C++ References
Small collection of links that I find handy & refer to regularly:
- cppreference - handy site for quick reference
- sgi stl original reference material
- gnu libstdc++ info manual
- shared libs & their care + feeding
- ACE classes, makefile hints
- gmake info manual
- gcc 4.1.2 info manual
- gdb cribsheet
HP-UX SWA
Incantation to install swinstall:
swinstall -s /local/SwAssistant_C.01.02_HP-UX_11iv2+v3_IA_PA.depot
Depots need to be marked for installation inside the swinstall motif gui.
SWA itself is finicky about the specific version of the jre that it requires as well...
But it depends on having internet access to pull down a swa_catalog.xml file, and if your servers don't have that access...
So download it with firefox, scp it to the server, uncompress it, and:
# swa report -x catalog=swa_catalog.xml
And of course it doesn't run because it needs a later 'Gold Base Patches for HP-UX' bundle to be installed...
swinstall -s /local/SwAssistant_C.01.02_HP-UX_11iv2+v3_IA_PA.depot
Depots need to be marked for installation inside the swinstall motif gui.
SWA itself is finicky about the specific version of the jre that it requires as well...
But it depends on having internet access to pull down a swa_catalog.xml file, and if your servers don't have that access...
So download it with firefox, scp it to the server, uncompress it, and:
# swa report -x catalog=swa_catalog.xml
And of course it doesn't run because it needs a later 'Gold Base Patches for HP-UX' bundle to be installed...
Rooting around HP-UX 11.23 ia64
Whats in the box
The divil is in the detail:
swa is the HP recommended way of patching up boxes - its a free download from (the download site was broken the first day I tried - worked the next day).
The divil is in the detail:
- Run machinfo to see installed memory (& hardware model, ...)
- Watch paging use with swapinfo.
- Run 'ioscan ioscan -funC disk' to see installed disks.
- Look at logical volumes/groups with vgdisplay -v (the 'Free PE' field is interesting).
- Look at how a physical disk is allocated with pvdisplay /dev/dsk/c2t0d0
swa is the HP recommended way of patching up boxes - its a free download from (the download site was broken the first day I tried - worked the next day).
Subscribe to:
Posts (Atom)