trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: March 2012

Re: [trinity-devel] CMake - how to add library to build?

From: "David C. Rankin" <drankinatty@...>
Date: Fri, 09 Mar 2012 12:43:35 -0600
On 03/09/2012 10:55 AM, Darrell Anderson wrote:
> I still don't understand why linking ksnapshot to Xext is necessary. That never was the previous case, even with 3.5.10. Are we patching something that should not be patched? Is the build failing for reasons not obvious?
> 
> Darrell
> 

It is a "gcc >=4.6.2" issue.  With the new mandates from gcc, any external
library references are now required to be explicitly designated in the linker
string. IIRC prior to 4.6.2, simply having the library on your system and the
compiler being able to find it was enough. That's what the error is telling you:

/usr/bin/ld: CMakeFiles/ksnapshot.dir/windowgrabber.cpp.o: undefined reference
to symbol 'XShapeQueryExtension'
/usr/bin/ld: note: 'XShapeQueryExtension' is defined in DSO
/usr/lib/libXext.so.6 so try adding it to the linker command line
/usr/lib/libXext.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status

THIS is the important part of the error:

/usr/bin/ld: note: 'XShapeQueryExtension' is defined in DSO
/usr/lib/libXext.so.6 so try adding it to the linker command line

It's gcc telling you, "I know exactly where the darn symbol is located, but I'm
not going to use the damn thing until you put it in your linker string..."

:)

-- 
David C. Rankin, J.D.,P.E.