- 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
Tag: Solaris
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
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
Wine 1.1.5 for Solaris
Wine 1.1.5 is out. So are new compiling errors:
gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -O2 -o cryptnet_main.o cryptnet_main.c
In file included from cryptnet_main.c:31:
../../include/winbase.h:1518: error: syntax error before “va_list”
../../include/winbase.h:1519: error: syntax error before “va_list”
gmake[2]: *** [cryptnet_main.o] Error 1
gmake[2]: Leaving directory `/var/tmp/wine-1.1.5/dlls/cryptnet’
gmake[1]: *** [cryptnet] Error 2
gmake[1]: Leaving directory `/var/tmp/wine-1.1.5/dlls’
gmake: *** [dlls] Error 2
The thing is, wine/debug.h must be included before any other win*.h headers in dlls/cryptnet/cryptnet_main.c
. . .
#include “wine/debug.h”
#include “windef.h”
#include “winbase.h”
#include “winnt.h”
#include “winnls.h”
#include “wininet.h”
#include “objbase.h”
#define CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS
#include “wincrypt.h”
. . .
SqueezeCenter again. Testing v7.3
SqueezeCenter 7.2 is officially out and not interesting anymore π Let’s have a look at version 7.3 which has a new streaming service. In this test I downloaded SqueezeCenter-7.3-22975.ZIP from here.
The first attempt to start the server (after unpacking and “chmod“-ding) gave me this error:
The following modules failed to load: YAML::Syck
To download and compile them, please run: /usr/local/SqueezeCenter-7.3-22975/Bin/build-perl-modules.pl YAML::Syck
Exiting..
The “built-in” build-perl-modules.pl failed to install the CPAN module:
Welcome to the Slim Devices perl module installer.
These packages are needed for SqueezeCenter to function.
You will need a C compiler (gcc), make, and perl installed.
You will need development libraries for MySQL. eg: libmysqlclient
You will need development libraries for expat. eg: libexpat1-dev
*** Ignore any warnings about AppConfig. ***
Please enter a perl binary to use (defaults to /usr/bin/perl)
This must be the same perl binary that you ran this program with –>
Please enter a directory to download files to –>
Downloads will use lwp to fetch tarballs.
Downloading YAML-Syck-0.64.tar.gz to: /usr/local/SqueezeCenter-7.3-22975
Something looks wrong – I couldn’t read /usr/local/SqueezeCenter-7.3-22975/YAML-Syck-0.64.tar.gz, which I just downloaded.
Uncompressing..
sh: YAML-Syck-0.64.tar.gz: cannot open
tar: blocksize = 0
Couldn’t change to YAML-Syck-0.64 : No such file or directory at /usr/local/SqueezeCenter-7.3-22975/Bin/build-perl-modules.pl line 226, line 2.
So, I decided to go the old way and get rid of the supplied with SqueezeCenter CPAN directory.
… update YAML::Syck just in case…
. . .
cpan[1]> install YAML::Syck
YAML::Syck is up to date (1.05).
#
… and start the server again …
Can’t locate Encode/Detect/Detector.pm in @INC (@INC contains: /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8/i86pc-solaris-64int /opt/csw/SqueezeCenter-7.3-22975/CPAN/arch/5.8/i86pc-solaris-64int/auto /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8.4/i86pc-solaris-64int /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8.4/i86pc-solaris-64int/auto /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8/i86pc-solaris-64int /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8/i86pc-solaris-64int/auto /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/i86pc-solaris-64int /usr/local/SqueezeCenter-7.3-22975/lib /usr/local/SqueezeCenter-7.3-22975/CPAN /usr/local/SqueezeCenter-7.3-22975 /usr/local/SqueezeCenter-7.3-22975 /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Unicode.pm line 40.
BEGIN failed–compilation aborted at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Unicode.pm line 40.
Compilation failed in require at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Prefs/Namespace.pm line 30.
BEGIN failed–compilation aborted at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Prefs/Namespace.pm line 30.
Compilation failed in require at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Prefs.pm line 81.
BEGIN failed–compilation aborted at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Prefs.pm line 81.
Compilation failed in require at /usr/local/slimserver/slimserver.pl line 146.
BEGIN failed–compilation aborted at /usr/local/slimserver/slimserver.pl line 146.
This error looks familiar. And after commenting line 40 in SqueezeCenter-7.3-22975/Slim/Utils/Unicode.pm (#use Encode::Detect::Detector; ) the server came alive and immediately updated the firmware of the Transporter to version 62.
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”
IOAT fatal failures
See I/OAT description here.
Solaris (at least snv_93 and and snv_95) panics if large amount of traffic is sent across the interface dedicated to a zone with exclusive TCP/IP stack. For example, start Firefox and forward the X traffic to the global zone.
Continue reading “IOAT fatal failures”