- Get intltool package (for example, from blastwave)
If you use the bundled intltool, you will get the following error:
Undefined first referenced
symbol in file
libintl_bind_textdomain_codeset bluefish.o
libintl_gettext bf_lib.o
libintl_textdomain bluefish.o
libintl_bindtextdomain bluefish.o
libintl_ngettext file.o
ld: fatal: symbol referencing errors. No output written to bluefish-unstable
collect2: ld returned 1 exit status
gmake[3]: *** [bluefish-unstable] Error 1
gmake[3]: Leaving directory `/var/tmp/bluefish-unstable-1.3.2/src’
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/var/tmp/bluefish-unstable-1.3.2/src’
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/var/tmp/bluefish-unstable-1.3.2/src’
gmake: *** [all-recursive] Error 1 - Set the LIBS variable:export LIBS=”-lsocket -lnsl -L/usr/csw/lib -lintl”
- Put /usr/gnu/bin directory in the first place in PATH. For example:export PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/usr/openwin/bin:
/sbin:/usr/dt/bin:/usr/sfw/bin:/usr/csw/bin:/usr/local/binThe reason is two different xgettext programs. The configure script wants the GNU version:
checking for xgettext… (cached) /usr/bin/xgettext
checking for msgmerge… /usr/bin/msgmerge
checking for msgfmt… (cached) /usr/bin/msgfmt
/usr/bin/xgettext: illegal option — version
Usage: xgettext [-a [-x exclude-file]] [-jns][-c comment-tag]
[-d default-domain] [-m prefix] [-M suffix] [-p pathname] files …
xgettext -h
ERROR: Cannot open file –version.
configure: error: GNU gettext tools not found; required for intltool
Category: Sun
Compiling Wine 1.1.14 for OpenSolaris or Solaris Nevada
Update 15.02.2009 @ 14:04: Same for wine 1.1.15…
The following error:
ipstats.c:279: error: called object is not a function
ipstats.c: In function `getICMPStats’:
ipstats.c:472: error: called object is not a function
ipstats.c: In function `getIPStats’:
ipstats.c:641: error: called object is not a function
ipstats.c: In function `getTCPStats’:
ipstats.c:778: error: called object is not a function
ipstats.c: In function `getUDPStats’:
ipstats.c:862: error: called object is not a function
ipstats.c: In function `getNumWithOneHeader’:
ipstats.c:985: error: called object is not a function
ipstats.c: In function `getRouteTable’:
ipstats.c:1255: error: called object is not a function
ipstats.c: In function `getTcpTable’:
ipstats.c:1607: error: called object is not a function
gmake[2]: *** [ipstats.o] Error 1
gmake[2]: Leaving directory `/var/tmp/wine-1.1.14/dlls/iphlpapi’
gmake[1]: *** [iphlpapi] Error 2
gmake[1]: Leaving directory `/var/tmp/wine-1.1.14/dlls’
gmake: *** [dlls] Error 2
Is caused by redefinition of the ERR function in the wrong place. To fix move #include “wine/debug.h” behind all includes in dlls/iphlpapi/ipstats.c:
. . .
#include “config.h”
#include “wine/port.h”
#include “wine/debug.h”
#include
#include
. . .
to (line 126):
. . .
#include “windef.h”
#include “winbase.h”
#include “iprtrmib.h”
#include “ifenum.h”
#include “ipstats.h”
#include “wine/debug.h”
. . .
Upgrade x (Solaris + SqueezeCenter)
Here’s a quick way to upgrade one or both Solaris (tested with Nevada snv_107) and SqueezeCenter (tested with SC 7.4 24827).
- Remove the CPAN directory in the SC root directory# mv CPAN CPAN.orig
- Install missing CPAN modules# perl -MCPAN -e shell
cpan> install Bundle::CPAN
. . .
cpan> reload CPAN
cpan> install I18N::LangTags
cpan> force install Scalar::Util - Disable Encode::Detect::Detector module in Slim/Utils/Unicode.pm (line 40). The module can’t be compiled for Solaris.# vi Slim/Utils/Unicode.pm
. . .
#use Encode::Detect::Detector;
What’s New in OpenSolaris 2008.11
The list of new features on opensolaris.com.
Compiling Kompozer for Solaris
The first attempt to compile Kompozer for Solaris
SunRay and Sun and non-Sun keyboard sequences
For customers using non-Sun USB keyboards, controls such as volume and reset can be accessed using alternate key sequences. Use the key combination Ctrl-Pause-, where is one of the keys listed in the table below:
Continue reading “SunRay and Sun and non-Sun keyboard sequences”
Jumbo frames on Solaris
For e1000g (Solaris):
Change /kernel/drv/e1000g.conf to:
# 0 is for normal ethernet frames.
# 1 is for upto 4k size frames.
# 2 is for upto 8k size frames.
# 3 is for upto 16k size frames.
# These are maximum frame limits, not the actual ethernet frame
# size. Your actual ethernet frame size would be determined by
# protocol stack configuration (please refer to ndd command man pages)
# For Jumbo Frame Support (9k ethernet packet)
# use 3 (upto 16k size frames)
For rge (Solaris):
Maximum MTU supported by rge is 7000.
Change /kernel/drv/rge.conf to:
Then reboot.
The result:
. . .
e1000g1: flags=201000843 mtu 9000 index 2
inet 10.0.10.1 netmask ffffff00 broadcast 10.0.10.255
ether 0:18:f3:ef:2a:d1
Short script for searching mail logs
Today I had to search through dozens of mail logs (syslog) located on several mail relays and find all entries related to a particular user.
Given:
- All servers are managed via a remote tty console,
- The ksh-script must be copy&pasteable
- All logs are gzipped
- I need all entries with the same message number (the ninth field) as the found log entry
This is what I came up with:
CPU power management
Some CPU’s and system boards allow you to change operating voltage and frequency, resulting in a corresponding change in performance, and power consumed.
To test what frequencies are supported:
# kstat -m cpu_info -s supported_frequencies_Hz module: cpu_info instance: 0 name: cpu_info0 class: misc supported_frequencies_Hz 2000000000:2667000000module: cpu_info instance: 1 name: cpu_info1 class: misc supported_frequencies_Hz 2000000000:2667000000module: cpu_info instance: 2 name: cpu_info2 class: misc supported_frequencies_Hz 2000000000:2667000000 module: cpu_info instance: 3 name: cpu_info3 class: misc supported_frequencies_Hz 2000000000:2667000000
In this example (Xeon x5355), two frequencies are supported: 2.000 and 2.667 GHz
What is the current frequency:
# kstat -m cpu_info -s current_clock_Hz module: cpu_info instance: 0 name: cpu_info0 class: misc current_clock_Hz 2000000000module: cpu_info instance: 1 name: cpu_info1 class: misc current_clock_Hz 2000000000 module: cpu_info instance: 2 name: cpu_info2 class: misc current_clock_Hz 2667000000 module: cpu_info instance: 3 name: cpu_info3 class: misc current_clock_Hz 2667000000
In this example, two cores are running at 2.00GHz and two at 2.667GHz
To enable CPU power management add the following lines to /etc/power.conf and let pmconfig reread the config:
# vi /etc/power.conf ... cpupm enable cpu-threshold 1s ... # pmconfig #
Or download and install powertop. When you start it, press “p” to enable CPU power management.
Using dtpower:
To be able run dtpower as a superuser (only) edit /etc/default/power:
# vi /etc/default/power . . . PMCHANGEPERM=- CPRCHANGEPERM=- . . . #
ATTENTION: If you have an ASUS DSBF motherboard you need to upgrade the BIOS to AT LEAST version 1004. Older revisions do not support multiple frequencies.
Additional information:
Solaris, Wine and Xorg extensions
Wine 1.1.3 is out! Let’s see hot it compiles on Solaris snv_95 (Solaris 11 build 95).
Continue reading “Solaris, Wine and Xorg extensions”