David Larsson | 1 Feb 11:46
Picon

Wierd link problem when building open exr 1.4 with static linked Runtime library in windows

Hi!

I ran into some trouble building openexr for multithreaded static
linked runtime libraries (visual studio 8, both 64bit and 32bit). The
half library introduced dependencies on msvcprt.lib (which is the stub
library for the dynamic runtime library). It was the either the define
_DLL or _USRDLL (I removed them both) that somehow forced this
dependency.
So I'm worried that I might have broken something when removing these
preprocessor symbols, do they have a purpose ore are they there only
because of tradition (it happens all the time with preprocessor
symbols :) )?

BTW, Thanks for a great library, it makes my life as renderer
developer much easier.

Cheers
/David Larsson
Douglass Turner | 24 Feb 19:03
Picon

Baffling Runtime Error: error while loading shared libraries: libIlmImf.so.4: cannot open shared object file: No such file or directory

Hello,

I'm trying to link OpenEXR into my rendering app and am pulling my hair out over a maddening runtime error.

My setup is pretty vanilla:
Linux fedora 2.6.15-1.2054_FC5 #1 Tue Mar 14 15:48:33 EST 2006 i686 athlon i386

My C++ development environment is Eclipse.

I ran ./configure --disable-threading when building openexr.

I used pkg-config --cflags and pkg-config --libs to determine compile flags and libraries to link.

The Eclipse build works just fine.

At runtime I get this error:
error while loading shared libraries: libIlmImf.so.4: cannot open shared object file: No such file or directory

This makes no sense because of:

<132>[lib]% cd /usr/local/lib
/usr/local/lib

<133>[lib]% ls -alF libIlmImf*
-rw-r--r-- 1 root root 7044430 Feb 24 10:58 libIlmImf.a
-rwxr-xr-x 1 root root     908 Feb 24 10:58 libIlmImf.la*
lrwxrwxrwx 1 root root      18 Feb 24 10:58 libIlmImf.so -> libIlmImf.so.4.0.0*
lrwxrwxrwx 1 root root      18 Feb 24 10:58 libIlmImf.so.4 -> libIlmImf.so.4.0.0*
-rwxr-xr-x 1 root root 3774902 Feb 24 10:58 libIlmImf.so.4.0.0*

Can someone please, please help be out. Thanks.

Regards,
Doug


_______________________________________________
Openexr-devel mailing list
Openexr-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/openexr-devel
Jim Hourihan | 25 Feb 00:58

Re: Baffling Runtime Error: error while loading shared libraries: libIlmImf.so.4: cannot open shared object file: No such file or directory


Check the value of $LD_LIBRARY_PATH
you may need to set it to /usr/local/lib  -or- set LD_RUN_PATH when  
compiling your app so that it is hardcoded to point there.

	-Jim

On Feb 24, 2007, at 10:03 AM, Douglass Turner wrote:

> Hello,
>
> I'm trying to link OpenEXR into my rendering app and am pulling my  
> hair out over a maddening runtime error.
>
> My setup is pretty vanilla:
> Linux fedora 2.6.15-1.2054_FC5 #1 Tue Mar 14 15:48:33 EST 2006 i686  
> athlon i386
>
> My C++ development environment is Eclipse.
>
> I ran ./configure --disable-threading when building openexr.
>
> I used pkg-config --cflags and pkg-config --libs to determine  
> compile flags and libraries to link.
>
> The Eclipse build works just fine.
>
> At runtime I get this error:
> error while loading shared libraries: libIlmImf.so.4: cannot open  
> shared object file: No such file or directory
>
> This makes no sense because of:
>
> <132>[lib]% cd /usr/local/lib
> /usr/local/lib
>
> <133>[lib]% ls -alF libIlmImf*
> -rw-r--r-- 1 root root 7044430 Feb 24 10:58 libIlmImf.a
> -rwxr-xr-x 1 root root     908 Feb 24 10:58 libIlmImf.la*
> lrwxrwxrwx 1 root root      18 Feb 24 10:58 libIlmImf.so ->  
> libIlmImf.so.4.0.0*
> lrwxrwxrwx 1 root root      18 Feb 24 10:58 libIlmImf.so.4 ->  
> libIlmImf.so.4.0.0*
> -rwxr-xr-x 1 root root 3774902 Feb 24 10:58 libIlmImf.so.4.0.0*
>
> Can someone please, please help be out. Thanks.
>
> Regards,
> Doug
>
>
> _______________________________________________
> Openexr-devel mailing list
> Openexr-devel <at> nongnu.org
> http://lists.nongnu.org/mailman/listinfo/openexr-devel
Anders Dahnielson | 25 Feb 09:45
Gravatar

Re: Baffling Runtime Error: error while loading shared libraries: libIlmImf.so.4: cannot open shared object file: No such file or directory


On 2/24/07, Douglass Turner <douglass.turner <at> gmail.com> wrote:

At runtime I get this error:
error while loading shared libraries: libIlmImf.so.4: cannot open shared object file: No such file or directory


Don't know if it will solve the problem but running 'ldconfig' (as root) might help.

--
Anders Dahnielson
<anders <at> dahnielson.com>
_______________________________________________
Openexr-devel mailing list
Openexr-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/openexr-devel
Rex Dieter | 26 Feb 16:08
Favicon
Gravatar

Re: Baffling Runtime Error: error while loading shared libraries: libIlmImf.so.4: cannot open shared object file: No such file or directory

Douglass Turner wrote:

> Hello,
> 
> I'm trying to link OpenEXR into my rendering app and am pulling my hair
> out over a maddening runtime error.
> 
> My setup is pretty vanilla:
> Linux fedora 2.6.15-1.2054_FC5 #1 Tue Mar 14 15:48:33 EST 2006 i686 athlon
> i386

You'd be better off installing the known-working OpenEXR pkg from Fedora
Extras, instead of rolling your own (imo):

$ yum install OpenEXR-devel

-- Rex
Nikolaj Thygesen | 26 Feb 22:36
Picon

OpenEXR from shared libs.

Hi list,

    I'm currently trying to interface to the OpenEXR library from my own 
shared library reading scanlines one at a time. My code is heavily based 
on the sample code on the OpenEXR home page describing the reading of an 
RGBA file using the RgbaInputFile class + a raw copy-paste of the 
C_IStream class using the old-skool stdio FILE *'s to access the bytes 
of files. When compiling my program as a stand-alone program, everything 
works fine for all sample *.exr files, but as soon as the code goes into 
a *.so, reading crashes in the "input_file.readPixels(dw.min.y);" call 
of the snippet below.

    I should mention that I'm running FreeBSD 6.2, using gcc 4.1and 
OpenEXR V1.2.2, which is the release currently available in the ports 
tree. My question is: Does OpenEXR have any issues with shared libs?? Do 
I need or should I avoid any certain compiler/linker flags??

            RgbaInputFile input_file;

            Box2i dw = input_file.dataWindow();
            Rgba pixels[width];
            input_file.setFrameBuffer(pixels - dw.min.x - dw.min.y * 
width, 1, width);
            input_file.readPixels(dw.min.y);
            dw.min.y++;
            lineno = line_number++;

    br - Nikolaj Thygesen
Florian Kainz | 26 Feb 23:46

Re: OpenEXR from shared libs.

Hi Nicolaj,

I am not entirely sure how to interpret your example.  I assume that your
program contains a loop to read all the scan lines in a given file, but I
am not sure which of the code in your example is meant to be included in
the loop; it does make a difference.  Let's say your code is analogous to
this:

     RgbaInputFile input_file;

     Box2i dw = input_file.dataWindow();
     Rgba pixels[width];
     input_file.setFrameBuffer(pixels - dw.min.x - dw.min.y * width, 1, width);

     while (dw.min.y <= dw.max.dy)
     {
         input_file.readPixels(dw.min.y);
         dw.min.y++;
     }

If this is the case, then frame buffer address arithmetic is wrong.
No matter which scan line you are reading, you want the leftmost pixel,
t x coordinate, dw.min.x to be stored in pixels[0].  The pixels at x
coordinates dw.min.x+1, dw.min.x+2, etc. should to to pixels[1], pixels[2],
etc.  In other words, the address of pixel (x,y) is:

     pixels - dw.min.x + x

Here's the corresponding setFrameBuffer() call (see also section 2.2 of
the Reading and Writing OpenEXR Image Files document):

     input_file.setFrameBuffer (pixels - dw.min.x, 1, 0);

Hope this helps,

Florian

Nikolaj Thygesen wrote:
> Hi list,
> 
>    I'm currently trying to interface to the OpenEXR library from my own 
> shared library reading scanlines one at a time. My code is heavily based 
> on the sample code on the OpenEXR home page describing the reading of an 
> RGBA file using the RgbaInputFile class + a raw copy-paste of the 
> C_IStream class using the old-skool stdio FILE *'s to access the bytes 
> of files. When compiling my program as a stand-alone program, everything 
> works fine for all sample *.exr files, but as soon as the code goes into 
> a *.so, reading crashes in the "input_file.readPixels(dw.min.y);" call 
> of the snippet below.
> 
>    I should mention that I'm running FreeBSD 6.2, using gcc 4.1and 
> OpenEXR V1.2.2, which is the release currently available in the ports 
> tree. My question is: Does OpenEXR have any issues with shared libs?? Do 
> I need or should I avoid any certain compiler/linker flags??
> 
>            RgbaInputFile input_file;
> 
>            Box2i dw = input_file.dataWindow();
>            Rgba pixels[width];
>            input_file.setFrameBuffer(pixels - dw.min.x - dw.min.y * 
> width, 1, width);
>            input_file.readPixels(dw.min.y);
>            dw.min.y++;
>            lineno = line_number++;
> 
> 
> 
>    br - Nikolaj Thygesen
> 
> 
> 
> 
> 
> _______________________________________________
> Openexr-devel mailing list
> Openexr-devel <at> nongnu.org
> http://lists.nongnu.org/mailman/listinfo/openexr-devel
> 
> 
Nikolaj Thygesen | 27 Feb 23:51
Picon

Re: OpenEXR from shared libs.

Hi,

I realize my example was badly and incompletely reproduced. The slightly modified version incorporating your suggested changes follows below.

           RgbaInputFile input_file;
           Box2i dw = input_file.dataWindow();
           Rgba pixels[width];
            while (dw.min.y <= dw.max.y)
             {
           input_file.setFrameBuffer(pixels - dw.min.x, 1, 0);
           input_file.readPixels(dw.min.y);
           dw.min.y++;
             }

Unfortunately even after implementing your fixes my shared lib still crashes in readPixels() during the first scanline :o( In fact this is what I get:

pure virtual method called
terminate called without an active exception
Abort trap: 6 (core dumped)


What you write makes much sense to me. I just can't make it fit with the example from section 2.5 of the OpenEXR document, in which they read a partial image, and do this calculation for every block:

Array2D<Rgba> pixels (10, width);
while (dw.min.y <= dw.max.y)
{
file.setFrameBuffer (&pixels[0][0] - dw.min.x - dw.min.y * width, 1, width);
file.readPixels (dw.min.y, min (dw.min.y + 9, dw.max.y));
 dw.min.y += 10;
}

To me "&pixels[0][0] - dw.min.x - dw.min.y * width" looks like you need to offset the scanline from the origo of the virtual complete frame buffer?! I suspect that perhaps the zero byte row stride saves us in your example - no?

    Best regards - Nikolaj

Florian Kainz wrote:
Hi Nicolaj,

I am not entirely sure how to interpret your example.  I assume that your
program contains a loop to read all the scan lines in a given file, but I
am not sure which of the code in your example is meant to be included in
the loop; it does make a difference.  Let's say your code is analogous to
this:

    RgbaInputFile input_file;

    Box2i dw = input_file.dataWindow();
    Rgba pixels[width];
    input_file.setFrameBuffer(pixels - dw.min.x - dw.min.y * width, 1, width);

    while (dw.min.y <= dw.max.dy)
    {
        input_file.readPixels(dw.min.y);
        dw.min.y++;
    }

If this is the case, then frame buffer address arithmetic is wrong.
No matter which scan line you are reading, you want the leftmost pixel,
t x coordinate, dw.min.x to be stored in pixels[0].  The pixels at x
coordinates dw.min.x+1, dw.min.x+2, etc. should to to pixels[1], pixels[2],
etc.  In other words, the address of pixel (x,y) is:

    pixels - dw.min.x + x

Here's the corresponding setFrameBuffer() call (see also section 2.2 of
the Reading and Writing OpenEXR Image Files document):

    input_file.setFrameBuffer (pixels - dw.min.x, 1, 0);

Hope this helps,

Florian



Nikolaj Thygesen wrote:
Hi list,

   I'm currently trying to interface to the OpenEXR library from my own shared library reading scanlines one at a time. My code is heavily based on the sample code on the OpenEXR home page describing the reading of an RGBA file using the RgbaInputFile class + a raw copy-paste of the C_IStream class using the old-skool stdio FILE *'s to access the bytes of files. When compiling my program as a stand-alone program, everything works fine for all sample *.exr files, but as soon as the code goes into a *.so, reading crashes in the "input_file.readPixels(dw.min.y);" call of the snippet below.

   I should mention that I'm running FreeBSD 6.2, using gcc 4.1and OpenEXR V1.2.2, which is the release currently available in the ports tree. My question is: Does OpenEXR have any issues with shared libs?? Do I need or should I avoid any certain compiler/linker flags??

           RgbaInputFile input_file;

           Box2i dw = input_file.dataWindow();
           Rgba pixels[width];
           input_file.setFrameBuffer(pixels - dw.min.x - dw.min.y * width, 1, width);
           input_file.readPixels(dw.min.y);
           dw.min.y++;
           lineno = line_number++;



   br - Nikolaj Thygesen





_______________________________________________
Openexr-devel mailing list
Openexr-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/openexr-devel




_______________________________________________
Openexr-devel mailing list
Openexr-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/openexr-devel
Florian Kainz | 28 Feb 00:06

Re: OpenEXR from shared libs.

The "pure virtual method called" message is strange.
Can you run your program in a debugger and check where
exactly the call to the pure virtual method occurs?
What does the stack trace look like at this point?

Nikolaj Thygesen wrote:
> Hi,
> 
> I realize my example was badly and incompletely reproduced. The slightly 
> modified version incorporating your suggested changes follows below.
> 
>            RgbaInputFile input_file;
>            Box2i dw = input_file.dataWindow();
>            Rgba pixels[width];
>             while (dw.min.y <= dw.max.y)
>              {
> 
>                input_file.setFrameBuffer(pixels - dw.min.x, 1, 0);
>                input_file.readPixels(dw.min.y);
>                dw.min.y++;
> 
>              }
> 
> Unfortunately even after implementing your fixes my shared lib still 
> crashes in readPixels() during the first scanline :o( In fact this is 
> what I get:
> 
> pure virtual method called
> terminate called without an active exception
> Abort trap: 6 (core dumped)
> 
> 
> What you write makes much sense to me. I just can't make it fit with the 
> example from section 2.5 of the OpenEXR document, in which they read a 
> partial image, and do this calculation for every block:
> 
> Array2D<Rgba> pixels (10, width);
> while (dw.min.y <= dw.max.y)
> {
> 
>     file.setFrameBuffer (&pixels[0][0] - dw.min.x - dw.min.y * width, 1,
>     width);
>     file.readPixels (dw.min.y, min (dw.min.y + 9, dw.max.y));
>      dw.min.y += 10;
> 
> }
> 
> To me "*&pixels[0][0] - dw.min.x - dw.min.y * width*" looks like you 
> need to offset the scanline from the origo of the virtual complete frame 
> buffer?! I suspect that perhaps the zero byte row stride saves us in 
> your example - no?
> 
>     Best regards - Nikolaj
> 
> Florian Kainz wrote:
>> Hi Nicolaj,
>>
>> I am not entirely sure how to interpret your example.  I assume that your
>> program contains a loop to read all the scan lines in a given file, but I
>> am not sure which of the code in your example is meant to be included in
>> the loop; it does make a difference.  Let's say your code is analogous to
>> this:
>>
>>     RgbaInputFile input_file;
>>
>>     Box2i dw = input_file.dataWindow();
>>     Rgba pixels[width];
>>     input_file.setFrameBuffer(pixels - dw.min.x - dw.min.y * width, 1, 
>> width);
>>
>>     while (dw.min.y <= dw.max.dy)
>>     {
>>         input_file.readPixels(dw.min.y);
>>         dw.min.y++;
>>     }
>>
>> If this is the case, then frame buffer address arithmetic is wrong.
>> No matter which scan line you are reading, you want the leftmost pixel,
>> t x coordinate, dw.min.x to be stored in pixels[0].  The pixels at x
>> coordinates dw.min.x+1, dw.min.x+2, etc. should to to pixels[1], 
>> pixels[2],
>> etc.  In other words, the address of pixel (x,y) is:
>>
>>     pixels - dw.min.x + x
>>
>> Here's the corresponding setFrameBuffer() call (see also section 2.2 of
>> the Reading and Writing OpenEXR Image Files document):
>>
>>     input_file.setFrameBuffer (pixels - dw.min.x, 1, 0);
>>
>> Hope this helps,
>>
>> Florian
>>
>>
>>
>> Nikolaj Thygesen wrote:
>>> Hi list,
>>>
>>>    I'm currently trying to interface to the OpenEXR library from my 
>>> own shared library reading scanlines one at a time. My code is 
>>> heavily based on the sample code on the OpenEXR home page describing 
>>> the reading of an RGBA file using the RgbaInputFile class + a raw 
>>> copy-paste of the C_IStream class using the old-skool stdio FILE *'s 
>>> to access the bytes of files. When compiling my program as a 
>>> stand-alone program, everything works fine for all sample *.exr 
>>> files, but as soon as the code goes into a *.so, reading crashes in 
>>> the "input_file.readPixels(dw.min.y);" call of the snippet below.
>>>
>>>    I should mention that I'm running FreeBSD 6.2, using gcc 4.1and 
>>> OpenEXR V1.2.2, which is the release currently available in the ports 
>>> tree. My question is: Does OpenEXR have any issues with shared libs?? 
>>> Do I need or should I avoid any certain compiler/linker flags??
>>>
>>>            RgbaInputFile input_file;
>>>
>>>            Box2i dw = input_file.dataWindow();
>>>            Rgba pixels[width];
>>>            input_file.setFrameBuffer(pixels - dw.min.x - dw.min.y * 
>>> width, 1, width);
>>>            input_file.readPixels(dw.min.y);
>>>            dw.min.y++;
>>>            lineno = line_number++;
>>>
>>>
>>>
>>>    br - Nikolaj Thygesen
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Openexr-devel mailing list
>>> Openexr-devel <at> nongnu.org
>>> http://lists.nongnu.org/mailman/listinfo/openexr-devel
>>>
>>>
>>
> 
Nikolaj Thygesen | 1 Mar 23:46
Picon

Re: OpenEXR from shared libs.

    I must shamefully admit that the pure virtual msg of my previous 
mail was caused by some debugging code of mine :o/ Though after fixing 
this, my code still Seg-faults a while after finishing reading the 
image, which, in some cases, I get to see. I don't know what would 
happen if running my EXR code compiled into my main program instead of 
keeping it in an .so as is presently the case.
    I know 1.2.2 is a tad old, so I tried to build 1.4.0a myself, and 
run "make check" which yielded the following partial output when 
checking the RGBA interface:

file with missing and broken scan lines
writing
reading one scan line at a time, comparing
reading multiple scan lines at a time, comparing

number of threads: 1
channels RGBA, line order 0, compression 0
channels RGB, line order 0, compression 0
channels A, line order 0, compression 0
channels RB, line order 0, compression 0
channels RGBA, line order 0, compression 1
channels RGB, line order 0, compression 1
channels A, line order 0, compression 1
channels RB, line order 0, compression 1
channels RGBA, line order 0, compression 2
channels RGB, line order 0, compression 2
channels A, line order 0, compression 2
channels RB, line order 0, compression 2
channels RGBA, line order 0, compression 3
channels RGB, line order 0, compression 3
channels A, line order 0, compression 3
channels RB, line order 0, compression 3
channels RGBA, line order 0, compression 4
Segmentation fault (core dumped)
FAIL: IlmImfTest
===================
1 of 1 tests failed
===================
*** Error code 1

Stop in /usr/home/nikolaj/openexr-1.4.0/IlmImfTest.
*** Error code 1

Stop in /usr/home/nikolaj/openexr-1.4.0/IlmImfTest.
*** Error code 1

    at least this indicates that there's something fishy going on with 
the RGBA interface... at least on FreeBSD.

    br - N :o)

Florian Kainz wrote:
> The "pure virtual method called" message is strange.
> Can you run your program in a debugger and check where
> exactly the call to the pure virtual method occurs?
> What does the stack trace look like at this point?
>
> Nikolaj Thygesen wrote:
>> Hi,
>>
>> I realize my example was badly and incompletely reproduced. The 
>> slightly modified version incorporating your suggested changes 
>> follows below.
>>
>>            RgbaInputFile input_file;
>>            Box2i dw = input_file.dataWindow();
>>            Rgba pixels[width];
>>             while (dw.min.y <= dw.max.y)
>>              {
>>
>>                input_file.setFrameBuffer(pixels - dw.min.x, 1, 0);
>>                input_file.readPixels(dw.min.y);
>>                dw.min.y++;
>>
>>              }
>>
>> Unfortunately even after implementing your fixes my shared lib still 
>> crashes in readPixels() during the first scanline :o( In fact this is 
>> what I get:
>>
>> pure virtual method called
>> terminate called without an active exception
>> Abort trap: 6 (core dumped)
>>
>>
>> What you write makes much sense to me. I just can't make it fit with 
>> the example from section 2.5 of the OpenEXR document, in which they 
>> read a partial image, and do this calculation for every block:
>>
>> Array2D<Rgba> pixels (10, width);
>> while (dw.min.y <= dw.max.y)
>> {
>>
>>     file.setFrameBuffer (&pixels[0][0] - dw.min.x - dw.min.y * width, 1,
>>     width);
>>     file.readPixels (dw.min.y, min (dw.min.y + 9, dw.max.y));
>>      dw.min.y += 10;
>>
>> }
>>
>> To me "*&pixels[0][0] - dw.min.x - dw.min.y * width*" looks like you 
>> need to offset the scanline from the origo of the virtual complete 
>> frame buffer?! I suspect that perhaps the zero byte row stride saves 
>> us in your example - no?
>>
>>     Best regards - Nikolaj
>>
>> Florian Kainz wrote:
>>> Hi Nicolaj,
>>>
>>> I am not entirely sure how to interpret your example.  I assume that 
>>> your
>>> program contains a loop to read all the scan lines in a given file, 
>>> but I
>>> am not sure which of the code in your example is meant to be 
>>> included in
>>> the loop; it does make a difference.  Let's say your code is 
>>> analogous to
>>> this:
>>>
>>>     RgbaInputFile input_file;
>>>
>>>     Box2i dw = input_file.dataWindow();
>>>     Rgba pixels[width];
>>>     input_file.setFrameBuffer(pixels - dw.min.x - dw.min.y * width, 
>>> 1, width);
>>>
>>>     while (dw.min.y <= dw.max.dy)
>>>     {
>>>         input_file.readPixels(dw.min.y);
>>>         dw.min.y++;
>>>     }
>>>
>>> If this is the case, then frame buffer address arithmetic is wrong.
>>> No matter which scan line you are reading, you want the leftmost pixel,
>>> t x coordinate, dw.min.x to be stored in pixels[0].  The pixels at x
>>> coordinates dw.min.x+1, dw.min.x+2, etc. should to to pixels[1], 
>>> pixels[2],
>>> etc.  In other words, the address of pixel (x,y) is:
>>>
>>>     pixels - dw.min.x + x
>>>
>>> Here's the corresponding setFrameBuffer() call (see also section 2.2 of
>>> the Reading and Writing OpenEXR Image Files document):
>>>
>>>     input_file.setFrameBuffer (pixels - dw.min.x, 1, 0);
>>>
>>> Hope this helps,
>>>
>>> Florian
>>>
>>>
>>>
>>> Nikolaj Thygesen wrote:
>>>> Hi list,
>>>>
>>>>    I'm currently trying to interface to the OpenEXR library from my 
>>>> own shared library reading scanlines one at a time. My code is 
>>>> heavily based on the sample code on the OpenEXR home page 
>>>> describing the reading of an RGBA file using the RgbaInputFile 
>>>> class + a raw copy-paste of the C_IStream class using the old-skool 
>>>> stdio FILE *'s to access the bytes of files. When compiling my 
>>>> program as a stand-alone program, everything works fine for all 
>>>> sample *.exr files, but as soon as the code goes into a *.so, 
>>>> reading crashes in the "input_file.readPixels(dw.min.y);" call of 
>>>> the snippet below.
>>>>
>>>>    I should mention that I'm running FreeBSD 6.2, using gcc 4.1and 
>>>> OpenEXR V1.2.2, which is the release currently available in the 
>>>> ports tree. My question is: Does OpenEXR have any issues with 
>>>> shared libs?? Do I need or should I avoid any certain 
>>>> compiler/linker flags??
>>>>
>>>>            RgbaInputFile input_file;
>>>>
>>>>            Box2i dw = input_file.dataWindow();
>>>>            Rgba pixels[width];
>>>>            input_file.setFrameBuffer(pixels - dw.min.x - dw.min.y * 
>>>> width, 1, width);
>>>>            input_file.readPixels(dw.min.y);
>>>>            dw.min.y++;
>>>>            lineno = line_number++;
>>>>
>>>>
>>>>
>>>>    br - Nikolaj Thygesen
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Openexr-devel mailing list
>>>> Openexr-devel <at> nongnu.org
>>>> http://lists.nongnu.org/mailman/listinfo/openexr-devel
>>>>
>>>>
>>>
>>
>

Gmane