|
|
Mark Gordon wrote:
> I've uploaded 3.50c. The binary is pretty good (fixed various performance
> issues, now building with gcc 3.2), and I/O restrictions are enabled in
> the binary but disabled in a usefully commented default
> /usr/local/etc/povray.conf that is installed. Note that the install
> script won't clobber a pre-existing povray.conf, so you might want to
> clear yours out of the way if you have one. This version includes a
> number of other bugfixes that caused build problems on Solaris and
> BSD-derived Unices.
>
> Minor caveat: The binary is built with Pentium optimizations. It should
> run fine (and that much faster) on Pentium or newer hardware. If you're
> running on less than a Pentium, you may need to recompile, and you may
> want to consider a different hobby than ray-tracing. ;-) If you have
> sufficiently newer hardware and a sufficiently good compiler, you may want
> to recompile for your specific arch, but that's up to you.
>
> Major caveat: I realized after I'd finished uploading that the default
> compiler flags also assume Pentium and are probably fairly gcc-specific. I
> need to implement some decent configure options in that regard. Non-x86,
> non-gcc users will need to edit src/Makefile for now. Consider yourselves
> warned. I should have a fix up soon. The 3.50d binary probably won't be
> different, unless there are other problems.
>
> I did some research and found that I should distribute the object files I
> got from the build if I want to distribute binaries which are statically
> linked against LGPL libraries. There's now a povobj.tar.gz file in the
> ftp directory in case anyone wants them, along with a file containing the
> link line I used.
>
> -Mark Gordon
Thanks for the new source!
But with it here comes new end user trouble ;-).
Compiling the new povray_3.5c source failed on my system
(SuSE Linux 8.1), with the following compiler (gcc 3.2) messages:
c++ -DPREFIX=\"/usr/local\"
-DPOV_LIB_DIR=\"/usr/local/share/povray-3.5\"
-DCOMPILER_VER=\".Linux.gcc\" -DSYSCONFDIR=\"/usr/local/etc\"
-DUSE_IO_RESTRICTIONS=\"\" `if [ "Xgcc" = "Xgcc" ]; then echo
"-Wno-multichar"; fi ` -O3 -mcpu=i586 -march=i586 -finline-functions
-ffast-math -fomit-frame-pointer -funroll-loops
-fexpensive-optimizations -malign-double -foptimize-sibling-calls
-minline-all-stringops -Wno-multichar -c tiff_pov.cpp
In file included from /usr/include/tiffio.h:33,
from tiff_pov.cpp:46:
/usr/include/tiff.h:83: conflicting types for `typedef int int32'
frame.h:52: previous declaration as `typedef long int int32'
make[1]: *** [tiff_pov.o] Fehler 1
(Fehler (German) = Error (English))
No big deal, I just changed the entry in frame.h to
"typedef int int32"
This worked for me but now the linker makes trouble:
c++ `if [ "Xgcc" = "Xgcc" ]; then echo "-Wno-multichar"; fi ` -O3
-mcpu=i586 -march=i586 -finline-functions -ffast-math
-fomit-frame-pointer -funroll-loops -fexpensive-optimizations
-malign-double -foptimize-sibling-calls -minline-all-stringops
-Wno-multichar -I/usr/X11R6/include -o povray atmosph.o bbox.o bcyl.o
benchmark.o bezier.o blob.o boxes.o bsphere.o camera.o chi2.o colour.o
colutils.o cones.o csg.o discs.o express.o file_pov.o fncode.o
fnintern.o fnpovfpu.o fnsyntax.o fpmetric.o fractal.o function.o gif.o
gifdecod.o hcmplx.o hfield.o histogra.o iff.o image.o interior.o
isosurf.o jpeg_pov.o lathe.o lbuffer.o lightgrp.o lighting.o matrices.o
media.o mesh.o normal.o objects.o octree.o optin.o optout.o parse.o
parsestr.o parstxtr.o pattern.o pgm.o photons.o pigment.o planes.o
png_pov.o point.o poly.o polygon.o polysolv.o pov_mem.o povms.o
povmscpp.o povmsend.o povmsrec.o povray.o pov_util.o ppm.o prism.o
quadrics.o quatern.o rad_data.o radiosit.o ray.o render.o renderio.o
sor.o spheres.o sphsweep.o splines.o statspov.o super.o targa.o
texture.o tiff_pov.o tokenize.o torus.o triangle.o truetype.o txttest.o
userdisp.o userio.o vbuffer.o vlbuffer.o warps.o unix.o povxlib.o
-L/usr/X11R6/lib -ltiff -ljpeg -lpng -lz -lm -lX11
tokenize.o: In function `Initialize_Tokenizer()':
tokenize.o(.text+0x28a): undefined reference to
`pov_istream_class::UnRead_Byte(int)'
tokenize.o: In function `Get_Token()':
tokenize.o(.text+0xa9c): undefined reference to
`pov_istream_class::UnRead_Byte(int)'
tokenize.o(.text+0xe0c): undefined reference to
`pov_istream_class::UnRead_Byte(int)'
tokenize.o(.text+0xea4): undefined reference to
`pov_istream_class::UnRead_Byte(int)'
tokenize.o(.text+0xecb): undefined reference to
`pov_istream_class::UnRead_Byte(int)'
tokenize.o(.text+0xf91): more undefined references to
`pov_istream_class::UnRead_Byte(int)' follow
collect2: ld returned 1 exit status
make[1]: *** [povray] Fehler 1
Could someone please help me with this?
Regards,
Sebastian H.
Post a reply to this message
|
|