POV-Ray : Newsgroups : povray.unix : Make failure for povray 3.6.1 on Snow Leopard Server Time
19 Oct 2021 16:42:55 EDT (-0400)
  Make failure for povray 3.6.1 on Snow Leopard (Message 1 to 8 of 8)  
From: wilson
Subject: Make failure for povray 3.6.1 on Snow Leopard
Date: 15 Nov 2009 12:15:00
Message: <web.4b003604e6aab9b284c5a5cd0@news.povray.org>
Hello All,
I am attempting to compile and install povray3.6.1 on a Mac Pro dual quad core
running Snow Leopard.  While configure complains of the following errors (will
email config.log to interested parties), it exits 0:

onfigure:3930: checking dependency style of gcc
configure:4013: result: gcc3
configure:4035: checking how to run the C preprocessor
configure:4071: gcc -E  conftest.c
configure:4077: $? = 0
configure:4109: gcc -E  conftest.c
configure:4116:28: error: ac_nonexistent.h: No such file or directory
configure:4115: $? = 1
configure: failed program was:
| #line 4100 "configure"
| /* confdefs.h.  */



An attempt at make fails immediately with the following error:

make  all-recursive
Making all in libraries
Making all in png
make[3]: *** No rule to make target `all'.  Stop.
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Any advice would be much appreciated.  Again, config.log available upon request.
Best regards,
Mark


Post a reply to this message

From: clipka
Subject: Re: Make failure for povray 3.6.1 on Snow Leopard
Date: 15 Nov 2009 16:38:02
Message: <4b0074ba$1@news.povray.org>
wilson schrieb:

> I am attempting to compile and install povray3.6.1 on a Mac Pro dual quad core
> running Snow Leopard.  While configure complains of the following errors (will
> email config.log to interested parties), it exits 0:
> 
> onfigure:3930: checking dependency style of gcc
> configure:4013: result: gcc3
> configure:4035: checking how to run the C preprocessor
> configure:4071: gcc -E  conftest.c
> configure:4077: $? = 0
> configure:4109: gcc -E  conftest.c
> configure:4116:28: error: ac_nonexistent.h: No such file or directory
> configure:4115: $? = 1
> configure: failed program was:
> | #line 4100 "configure"
> | /* confdefs.h.  */

This is no reason to be alarmed: The configure script does not only 
verify that certain constructs work, but also that others fail. As the 
file that wasn't found bears the suspicious name "ac_nonexistent.h", I 
presume it is not intended to be found. (It seems this construct is used 
by the configure script to check whether the compiler returns a proper 
exit code when it fails.)

As a matter of fact, I see exactly the same "error" report in the 
config.log of a perfectly successful build.


> An attempt at make fails immediately with the following error:
> 
> make  all-recursive
> Making all in libraries
> Making all in png
> make[3]: *** No rule to make target `all'.  Stop.
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2

That, however, /is/ a reason to be alarmed. You may want to check 
whether .../libraries/png/Makefile exists, and contains (among others) 
the following lines (somewhere around line 180 in my case):

all: config.h
	$(MAKE) $(AM_MAKEFLAGS) all-am

Ironically, normally you'd probably live happy without libpng being 
built from scratch and statically linked into POV-Ray, but a flaw in the 
configure script makes it think that your installed libpng is too old to 
be of any use. (At least I can't believe Snow Leopard would ship with a 
libpng even older than 1.2.5, which is what POV-Ray 3.6.1 wants.)

You may try hacking the configure script to circumvent building libpng 
altogether, by changing the line:

required_libpng_version="1.2.5"

(should be line 1389 as far as I can tell) to instead read:

required_libpng_version="1.2.0"


Post a reply to this message

From: wilson
Subject: Re: Make failure for povray 3.6.1 on Snow Leopard
Date: 16 Nov 2009 11:05:00
Message: <web.4b01776ae9dcf3d9d955bd080@news.povray.org>
Dear Clipka,
Thank you for your prompt response.  I have played a bit with the library
requirements but still cannot get the package to build.  Importantly, the stdout
from configure indicates that it has found acceptable image libraries, as below:

Libraries
---------
checking whether to enable static linking... no
checking for sin in -lm... yes
checking for asinh... yes
checking for vga_init in -lvga... no
configure: SVGAlib display will be disabled
checking for X... libraries /Developer/SDKs/MacOSX10.6.sdk/usr/X11//lib, headers
/Developer/SDKs/MacOSX10.6.sdk/usr/X11//include
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for XFlush in -lX11... yes
checking for XpmCreatePixmapFromData in -lXpm... yes
checking whether to enable the watch cursor... no
checking for installed supporting libraries... yes
checking for library containing zlibVersion... -lz
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for libz version >= 1.2.1... 1.2.3, ok
checking for library containing png_get_libpng_ver... -lpng12
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for libpng version >= 1.2.0... 1.2.35, ok
checking for library containing jpeg_std_error... -ljpeg
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for libjpeg version >= 7... 7, ok
checking for library containing TIFFGetVersion... -ltiff
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for libtiff version >= 3.9.2... 3.9.2, ok

However, make still fails with:

make  all-recursive
Making all in libraries
Making all in png
make[3]: *** No rule to make target `all'.  Stop.
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Any ideas?
Best regards,
Mark


Post a reply to this message

From: wilson
Subject: Re: Make failure for povray 3.6.1 on Snow Leopard
Date: 16 Nov 2009 11:15:00
Message: <web.4b017a38e9dcf3d9d955bd080@news.povray.org>
Sorry for the rapid update, however, I was able to solve the png library issue
by separately configuring and making in that directory first.  However, the next
error in make (this time in the povray top directory) is even more worrisome:

make  all-recursive
Making all in libraries
Making all in png
make  all-am
make[4]: Nothing to be done for `all-am'.
make[3]: Nothing to be done for `all-am'.
Making all in source
Making all in base
g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../.. -I../../source -I../../unix
-I/Developer/SDKs/MacOSX10.6.sdk/usr/X11/include   -pipe -Wno-multichar -O3
-march=i686 -mtune=i686 -minline-all-stringops  -c -o fileinputoutput.o `test -f
'fileinputoutput.cpp' || echo './'`fileinputoutput.cpp
fileinputoutput.cpp:1: error: CPU you selected does not support x86-64
instruction set
make[3]: *** [fileinputoutput.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

The cpu I am running is i686 (apple-darwin10.2.0 system type).  Do I understand
this error to mean that it is not possible to build povray on this platform?
Best regards,
Mark


Post a reply to this message

From: clipka
Subject: Re: Make failure for povray 3.6.1 on Snow Leopard
Date: 16 Nov 2009 12:51:10
Message: <4b01910e@news.povray.org>
wilson schrieb:

> g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../.. -I../../source -I../../unix
> -I/Developer/SDKs/MacOSX10.6.sdk/usr/X11/include   -pipe -Wno-multichar -O3
> -march=i686 -mtune=i686 -minline-all-stringops  -c -o fileinputoutput.o `test -f
> 'fileinputoutput.cpp' || echo './'`fileinputoutput.cpp
> fileinputoutput.cpp:1: error: CPU you selected does not support x86-64
> instruction set
> make[3]: *** [fileinputoutput.o] Error 1
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
> 
> The cpu I am running is i686 (apple-darwin10.2.0 system type).  Do I understand
> this error to mean that it is not possible to build povray on this platform?
> Best regards,
> Mark

It /should/ build fine on your system. But somehow the configure script 
seems to have detected a 32-bit ("i686", that is Pentium II or later) 
CPU, while the compiler for some reasons appears to insist that you must 
build for a 64-bit CPU ("x86-64"). (While AMD64-compatible CPUs, aka 
x86-64, are perfectly capable of running 32-bit applications, some 
operating systems aren't.)

Are you sure your CPU is "only" a 32-bit CPU? In that case, your build 
system must be pretty whacky.

OTOH, if your CPU /is/ a 64-bit CPU, then it remains to be examined why 
the configure script decided to compile for i686 instead of x86-64.

I'll have a look at the config.log of my own 3.6 build on my Linux 
machine and check. Maybe the configure script is generally unable to 
detect 64-bit CPUs, and it built for i686 on my machine as well, without 
me noticing because my Linux distribution happens to support 32-bit 
applications.


Post a reply to this message

From: wilson
Subject: Re: Make failure for povray 3.6.1 on Snow Leopard
Date: 16 Nov 2009 13:55:01
Message: <web.4b019f00e9dcf3d9d955bd080@news.povray.org>
Thanks again for your help.  As for the processor,
>
> Are you sure your CPU is "only" a 32-bit CPU? In that case, your build
> system must be pretty whacky.

I am in fact sure that it is not, but, as you mentioned, configure is not
convinced.  I have been able to push this further with the following configure
flag hack:

CFLAGS="-m32" CXXFLAGS="-m32"

but this leaves your excellent question (below) unanswered:

> OTOH, if your CPU /is/ a 64-bit CPU, then it remains to be examined why
> the configure script decided to compile for i686 instead of x86-64.

In any event, even with the 32 bit declaration, make now fails with this
following error:


Undefined symbols:
  "_png_write_finish_row", referenced from:
      pov::PNG_Image::~PNG_Image()in libpovray.a(png_pov.o)
      pov::PNG_Image::~PNG_Image()in libpovray.a(png_pov.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [povray] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I've looked around a bit and not been able to find "_png_write_finish_row", and,
as usual, any help is much appreciated.
Best regards,
Mark


Post a reply to this message

From: clipka
Subject: Re: Make failure for povray 3.6.1 on Snow Leopard
Date: 16 Nov 2009 15:45:33
Message: <4b01b9ed$1@news.povray.org>
wilson schrieb:

> In any event, even with the 32 bit declaration, make now fails with this
> following error:
> 
> 
> Undefined symbols:
>   "_png_write_finish_row", referenced from:
>       pov::PNG_Image::~PNG_Image()in libpovray.a(png_pov.o)
>       pov::PNG_Image::~PNG_Image()in libpovray.a(png_pov.o)
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> make[2]: *** [povray] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2

The symbol should be defined in libpng. I would guess that you don't 
have a 32-bit version of libpng installed. Did you re-configure (and 
rebuild) the copy of libpng that comes with POV-Ray with the same options?


Post a reply to this message

From: wilson
Subject: Re: Make failure for povray 3.6.1 on Snow Leopard
Date: 16 Nov 2009 15:55:00
Message: <web.4b01bbb1e9dcf3d9d955bd080@news.povray.org>
> The symbol should be defined in libpng. I would guess that you don't
> have a 32-bit version of libpng installed. Did you re-configure (and
> rebuild) the copy of libpng that comes with POV-Ray with the same options?

Did all of this and it now works.  Thank you very much for your help with this.
I'm hoping that there is a more elegant solution to -32m configure flag hack
that I had to use, and, if so, I'd be very interested to hear about it.
Thanks again,
Mark


Post a reply to this message

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