Had a few problems compiling for Solaris ( SunOS 5.10 Generic_118822-08
sun4u sparc SUNW,Sun-Fire-V440 ), didn't know if any of these could be
fixed easily in the release branch.
These left me with a single group of errors, I believe just affecting
wbxml2 -
***FAILED: VHOST_DEFINE (lpath=>'/PortalCSVS',
ppath=>'/IBuySpy/PortalCSVS/', def_page=>'Default.aspx',
vsp_user=>'dba')
- which I was able to step-over with 'make -i' and I'll ask about in a
separate post.
Steps to a successful compile -
-- Step 1 --
(Thanks to Tim Haynes for this tip)
Remove this from libsrc/Wi/remote.h, line 135:
#ifdef SOLARIS
typedef struct _rstmtstruct remote_stmt_t;
#endif
-- Step 2 --
Remove this from binsrc/sqldoc/cutter.c, line 29:
#ifndef _PTRDIFF_T_DEFINED
typedef signed long ptrdiff_t;
#endif
- Notes
Compiles with it gone, with gives this error:
Making all in sqldoc
gmake[2]: Entering directory
`/dir/virtuoso-opensource-5.0.1/binsrc/sqldoc'
if gcc -DHAVE_CONFIG_H -I. -I. -I../../libsrc/Dk -O -fPIC -MT
cutter.o -MD -MP -MF ".deps/cutter.Tpo" -c -o cutter.o cutter.c; \
then mv -f ".deps/cutter.Tpo" ".deps/cutter.Po"; else rm -f
".deps/cutter.Tpo"; exit 1; fi
cutter.c:30: error: conflicting types for 'ptrdiff_t'
/usr/include/sys/types.h:97: error: previous declaration of
'ptrdiff_t' was here
gmake[2]: *** [cutter.o] Error 1
gmake[2]: Leaving directory
`/dir/virtuoso-opensource-5.0.1/binsrc/sqldoc'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/dir/virtuoso-opensource-5.0.1/binsrc'
gmake: *** [all-recursive] Error 1
For reference /usr/include/sys/types.h, line 93:
#define _PTRDIFF_T
#if defined(_LP64) || defined(_I32LPx)
typedef long ptrdiff_t; /* pointer difference */
#else
typedef int ptrdiff_t; /* (historical version) */
#endif
#endif
-- Step 3 --
Must be root to compile.
- Notes
Here's the error when one isn't:
Making all in rdf_mappers
make[2]: Entering directory
`/dir/virtuoso-opensource-5.0.1/binsrc/rdf_mappers'
PATH="/dir/virtuoso-opensource-5.0.1/binsrc/virtuoso:/dir/virtuoso-
opensource-5.0.1/binsrc/tests:.:$PATH"
PORT=1111 HOME="/dir/virtuoso-opensource-5.0.1" HOST=localhost sh
/make_vad.sh
=====================================================================
= STARTED RDF Mappers PACKAGING
= Tue Sep 18 18:57:51 CDT 2007
=====================================================================
Shutdown Virtuoso Server...
VAD Sticker vad_dav.xml creation...
VAD Sticker vad_fs.xml creation...
Virtuoso.ini creation...
The VDBMS server process terminated prematurely
after initializing network connections.
Waiting Virtuoso Server start on port 1111...
Waiting Virtuoso Server start on port 1111...
[...cut...]
And it will time out. Let's try:
cd binsrc/rdf_mappers
PATH="/dir/virtuoso-opensource-5.0.1/binsrc/virtuoso:/dir/virtuoso-
opensource-5.0.1/binsrc/tests:.:$PATH"
PORT=1111 HOME="/dir/virtuoso-opensource-5.0.1" HOST=localhost
virtuoso +foreground
Tue Sep 18 2007
19:22:16 OpenLink Virtuoso Universal Server19:22:16 Version
05.00.3015-pthreads for Solaris as of Sep 18 200719:22:16 uses parts of
OpenSSL, PCRE, Html Tidy
19:22:16 Database version 3009
19:22:16 SQL Optimizer enabled (max 1000 layouts)
19:22:17 Compiler unit is timed at 0.002215 msec
19:22:21 Roll forward started
19:22:21 Roll forward complete
19:22:21 Checkpoint made, log reused
Failed to start listening: Address already in use
19:22:21 Failed to start listening at the unix domain socket for tcp
port '1111'
19:22:21 Server exiting
The port is not already in use, it just can't be created by a normal
user.
***This would've been a really handy error message to see when
compiling.***
-- Step 4 --
Pass 'CFLAGS=-O' to 'configure'. Example:
./configure --enable-openssl=/opt/local/ssl CFLAGS=-O
- Notes
Running:
./configure --enable-openssl=/opt/local/ssl
make
Results in a similar error as above:
Making all in rdf_mappers
make[2]: Entering directory
`/dir/virtuoso-opensource-5.0.1/binsrc/rdf_mappers'
PATH="/dir/virtuoso-opensource-5.0.1/binsrc/virtuoso:/dir/virtuoso-
opensource-5.0.1/binsrc/tests:.:$PATH"
PORT=1111 HOME="/dir/virtuoso-opensource-5.0.1" HOST=localhost sh
/make_vad.sh
=====================================================================
= STARTED RDF Mappers PACKAGING
= Tue Sep 18 16:12:11 CDT 2007
=====================================================================
Shutdown Virtuoso Server...
VAD Sticker vad_dav.xml creation...
VAD Sticker vad_fs.xml creation...
Virtuoso.ini creation...
The VDBMS server process terminated prematurely
after initializing network connections.
Waiting Virtuoso Server start on port 1111...
Waiting Virtuoso Server start on port 1111...
[...cut...]
And it will time out. Let's try:
cd binsrc/rdf_mappers
PATH="/dir/virtuoso-opensource-5.0.1/binsrc/virtuoso:/dir/virtuoso-
opensource-5.0.1/binsrc/tests:.:$PATH"
PORT=1111 HOME="/dir/virtuoso-opensource-5.0.1" HOST=localhost
virtuoso +foreground
Tue Sep 18 2007
17:30:19 OpenLink Virtuoso Universal Server
17:30:19 Version 05.00.3015-pthreads for Solaris as of Sep 18 2007
17:30:19 uses parts of OpenSSL, PCRE, Html Tidy
17:30:19 Database version 3009
17:30:19 SQL Optimizer enabled (max 1000 layouts)
17:30:20 Compiler unit is timed at 0.002195 msec
17:30:24 Roll forward started
17:30:24 Roll forward complete
17:30:24 Checkpoint made, log reused
17:30:26 Server received signal 10. Continuing with the default
action
for that signal.
Bus Error (core dumped)
It's dumping core.
***This would've been a really handy error message to see when
compiling.***
-- end --
Thanks,
Trevor