Wednesday Jun 17, 2009

On S10 x64 machine  (v20z box) with S10U5, filebench is not compiling with flex and bison packages downloaded from sunfreeware.  

Here is the configure error with flex:

bash$ ./configure
checking for a BSD-compatible install... config/install-sh -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... no
checking whether cc accepts -g... yes
checking for cc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of cc... none
checking dependency style of cc... (cached) none
checking for bison... bison -y
checking for flex... flex
checking for yywrap in -lfl... no
checking for yywrap in -ll... yes
checking lex output file root... configure: error: cannot find output from flex; giving up

 Now, If I uninstall flex and try, it fails during make:

bash$ make package

.......

.....

cc -D_REENTRANT -I. -I. -I.. -I../intl -DFILEBENCHDIR=\"/opt/filebench\"     -g -xO3 -DYYDEBUG=1 -c `test -f 'ipc.c' || echo './'`ipc.c
source='misc.c' object='misc.o' libtool=no \
depfile='.deps/misc.Po' tmpdepfile='.deps/misc.TPo' \
depmode=none /bin/bash ../config/depcomp \
cc -D_REENTRANT -I. -I. -I.. -I../intl -DFILEBENCHDIR=\"/opt/filebench\"     -g -xO3 -DYYDEBUG=1 -c `test -f 'misc.c' || echo './'`misc.c
source='multi_client_sync.c' object='multi_client_sync.o' libtool=no \
depfile='.deps/multi_client_sync.Po' tmpdepfile='.deps/multi_client_sync.TPo' \
depmode=none /bin/bash ../config/depcomp \
cc -D_REENTRANT -I. -I. -I.. -I../intl -DFILEBENCHDIR=\"/opt/filebench\"     -g -xO3 -DYYDEBUG=1 -c `test -f 'multi_client_sync.c' || echo './'`multi_client_sync.c
bison -y -d parser_gram.y
ld.so.1: bison: fatal: libintl.so.8: open failed: No such file or directory
*** Signal 9
make: Fatal error: Command failed for target `parser_gram.c'
Current working directory /tmp/filebench-1.4.8/filebench
*** Error code 1
make: Fatal error: Command failed for target `package'

As a workaround, using the binaries provided in /usr/sfw/bin seem to work.

Thursday Jun 26, 2008

I am facing a screen resolution problem with my 2100z workstation after installing Indiana 5.08 (b86 rc3).   It has Nvidia Quadro FX 500 and I downloaded the driver for it from Nvidia download site.  The pkginfo shows  a complete install and so does the driver configuration utility. But I am unable to change the resolution beyond 640x480.  

Any  clues?

Monday Apr 07, 2008

I encountered a rather unusual situation that made me realize that my understanding of "cut" command is not as good as I thought it to be! 

 Take this example:

bash-3.00#  strings /usr/apache/bin/httpd |grep SERVER_CONFIG_FILE|cut -f2 -d"="
"/etc/apache/httpd.conf"

Now from the above output, I assume that there is just one field and that too it is within the delimiter "

Not so as per the following output:

bash-3.00#  strings /usr/apache/bin/httpd |grep SERVER_CONFIG_FILE|cut -f2 -d"="|cut -f1 -d"\""

bash-3.00#

So by simple trial and error method, I right shift field by one and give field# as 2:

bash-3.00#  strings /usr/apache/bin/httpd |grep SERVER_CONFIG_FILE|cut -f2 -d"="|cut -f2 -d"\""
/etc/apache/httpd.conf

Any expert opinion on this behaviour?
 

Wednesday Aug 23, 2006

One more! :-(

$cat test.c
#include
int a=1;
void main()
{
int a=2;
system("clear");
printf("The value of a is %d",::a);
getchar();
}
$gcc test.c
test.c: In function `main':
test.c:7: error: syntax error before ':' token
test.c:4: warning: return type of 'main' is not `int'

As always your help is appreciated!

Tuesday Aug 22, 2006

I have decided to include a few simple C programs in my blog. Here is a simple program that will print the process id of itself and its parent's pid.

#include
main()
{
system("clear");
printf("The pid of this process is %d & the pid of the parent process is %d",getpid(),getppid());
getchar();
}

This blog copyright 2009 by maddy