[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Openexr-devel] Couple of minor things...
From: |
Florian Kainz |
Subject: |
Re: [Openexr-devel] Couple of minor things... |
Date: |
Fri, 22 Sep 2006 11:48:44 -0700 |
User-agent: |
Mozilla Thunderbird 1.0 (X11/20041207) |
darby johnston wrote:
Hi,
Found a couple minor things while using your excellent
library:
ImfStandardAttributes.h, line 146:
IMF_STD_ATTRIBUTE_DEF (utcOffset, utcOffset, float)
The second argument should probably be capitalized to
match the style of the rest of the standard
attributes:
IMF_STD_ATTRIBUTE_DEF (utcOffset, UtcOffset, float)
Thank you for pointing this out. I will change the
capitalization for utcOffset. The change will not
affect the file format, but programs that call
add hasutcOfffset() or addutcOffset() will have to be
updated to call hasUtcOffset() or addUtcOffset() instead.
Also, it looks like the document
"ReadingAndWritingImageFiles.pdf" is slightly out of
sync with the current code; in section "3.5 Which
Channels are in a File?", the example uses iterators
like:
for (ChannelList::ConstIterator i =
channels.begin(); i != channels.end(); ++i)
{
const Channel &channel = i->second;
// ...
}
But the iterators have changed their access methods,
so the above should read:
for (ChannelList::ConstIterator i =
channels.begin(); i != channels.end(); ++i)
{
const Channel &channel = i.channel();
// ...
}
I have fixed the document. I will have the corrected
version posted on the OpenEXR web site.
When compiling OpenEXR under Solaris 10 6/06 with Sun
Studio 11, I got an error about missing math symbols:
CC -G -zdefs -hlibImath.so.4 -o
.libs/libImath.so.4.0.0 .libs/ImathShear.o
.libs/ImathMatrixAlgo.o .libs/ImathVec.o
.libs/ImathColorAlgo.o .libs/ImathFun.o
.libs/ImathBox.o .libs/ImathRandom.o
-R/home/darby/pkg/tmp/openexr-1.4.0/Iex/.libs
-R/home/darby/pkg/tmp/lib ../Iex/.libs/libIex.so
-lposix4 -lpthread -lCstd -lCrun -lc
Undefined first referenced
symbol in file
floor
.libs/ImathColorAlgo.o (symbol belongs to implicit
dependency /lib/libm.so.2)
sqrtf .libs/ImathVec.o
(symbol belongs to implicit dependency
/lib/libm.so.2)
ld: fatal: Symbol referencing errors. No output
written to .libs/libImath.so.4.0.0
Apparently this is caused by the "-zdefs" flag. From
Sun's docs:
The link-editor’s -z defs option can be used to
force a fatal error if any undefined symbols
remain. This option is recommended when creating any
shared objects. Shared objects that reference symbols
from an application can use the -z defs option,
together with defining the symbols by using an
extern mapfile directive.
Solaris isn't listed in your supported platforms, but
maybe it would be easy enough to add a "-lm" to the
configure?
Are floor() and sqrtf() the only functions that are not defined?
Imath calls sin(), cos(), tan() and several other functions
that are defined in libm. If libm is missing I would expect
to see more undefined functions.