Search the web
Sign In
New User? Sign Up
ClearSilver
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want your group to be featured on the Yahoo! Groups website? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Building ClearSilver on solaris 10: problems and solutions   Message List  
Reply | Forward Message #512 of 1347 |
Hi,
Following is a list of problems and solutions I discovered while
builing clearsilver on solaris 10 using gcc version 3.4.3 and
configured as:

./configure --prefix=/opt/clearsilver
--x-includes=/usr/openwin/include --x-libraries=/usr/openwin/lib
--enable-remote-debugger --with-apache=/opt/csw/apache
--with-python=/usr/sfw/bin/python --with-perl=/opt/csw/bin/perl
--disable-ruby --with-java=/opt/jdk/jdk1.5.0_04 --disable-csharp
--enable-gettext

I could find solutions to some problems and am documenting them here
in the hope that (i) somebody can tell me what I did wrong to
encounter so many errors and/or (ii) it is useful to someone.

However, I could not solve problem i) maybe because it is pretty late
in the night - any help is gladly appreciated...

Thanks,
~Madhu.

----------------------------------------------------------------------
a) configures fine, but make quits with following error:
> *******************************************
> ** Building Dependencies
> ** OSNAME: SunOS
> *.c: No such file or directory
> make: *** [Makefile.depends] Error 2

error also referenced in
http://groups.yahoo.com/group/ClearSilver/message/352 and
http://groups.yahoo.com/group/ClearSilver/message/273

Solution) rules.mk.in contains construct `ls -1 *.c` which cribs since
there is no *.c in the $(CLEARSILVER) dir. I just changed it to `find
. -name "*.c" -print`. Diff follows

$ diff rules.mk.in rules.mk.in.original
89d88
< FIND = /bin/find
145c144
< @for II in `$(FIND) . -name "*.c" -print`; do \
---
> @for II in `$(LS) -1 *.c`; do \

----------------------------------------------------------------------
b) This causes files in /util to be compiled successfully and
libs/libneo_utl.a is built. libs/libneo_cs.a is also built successfully.

c) Regression tests in cs fail with messages as
diff: illegal option -- brief
usage: diff [-bitw] [-c | -e | -f | -h | -n | -u] file1 file2
diff [-bitw] [-C number | -U number] file1 file2
diff [-bitw] [-D string] file1 file2
diff [-bitw] [-c | -e | -f | -h | -n | -u] [-l] [-r] [-s] [-S
name] directory1 directory2
Failed Regression Test: test.cs
See test.cs.out and test.cs.err

Solution: changed all occurences of "--brief" in cs/Makefile to "-brief"
----------------------------------------------------------------------
d) linking fails for static.cso with error messages as

gcc -shared -fPic -o static.cso static.o -L../libs/ -lneo_cgi -lneo_cs
-lneo_utl -lz
Text relocation remains referenced
against symbol offset in file
<unknown> 0x0
../libs//libneo_cgi.a(html.o)
<unknown> 0x4
../libs//libneo_cgi.a(html.o)
<unknown> 0x8
../libs//libneo_cgi.a(html.o)

and so on.

Solution: add -fPIC to CFLAGS and CPPFLAGS in rules.mk.in, cs/Makefile
and python/Makefile and changed all occurences of -fPic to -fPIC
----------------------------------------------------------------------
e) Fixes linking errors, but loads of warnings in compiling mod_ecs.so
follow

/opt/csw/apache/bin/apxs -c -o mod_ecs.so mod_ecs.c
cc -DSOLARIS2=280 -DMOD_SSL=208122 -DEAPI -DEAPI_MM -fast -xarch=v8
-KPIC -DSHARED_MODULE -I/opt/csw/apache/include -c mod_ecs.c
"mod_ecs.c", line 286: warning: pointer to void or function used in
arithmetic
"mod_ecs.c", line 640: warning: argument #2 is incompatible with
prototype:
prototype: pointer to void : "unknown", line 0
argument : pointer to function(pointer to void, pointer to
void, unsigned int) returning int
"mod_ecs.c", line 640: warning: argument #3 is incompatible with
prototype:
prototype: pointer to void : "unknown", line 0
argument : pointer to function(pointer to void, pointer to
char, pointer to void) returning int
"mod_ecs.c", line 640: warning: argument #4 is incompatible with
prototype:
prototype: pointer to void : "unknown", line 0
argument : pointer to function(pointer to void, pointer to
char, unsigned int) returning int
"mod_ecs.c", line 640: warning: argument #5 is incompatible with
prototype:
prototype: pointer to void : "unknown", line 0
argument : pointer to function(pointer to void, pointer to
char) returning pointer to char
"mod_ecs.c", line 640: warning: argument #6 is incompatible with
prototype:
prototype: pointer to void : "unknown", line 0
argument : pointer to function(pointer to void, pointer to
char, pointer to char) returning int
"mod_ecs.c", line 640: warning: argument #7 is incompatible with
prototype:
prototype: pointer to void : "unknown", line 0
argument : pointer to function(pointer to void, int, pointer
to pointer to char, pointer to pointer to char) returning pointer to char
ld -G -o mod_ecs.so mod_ecs.o
----------------------------------------------------------------------

NOTE: THIS WAS A PROBLEM WITH MY PYTHON INSTALLATION AND IN ALL
PROBABILITY IS NOT APPLICABLE TO YOU.

f) problem building in the python subdir.
$ gmake
....
gmake[1]: Entering directory `/tmp/clearsilver-0.9.14/python'
rm -f neo_cgi.so
/usr/sfw/bin/python setup.py build_ext --inplace
adding inc_path $(NEOTONIC_ROOT)
adding lib_path $(LIB_DIR)
adding lib z
running build_ext
building 'neo_cgi' extension
creating build
creating build/temp.solaris-2.10-sun4u-2.3
/sgnome/tools/sparc-solaris/forte/SOS8/SUNWspro/bin/cc -i -xO4 -xspace
-xstrconst -xarch=v8a -mr -DANSICPP -D__STDC_VERSION__=199409L
-DNDEBUG -O -I../ -I/usr/sfw/include/python2.3 -c neo_cs.c -o
build/temp.solaris-2.10-sun4u-2.3/neo_cs.o
unable to execute
/sgnome/tools/sparc-solaris/forte/SOS8/SUNWspro/bin/cc: No such file
or directory
error: command
'/sgnome/tools/sparc-solaris/forte/SOS8/SUNWspro/bin/cc' failed with
exit status 1

Solution: None found!!! Hmm...following is what I tried
$ ggrep -R -r sgnome *
$ for i in `find . -name "*" -print`; do grep sgnome $i; done
$

the problem was with my python installation - not sure why.
reconfigured with --python=/opt/csw/bin/python and that was built fine.
----------------------------------------------------------------------
g)
gmake[1]: Entering directory `/tmp/clearsilver-0.9.14/perl'
cc -c -I../ -D_REENTRANT -I/opt/csw/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\"
-KPIC "-I/opt/csw/lib/perl/5.8.6/CORE" ClearSilver.c
"ClearSilver.xs", line 369: warning: argument #2 is incompatible with
prototype:
prototype: pointer to const char :
"/usr/include/iso/string_iso.h", line 72
argument : pointer to unsigned char
"ClearSilver.xs", line 384: undefined symbol: __PRETTY_FUNCTION__
"ClearSilver.xs", line 384: warning: improper pointer/integer
combination: arg #1
cc: acomp failed for ClearSilver.c

Solution: changed CC to gcc and CFLAGS to -fPIC in perl/Makefile [This
could be a problem with my environmental variables- although I did
ensure that I unset CC, CXX, CPP, CFLAGS, CXXFLAGS, CPPFLAGS and
LDFLAGS before I ran ./configure ]. Removed
-L/opt/forte8/SUNWspro/prod/lib from LDFLAGS and LDDFLAGS in
perl/Makefile since those are not valid directories on my machine.

----------------------------------------------------------------------
h) now to the java-jni part

gmake[1]: Entering directory `/tmp/clearsilver-0.9.14/java-jni'
gmake[1]: *** No rule to make target `jni_md.h', needed by
`j_neo_util.o'. Stop.
gmake[1]: Leaving directory `/tmp/clearsilver-0.9.14/java-jni'

Solution: changed -I$(JAVA_PATH)/include/linux to
-I$(JAVA_PATH)/include/solaris in java-jni/Makefile since this is a
solaris m/c and java_md.h is in $(JAVA_PATH)/include/solaris.
----------------------------------------------------------------------
i)
gmake[1]: Entering directory `/tmp/clearsilver-0.9.14/java-jni'
/opt/jdk/jdk1.5.0_04/bin/javah -classpath clearsilver.jar -jni
org.clearsilver.HDF
/opt/jdk/jdk1.5.0_04/bin/javah -classpath clearsilver.jar -jni
org.clearsilver.CS
gcc -g -O2 -Wall -I../ -fPIC -I../ -I/opt/jdk/jdk1.5.0_04/include
-I/opt/jdk/jdk1.5.0_04/include/solaris -o j_neo_util.o -c j_neo_util.c
In file included from j_neo_util.c:5:
../util/neo_err.h:27: error: syntax error before "typedef"
In file included from /usr/include/stdlib.h:18,
from ../util/neo_misc.h:15,
from ../util/neo_str.h:19,
from ../util/neo_err.h:117,
from j_neo_util.c:5:
/usr/include/iso/stdlib_iso.h:37: error: syntax error before "extern"
gmake[1]: *** [j_neo_util.o] Error 1
gmake[1]: Leaving directory `/tmp/clearsilver-0.9.14/java-jni'
gmake: *** [cs] Error 2

Solution: NONE FOUND






Sat Jul 2, 2005 3:48 am

hrmadhu
Offline Offline
Send Email Send Email

Forward
Message #512 of 1347 |
Expand Messages Author Sort by Date

Hi, Following is a list of problems and solutions I discovered while builing clearsilver on solaris 10 using gcc version 3.4.3 and configured as: ./configure...
hrmadhu
Offline Send Email
Jul 3, 2005
12:07 am

... Hmm, guess make is pickier there. I'll try the find version, I think a maxdepth argument is necessary as well. Not sure how portable that will be,...
Brandon Long
blong42
Offline Send Email
Jul 3, 2005
12:29 am

Hi Madhu, On what platform are you running Solaris 10? I have NetBSD 2 running on Sparc64 and whilst I can apparently build ClearSilver easily using either the...
Jeff Tupholme
jeff-lists@...
Send Email
Jul 6, 2005
2:53 am

Hi Madhu, On what platform are you running Solaris 10? I have NetBSD 2 running on Sparc64 and whilst I can apparently build ClearSilver easily using either the...
Jeff Tupholme
jeff-lists@...
Send Email
Jul 17, 2005
7:02 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help