 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I've had a little play compiling the UNIX version for the
Mac, after finally getting my head around some library problems,
and finding out that none of the ./configure options for compiling
without X actually work (configure says X disabled, Makefile says
compile in povxlib.c) I found some interesting-ish results.
Based on biscuit.pov...
The command line version parses much faster 2 seconds cf 16 seconds
The offical version renders faster 9 seconds cf 15 seconds.
I'll try it on a bigger file soon, is benchmark.pov suitable for
benchmarking parsing or can someone suggest a better scene.
Dave
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Could you, or someone else, please detail the steps you used to compile
this for those of us who have never tried such things?
James
In article <3d7bbc9c$1@news.povray.org>, David Burnett
<var### [at] ntlworld com> wrote:
> I've had a little play compiling the UNIX version for the
> Mac, after finally getting my head around some library problems,
> and finding out that none of the ./configure options for compiling
> without X actually work (configure says X disabled, Makefile says
> compile in povxlib.c) I found some interesting-ish results.
>
>
> Based on biscuit.pov...
>
> The command line version parses much faster 2 seconds cf 16 seconds
>
> The offical version renders faster 9 seconds cf 15 seconds.
>
> I'll try it on a bigger file soon, is benchmark.pov suitable for
> benchmarking parsing or can someone suggest a better scene.
>
> Dave
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Mon, 11 Nov 2002 10:23:17 +0000, James Gray wrote:
> Could you, or someone else, please detail the steps you used to compile
> this for those of us who have never tried such things?
>
>
I'll have go, it was a while ago....
Number one is install the latest developer software from ADC.
The next thing you need are versions of libjpeg, libtiff and zlib, I
compiled these from source due to 10.2 being a new thing back then, but
you can get them from fink amongst others now. I had to do some fiddling
with the builds to get them to work mostly to do with compatability
versions, so I suggest getting the canned versions if you can.
Download the UNIX sources, run configure as usual. I used...
./configure --with-x=no -prefix=/Users/vargol
go to the src directory and edit the Makefile, remove the reference to
povxlib.o from the povray_OBJECTS section if its still in there, and
povxlib.c from povray_SOURCES. This is what the --with-x=no is supposed to
do, they might have fixed it since I built POV.
then
make
make install
if you don't use the prefix option you will need to sudo make install
instead.
If you've never built anything from the command line before just give us a
yell and I'll expand on the instructions.
Dave
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Okay, I ran into problems, so I'm taking you up on your offer for more
help. Thanks in advance.
James
In article <3dd16472$1@news.povray.org>, David Burnett
<var### [at] ntlworld com> wrote:
> Number one is install the latest developer software from ADC.
I had this already done.
> The next thing you need are versions of libjpeg, libtiff and zlib, I
> compiled these from source due to 10.2 being a new thing back then, but
> you can get them from fink amongst others now. I had to do some fiddling
> with the builds to get them to work mostly to do with compatability
> versions, so I suggest getting the canned versions if you can.
I installed fink. Ran into a few minor issues there, but eventually got
it sorted out. I installed libjpeg and libpng with it.
You listed libtiff instead of libpng, but the README didn't so I assumed
you were remembering it wrong, which could be my error, of course. I also
didn't install zlib because I was led to believe Mac OS X 10.2 had it by
default, again I could be wrong.
> Download the UNIX sources, run configure as usual. I used...
>
>
> ./configure --with-x=no -prefix=/Users/vargol
I didn't use prefix but was prepared to sudo when the time came.
> go to the src directory and edit the Makefile, remove the reference to
> povxlib.o from the povray_OBJECTS section if its still in there, and
> povxlib.c from povray_SOURCES. This is what the --with-x=no is supposed to
> do, they might have fixed it since I built POV.
I did remove these two little items.
> then
>
> make
This is where I lost it. Make spit out some very strange errors:
...
cc1plus: invalid option `arch=i586'
cc1plus: invalid option `align-double'
cc1plus: invalid option `inline-all-stringops'
cc1plus: bad value (i586) for -mcpu= switch
make[1]: *** [atmosph.o] Error 1
make: *** [all-recursive] Error 1
It obviously guessed my platform wrong, I'm on a dual G4. Any advice is
greatly appreciated!
James
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 14 Nov 2002 16:28:47 +0000, James Gray wrote:
> This is where I lost it. Make spit out some very strange errors:
>
> ...
> cc1plus: invalid option `arch=i586'
> cc1plus: invalid option `align-double'
> cc1plus: invalid option `inline-all-stringops'
> cc1plus: bad value (i586) for -mcpu= switch
> make[1]: *** [atmosph.o] Error 1
> make: *** [all-recursive] Error 1
That's interesting, it didn't happen to me.
I think the best way to attack this is to edit the makefile.
I'm guessing here but you need to manually change the line
with the CXXFLAGS on it.
Mine ended up as
CXXFLAGS = $(NOMULTICHAR) -O3 -maltivec -mtune=powerpc
although I think it started as
CXXFLAGS = $(NOMULTICHAR) -O3
before I added the gcc 3.x powerpc tuning.
If that doesn't work let me know and I'll post my makefile which
should work.
Dave
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3dd667b3$1@news.povray.org>, David Burnett
<var### [at] ntlworld com> wrote:
> If that doesn't work let me know and I'll post my makefile which
> should work.
Hmm, well, it went a lot farther this time. But eventually, it died, for
different reasons. It said
jpeg_pov.cpp:142:21: jpeglib.h: No such file or directory
jpeg_pov.cpp:164: field `jerr' has incomplete type
jpeg_pov.cpp:165: 'jpeg_source_mgr' is used as a type, but is not defined as a
type.
jpeg_pov.cpp:166: 'jpeg_destination_mgr' is used as a type, but is not defined
as a type.
jpeg_pov.cpp:169: parse error before `[' token
...several more pages of erros and warnings about jpeg_pov here...
jpeg_pov.cpp:263: redefinition of `int METHODDEF'
jpeg_pov.cpp:220: `int METHODDEF' previously defined here
jpeg_pov.cpp:263: confused by earlier errors, bailing out
make[1]: *** [jpeg_pov.o] Error 1
make: *** [all-recursive] Error 1
I know, I know, I'm just full of problems. Seriously, thanks again for
your help.
James
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Sat, 16 Nov 2002 12:50:19 +0000, James Gray wrote:
First you'll be glad to know you're not alone with the
x86 options thing, there's a guy with the same complaint
in povray.programming
> jpeg_pov.cpp:142:21: jpeglib.h: No such file or directory
I'm afraid your going to look for jpeglib.h on your hard drive.
I appear to have a three copies, probably due to fink source
based installs after building the library myself.
look in /sw/includes/ first, thats where fink would have installed
a copy, also look in /usr/local/includes which is the 'right' place
as far as unices are concerned.
Now this is stretching my 'make' knowledge but I think the best
thing to do is add
-I /sw/includes
to the CCXFLAGS line in src/makefile (assuming that fink installed
acopy there) I'm not sure this is the best place for it but it
should work there, and I think -I is a compiler option.
Dave
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3dd7ad2c$1@news.povray.org>, David Burnett
<var### [at] ntlworld com> wrote:
> On Sat, 16 Nov 2002 12:50:19 +0000, James Gray wrote:
>
> First you'll be glad to know you're not alone with the
> x86 options thing, there's a guy with the same complaint
> in povray.programming
Yeah, unfortunately it's looking to me like the command line install has a
long way to go.
> > jpeg_pov.cpp:142:21: jpeglib.h: No such file or directory
>
> I'm afraid your going to look for jpeglib.h on your hard drive.
> I appear to have a three copies, probably due to fink source
> based installs after building the library myself.
>
> look in /sw/includes/ first, thats where fink would have installed
> a copy, also look in /usr/local/includes which is the 'right' place
> as far as unices are concerned.
It's in the fink location, as you suspected.
> Now this is stretching my 'make' knowledge but I think the best
> thing to do is add
>
> -I /sw/includes
This, -I /sw/includes/jpeglib.h, and -include /sw/includes/jpeglib.h all
appear to have no effect. I get the exact same errors, when it runs into
the jpeg file.
Other ideas?
James
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Mon, 18 Nov 2002 11:02:16 +0000, James Gray wrote:
>> -I /sw/includes
>
> This, -I /sw/includes/jpeglib.h, and -include /sw/includes/jpeglib.h all
> appear to have no effect. I get the exact same errors, when it runs into
> the jpeg file.
>
> Other ideas?
It's me, forgetting how gcc works, too much time in IDE's. TRy...
-I/sw/includes
NB No space after the -I and just the directory path with no trailing
foreslash.
Dave
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3dd944dd$1@news.povray.org>, David Burnett
<var### [at] ntlworld com> wrote:
> On Mon, 18 Nov 2002 11:02:16 +0000, James Gray wrote:
>
> >> -I /sw/includes
> >
> > This, -I /sw/includes/jpeglib.h, and -include /sw/includes/jpeglib.h all
> > appear to have no effect. I get the exact same errors, when it runs into
> > the jpeg file.
> >
> > Other ideas?
>
> It's me, forgetting how gcc works, too much time in IDE's. TRy...
>
> -I/sw/includes
>
> NB No space after the -I and just the directory path with no trailing
> foreslash.
This didn't seem to change anything, unfortunately.
James
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Mon, 18 Nov 2002 14:52:50 +0000, James Gray wrote:
> In article <3dd944dd$1@news.povray.org>, David Burnett
> <var### [at] ntlworld com> wrote:
>
>> -I/sw/includes
>
> This didn't seem to change anything, unfortunately.
Yep. I'm afraid I've been at the happy juice a bit to much or
something, get rid of that 's'
-I/sw/include
You'll also need to add
#define X_DISPLAY_MISSING 1
to the end of src/conf.h
which will be the next problem you would hit.
Sorry it took me so long to reply, I've been on a PL/SQL training
course of a couple of days. Anyway when I came back I downloaded
that latest source and built it following my own advice, after
renaming the jpeg library headers in /usr/local/include
so I got the same error that you did.
I've attached my final makefile, (I hope that the binary
isn't against the news group rules) as you can see I've left
all the allowable optimisation rules in, so I'm of to benchmark
it aganist my old version to see what the differences are.
Dave
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3dde9097$1@news.povray.org>, David Burnett
<var### [at] ntlworld com> wrote:
> Yep. I'm afraid I've been at the happy juice a bit to much or
> something, get rid of that 's'
>
>
> -I/sw/include
>
>
> You'll also need to add
>
> #define X_DISPLAY_MISSING 1
>
> to the end of src/conf.h
>
> which will be the next problem you would hit.
(I didn't see a file attached to that message.)
Your hints got me farther still. I ran into another problem with the tiff
file, which looked like a libjpeg redo, so I asked fink to install libtiff
even though it's not listed as needed in the readme. That seemed to solve
that.
After that I hit one more problem, which appears related to all the
external libraries. Here's what it's saying now...
c++ `if [ "Xgcc" = "Xgcc" ]; then echo "-Wno-multichar"; fi ` -O3
-maltivec -mtune=powerpc -I/sw/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 -lz -lm
ld: Undefined symbols:
_jpeg_CreateCompress
_jpeg_CreateDecompress
_jpeg_destroy_compress
_jpeg_destroy_decompress
_jpeg_finish_compress
_jpeg_finish_decompress
_jpeg_read_header
_jpeg_read_scanlines
_jpeg_resync_to_restart
_jpeg_set_defaults
_jpeg_set_quality
_jpeg_start_compress
_jpeg_start_decompress
_jpeg_std_error
_jpeg_write_scanlines
_TIFFGetVersion
_png_get_libpng_ver
_png_create_info_struct
_png_create_read_struct
_png_create_write_struct
_png_destroy_read_struct
_png_destroy_write_struct
_png_get_error_ptr
_png_get_io_ptr
_png_read_end
_png_read_image
_png_read_info
_png_read_row
_png_read_update_info
_png_set_flush
_png_set_gamma
_png_set_interlace_handling
_png_set_packing
_png_set_read_fn
_png_set_strip_16
_png_set_write_fn
_png_write_end
_png_write_finish_row
_png_write_flush
_png_write_info
_png_write_row
_TIFFClose
_TIFFComputeStrip
_TIFFGetField
_TIFFGetFieldDefaulted
_TIFFOpen
_TIFFReadEncodedStrip
_TIFFReadRGBAImage
_TIFFScanlineSize
_TIFFSetErrorHandler
_TIFFSetWarningHandler
_TIFFStripSize
make[1]: *** [povray] Error 1
make: *** [all-recursive] Error 1
James
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
My colleagues have set up a working installation of povray in command
line, in 10.2.2. Only X is not running, which is not a problem. As far
as I can see everything is working and I am having great fun using make
files, integrating with other applications like TeX, etc.
If you are interested, I can upload a complete tarball for you. Mail me
offline to get this going, and if it works, I'll upload and announce it
for everyone. I have to say it's worth the effort, especially if it is
someone else doing the work!!
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Mon, 25 Nov 2002 15:48:26 +0000, James Gray wrote:
> After that I hit one more problem, which appears related to all the
> external libraries. Here's what it's saying now...
>
> ld: Undefined symbols:
> _jpeg_CreateCompress
That should be an easy one, the TIFF, png and jpeg libraries are not being
linked in and no this one didn't happen to me when I build 3.5c.
Anyway in our old friend src/Makefile look for the LIBS line
Mine says
LIBS = -ltiff -ljpeg -lpng -lz -lm -lX11
for a guess you've just got the last 3, and I think the -lX11 is
not actually needed.
You may have to add
-L/sw/lib
to the LDADD line if its not already there. The good new is that you
are on the final compile. You're only a sudo make install away.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3de3cdf2$1@news.povray.org>, David Burnett
<var### [at] ntlworld com> wrote:
> Anyway in our old friend src/Makefile look for the LIBS line
>
> Mine says
>
> LIBS = -ltiff -ljpeg -lpng -lz -lm -lX11
>
> for a guess you've just got the last 3, and I think the -lX11 is
> not actually needed.
>
> You may have to add
>
> -L/sw/lib
>
> to the LDADD line if its not already there. The good new is that you
> are on the final compile. You're only a sudo make install away.
Those final two changes did it! I CANNOT thank you enough! Now I can
control POV with Perl, I'm a happy guy. Thank you, thank you, thank
you...
James
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Tue, 26 Nov 2002 22:34:11 +0000, James Gray wrote:
> Those final two changes did it! I CANNOT thank you enough! Now I can
> control POV with Perl, I'm a happy guy. Thank you, thank you, thank
> you...
Great. Good to see we got it working.
Now if your feeling adventurous, try this...
back your povray exe up just in case.
change the following in src/Makefile
CFLAGS = -O3 -maltivec -mtune=powerpc -finline-functions -ffast-math
-fomit-frame-pointer -funroll-loops -fexpensive-optimi
zations -foptimize-sibling-calls -Wno-multichar
CXXFLAGS = $(NOMULTICHAR) -O3 -maltivec -mtune=powerpc -finline-functions -ffast-math
-fomit-frame-pointer -funroll-loops -
fexpensive-optimizations -foptimize-sibling-calls -Wno-multichar -I/sw/include
then
make clean;
make;
sudo make install;
I got some significant speed gains with this lot.
Dave
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |