POV-Ray : Newsgroups : povray.unix : build of povray 3.6.1 on Solaris 8 with Sun ONE Studio 11 fails : Re: build of povray 3.6.1 on Solaris 8 with Sun ONE Studio 11 fails Server Time
1 Jun 2024 03:25:49 EDT (-0400)
  Re: build of povray 3.6.1 on Solaris 8 with Sun ONE Studio 11 fails  
From: Nicolas Calimet
Date: 9 Jun 2006 03:18:34
Message: <448920ca$1@news.povray.org>
> Suffice it to say that the simple ./configure will not work unless one uses
> the non-standard GNU revision of sed.
 > [...]
 > configure.gnu: editing libtiff/Makefile sed: command garbled:
 > s,^tiffvers.h:.*,, ; s,${SRCDIR}/tiffvers.h,tiffvers.h,g

	Sorry, but the problem is not using GNU sed or not, it is that your
stock sed is buggy.

> Looks like the build process is heavily
> tied to Linux and GNUish things.

	Not a all, please read the "Compatibility" section of the INSTALL file.
Solaris is usually known to be a problematic environment.

> CC  -O3   -L/usr/openwin/lib -R/usr/openwin/lib  -o povray  svga.o unix.o
> xwin.o ../source/libpovray.a ../source/base/libbase.a
> ...../source/frontend/libfrontend.a  -ltiff -ljpeg -lpng12 -lz -lXpm -lsocket
> -lnsl  -lSM -lICE -lX11 -lm
> Undefined                       first referenced
>  symbol                             in file
> int UNIX_allow_file_write(const char*,unsigned)
> ...../source/libpovray.a(pov_util.o)
> int UNIX_allow_file_read(const char*,unsigned)
> ...../source/libpovray.a(pov_util.o)
> ld: fatal: Symbol referencing errors. No output written to povray

	This problem has been reported before and is archived here:

http://news.povray.org/povray.bugreports/thread/%3Cugl011lbbalv4oq1q9in1rh157vm6i7j7n%404ax.com%3E/

> Since this looks like the final linking stage I will assume that my
> LD_OPTIONS did not get passed along.  The absent "int
> UNIX_allow_file_write(const char*,unsigned) " must be in some library
> somewhere.

	No, this is a bug in unix.cpp: simply remove the two 'const' in the
the following function definitions:

int UNIX_allow_file_read (const char *Filename, const unsigned int FileType)
int UNIX_allow_file_write (const char *Filename, const unsigned int FileType)

	so that you get instead:

int UNIX_allow_file_read (const char *Filename, unsigned int FileType)
int UNIX_allow_file_write (const char *Filename, unsigned int FileType)

	- NC


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.