Bug 166396

Summary: Problem linking to openexr
Product: [Fedora] Fedora Reporter: Brad Hards <bradh>
Component: OpenEXRAssignee: Ignacio Vazquez-Abrams <ivazqueznet>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4CC: than
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: 1.2.2-5_fc4 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-08-23 02:55:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Brad Hards 2005-08-20 12:32:39 UTC
Description of problem: 
When linking a development (from SVN) build of KDElibs to OpenEXR, there is a 
build failure: 
/usr/bin/ld: /usr/lib64/libIlmImf.a(ImfAttribute.o): relocation R_X86_64_32S 
against `vtable for Imf::Attribute' can not be used when making a shared 
object; recompile with -fPIC 
/usr/lib64/libIlmImf.a: could not read symbols: Bad value 
 
I understand that this isn't really a kdelibs problem, however I couldn't find 
an OpenEXR component to file against. 
 
Version-Release number of selected component (if applicable): 
1.2.2-3.fc4  
 
How reproducible: 
Everytime try to link to EXR libs. 
 
Steps to Reproduce: 
1. Build application against EXR libs 
 
Actual results: 
link time failure - see above. 
 
Expected results: 
should link. 
 
Additional info:

Comment 1 Ignacio Vazquez-Abrams 2005-08-20 15:36:17 UTC
That's because OpenEXR is a Fedora Extras component.

The static libs are going away in the next release of OpenEXR. Could you try
compiling against the shared libs instead?

Comment 2 Brad Hards 2005-08-21 00:55:29 UTC
I am not sure why it is trying to link against the .a anyway. Here is the full 
command line, and the resulting error. 
 
[bradh@marginata kfile-plugins]$ /bin/sh ../libtool --silent --mode=link 
--tag=CXX g++ -shared -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi 
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts 
-Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute 
-fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE 
-DQT_NO_CAST_TO_ASCII -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION 
-DQT3_SUPPORT -fexceptions -DQT_THREAD_SUPPORT -D_REENTRANT -L/opt/kde4/lib 
-L/home/bradh/build/qt4-rsync/lib -L/usr/X11R6/lib64 -module -avoid-version 
-module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined 
-R /opt/kde4/lib -R /opt/kde4/lib -R /home/bradh/build/qt4-rsync/lib 
-R /usr/X11R6/lib64 -o ../kfile-plugins/exr/kfile_exr.la 
-rpath /opt/kde4/lib/kde4 -lkio -lIlmImf -lImath -lHalf -lIex 
-lz ../kfile-plugins/exr/kfile_exr.lo -lm 
/usr/bin/ld: /usr/lib64/libIlmImf.a(ImfAttribute.o): relocation R_X86_64_32S 
against `vtable for Imf::Attribute' can not be used when making a shared 
object; recompile with -fPIC 
/usr/lib64/libIlmImf.a: could not read symbols: Bad value 
collect2: ld returned 1 exit status 
 

Comment 3 Ignacio Vazquez-Abrams 2005-08-22 06:56:53 UTC
There's a new release of OpenEXR-devel that doesn't have static libs. Update and
then try again.

Comment 4 Brad Hards 2005-08-22 21:32:02 UTC
Thanks - that works much better. Feel free to close if you have nothing more.