openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Openexr-devel] Couple of minor things...


From: darby johnston
Subject: [Openexr-devel] Couple of minor things...
Date: Thu, 21 Sep 2006 11:13:42 -0700 (PDT)

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)


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();
      // ...
  }


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?


Thanks, Darby





reply via email to

[Prev in Thread] Current Thread [Next in Thread]