POV-Ray : Newsgroups : povray.unix : POV-Ray 3.7 RC 6 not compiling Server Time
30 Dec 2024 12:04:21 EST (-0500)
  POV-Ray 3.7 RC 6 not compiling (Message 1 to 10 of 18)  
Goto Latest 10 Messages Next 8 Messages >>>
From: Chaanakya
Subject: POV-Ray 3.7 RC 6 not compiling
Date: 9 Jul 2012 14:35:01
Message: <web.4ffb234515c3d707f523b7e0@news.povray.org>
Hey guys!  Quick question.

Currently, I have POV-Ray 3.6 installed and working.  I am trying to get POV-Ray
3.7 working (mainly for the multithreading).  ./configure works fine (exits with
no errors).  However, make throws several errors, the most severe of which is:

..../source/base/libbase.a(png.o): In function `ReadPNGUpdateInfo':
png.cpp:(.text+0x36b): undefined reference to `png_set_longjmp_fn'
..../source/base/libbase.a(png.o): In function `ReadPNGImage':
png.cpp:(.text+0x3bb): undefined reference to `png_set_longjmp_fn'
..../source/base/libbase.a(png.o): In function
`pov_base::Png::Write(pov_base::OStream*, pov_base::Image const*,
pov_base::Image::WriteOptions const&)':
png.cpp:(.text+0x21a5): undefined reference to `png_set_longjmp_fn'
png.cpp:(.text+0x2c5b): undefined reference to `png_set_longjmp_fn'
collect2: error: ld returned 1 exit status
make[2]: *** [povray] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I googled the error and did not get much to go from.  Has anyone else
encountered this error and if so, how did you fix it?

Thank you very much!

- Chaanakya


Post a reply to this message

From: Le Forgeron
Subject: Re: POV-Ray 3.7 RC 6 not compiling
Date: 9 Jul 2012 15:16:34
Message: <4ffb2e12@news.povray.org>
Le 09/07/2012 20:31, Chaanakya nous fit lire :
> Hey guys!  Quick question.
> 
> Currently, I have POV-Ray 3.6 installed and working.  I am trying to get POV-Ray
> 3.7 working (mainly for the multithreading).  ./configure works fine (exits with
> no errors).  However, make throws several errors, the most severe of which is:
> 
> ..../source/base/libbase.a(png.o): In function `ReadPNGUpdateInfo':
> png.cpp:(.text+0x36b): undefined reference to `png_set_longjmp_fn'
> ..../source/base/libbase.a(png.o): In function `ReadPNGImage':
> png.cpp:(.text+0x3bb): undefined reference to `png_set_longjmp_fn'
> ..../source/base/libbase.a(png.o): In function
> `pov_base::Png::Write(pov_base::OStream*, pov_base::Image const*,
> pov_base::Image::WriteOptions const&)':
> png.cpp:(.text+0x21a5): undefined reference to `png_set_longjmp_fn'
> png.cpp:(.text+0x2c5b): undefined reference to `png_set_longjmp_fn'
> collect2: error: ld returned 1 exit status
> make[2]: *** [povray] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
> 
> I googled the error and did not get much to go from.  Has anyone else
> encountered this error and if so, how did you fix it?
> 
> Thank you very much!
> 
>
I had no problem with 3.7RC6 (ubuntu 12.04)

your issue seems tied to the libpng and its linking in the final binary.

what is your reported version of libpng ? (check config.log)

I'm still with 1.2.4 (aka libpng12)

What's the end of output of configure ? (was PNG found ?)


Post a reply to this message

From: Le Forgeron
Subject: Re: POV-Ray 3.7 RC 6 not compiling
Date: 9 Jul 2012 15:17:14
Message: <4ffb2e3a$1@news.povray.org>
Le 09/07/2012 21:16, Le_Forgeron nous fit lire :

> I'm still with 1.2.4 (aka libpng12)

That's 1.2.46 !


Post a reply to this message

From: Chaanakya
Subject: Re: POV-Ray 3.7 RC 6 not compiling
Date: 9 Jul 2012 15:40:01
Message: <web.4ffb333d15e4f4e77f523b7e0@news.povray.org>
Le_Forgeron <jgr### [at] freefr> wrote:
> Le 09/07/2012 21:16, Le_Forgeron nous fit lire :
>
> > I'm still with 1.2.4 (aka libpng12)
>
> That's 1.2.46 !

Since I'm using Debian Sid+Experimental, I have version 1.5.11....could that be
the reason why?  Also, what exactly should I look for in the config.log file?

Sincerely,

Chaanakya


Post a reply to this message

From: Le Forgeron
Subject: Re: POV-Ray 3.7 RC 6 not compiling
Date: 9 Jul 2012 15:56:51
Message: <4ffb3783@news.povray.org>
Le 09/07/2012 21:38, Chaanakya nous fit lire :
> Le_Forgeron <jgr### [at] freefr> wrote:
>> Le 09/07/2012 21:16, Le_Forgeron nous fit lire :
>>
>>> I'm still with 1.2.4 (aka libpng12)
>>
>> That's 1.2.46 !
> 
> Since I'm using Debian Sid+Experimental, I have version 1.5.11....could that be
> the reason why?  Also, what exactly should I look for in the config.log file?

1. Probably. povray have been tested, I presume, with 1.2 and maybe 1.4,
but 1.5 might have introduced a significant change about the usage of
setjmp.

2. The reported version of png. Seems you find it already.


Indeed, the portability note on
 http://www.libpng.org/pub/png/libpng.html
does state that png_struct & png_info are now private.

png_structp  (as type: png_struct * , p for pointer) is actually used in
source/base/image/png.cpp, and same goes for png_infop .
That might not help :->


Post a reply to this message

From: Chaanakya
Subject: Re: POV-Ray 3.7 RC 6 not compiling
Date: 9 Jul 2012 16:30:01
Message: <web.4ffb3e6c15e4f4e77f523b7e0@news.povray.org>
Le_Forgeron <jgr### [at] freefr> wrote:
> Le 09/07/2012 21:38, Chaanakya nous fit lire :
> > Le_Forgeron <jgr### [at] freefr> wrote:
> >> Le 09/07/2012 21:16, Le_Forgeron nous fit lire :
> >>
> >>> I'm still with 1.2.4 (aka libpng12)
> >>
> >> That's 1.2.46 !
> >
> > Since I'm using Debian Sid+Experimental, I have version 1.5.11....could that be
> > the reason why?  Also, what exactly should I look for in the config.log file?
>
> 1. Probably. povray have been tested, I presume, with 1.2 and maybe 1.4,
> but 1.5 might have introduced a significant change about the usage of
> setjmp.
>
> 2. The reported version of png. Seems you find it already.
>
>
> Indeed, the portability note on
>  http://www.libpng.org/pub/png/libpng.html
> does state that png_struct & png_info are now private.
>
> png_structp  (as type: png_struct * , p for pointer) is actually used in
> source/base/image/png.cpp, and same goes for png_infop .
> That might not help :->

If that's the problem, I think this might be the solution:
http://stackoverflow.com/questions/5190554/unresolved-external-png-set-longjmp-fn-in-libpng.
 I'll play around with this and let you know what happens.

Sincerely,

Chaanakya


Post a reply to this message

From: clipka
Subject: Re: POV-Ray 3.7 RC 6 not compiling
Date: 9 Jul 2012 19:01:15
Message: <4ffb62bb$1@news.povray.org>
Am 09.07.2012 20:31, schrieb Chaanakya:
> Hey guys!  Quick question.
>
> Currently, I have POV-Ray 3.6 installed and working.  I am trying to get POV-Ray
> 3.7 working (mainly for the multithreading).  ./configure works fine (exits with
> no errors).  However, make throws several errors, the most severe of which is:
>
> ...../source/base/libbase.a(png.o): In function `ReadPNGUpdateInfo':
> png.cpp:(.text+0x36b): undefined reference to `png_set_longjmp_fn'
> ...../source/base/libbase.a(png.o): In function `ReadPNGImage':
> png.cpp:(.text+0x3bb): undefined reference to `png_set_longjmp_fn'
> ...../source/base/libbase.a(png.o): In function
> `pov_base::Png::Write(pov_base::OStream*, pov_base::Image const*,
> pov_base::Image::WriteOptions const&)':
> png.cpp:(.text+0x21a5): undefined reference to `png_set_longjmp_fn'
> png.cpp:(.text+0x2c5b): undefined reference to `png_set_longjmp_fn'
> collect2: error: ld returned 1 exit status
> make[2]: *** [povray] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> I googled the error and did not get much to go from.  Has anyone else
> encountered this error and if so, how did you fix it?

Do you happen to have multiple versions of libpng installed? Is the 
libpng-dev up to date to match the libpng version?


Post a reply to this message

From: clipka
Subject: Re: POV-Ray 3.7 RC 6 not compiling
Date: 9 Jul 2012 19:15:59
Message: <4ffb662f$1@news.povray.org>
Am 09.07.2012 22:26, schrieb Chaanakya:

> If that's the problem, I think this might be the solution:
>
http://stackoverflow.com/questions/5190554/unresolved-external-png-set-longjmp-fn-in-libpng.
>   I'll play around with this and let you know what happens.

Looks like a hack that only masks some other root problem; might 
introduce more problems than it appears to solve, especially regarding 
compatibility with future versions of libpng.


Post a reply to this message

From: clipka
Subject: Re: POV-Ray 3.7 RC 6 not compiling
Date: 9 Jul 2012 19:38:00
Message: <4ffb6b58$1@news.povray.org>
Am 09.07.2012 21:56, schrieb Le_Forgeron:

> Indeed, the portability note on
>   http://www.libpng.org/pub/png/libpng.html
> does state that png_struct & png_info are now private.
>
> png_structp  (as type: png_struct * , p for pointer) is actually used in
> source/base/image/png.cpp, and same goes for png_infop .
> That might not help :->

Obviously if that was the issue, it would cause problems not during 
linkage but during compilation.

In fact, png_struct and png_info are still declared in the headers - 
they're just not defined any more; so pointers to them can still be 
passed around without problem, and have to be.

The breaking API changes in 1.5 - as far as they're officually 
documented - have already been taken care of even before the fact, when 
making POV-Ray ready for 1.4 of libpng.


The linker gags on something called "png_set_longjmp_fn" - an identifier 
that is nowhere in the POV-Ray code, so it must have found its way into 
the object code via libpng headers; this means that the headers used by 
the compiler don't match what the linker tries to link against - either 
because the libpng team have goofed it, or because the compiler and 
linker have different ideas about which libpng version to use.


Post a reply to this message

From: James Holsenback
Subject: Re: POV-Ray 3.7 RC 6 not compiling
Date: 10 Jul 2012 07:24:35
Message: <4ffc10f3$1@news.povray.org>
On 07/09/2012 07:01 PM, clipka wrote:
> Am 09.07.2012 20:31, schrieb Chaanakya:
>> Hey guys!  Quick question.
>>
>> Currently, I have POV-Ray 3.6 installed and working.  I am trying to
>> get POV-Ray
>> 3.7 working (mainly for the multithreading).  ./configure works fine
>> (exits with
>> no errors).  However, make throws several errors, the most severe of
>> which is:
>>
>> ...../source/base/libbase.a(png.o): In function `ReadPNGUpdateInfo':
>> png.cpp:(.text+0x36b): undefined reference to `png_set_longjmp_fn'
>> ...../source/base/libbase.a(png.o): In function `ReadPNGImage':
>> png.cpp:(.text+0x3bb): undefined reference to `png_set_longjmp_fn'
>> ...../source/base/libbase.a(png.o): In function
>> `pov_base::Png::Write(pov_base::OStream*, pov_base::Image const*,
>> pov_base::Image::WriteOptions const&)':
>> png.cpp:(.text+0x21a5): undefined reference to `png_set_longjmp_fn'
>> png.cpp:(.text+0x2c5b): undefined reference to `png_set_longjmp_fn'
>> collect2: error: ld returned 1 exit status
>> make[2]: *** [povray] Error 1
>> make[1]: *** [all-recursive] Error 1
>> make: *** [all] Error 2
>>
>> I googled the error and did not get much to go from.  Has anyone else
>> encountered this error and if so, how did you fix it?
>
> Do you happen to have multiple versions of libpng installed? Is the
> libpng-dev up to date to match the libpng version?

I have multiple versions installed ... 1.2.49-9.9.1 and 1.4.11-3.9.1 and 
configure has always found 1.4 just fine.


Post a reply to this message

Goto Latest 10 Messages Next 8 Messages >>>

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