|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |