On Wed, Aug 22, 2012 at 9:22 PM, Rich Mattes <richmattes@xxxxxxxxx> wrote: > Hi, > > I'm trying to rebuild one of my packages (mrpt), and I'm running into a TLS > mismatch error that I am having issues troubleshooting. The offending build > is at https://koji.fedoraproject.org/koji/taskinfo?taskID=4412122 The problem symbol demangles to Eigen::internal::manage_caching_sizes(Eigen::Action, int*, int*)::m_l1CacheSize, which is in <eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h>: inline void manage_caching_sizes(Action action, std::ptrdiff_t* l1=0, std::ptrdiff_t* l2=0) { static std::ptrdiff_t m_l1CacheSize = 0; static std::ptrdiff_t m_l2CacheSize = 0; #ifdef _OPENMP #pragma omp threadprivate(m_l1CacheSize,m_l2CacheSize) #endif So when building with OpenMP support, those two static variables are declared to be thread-private (i.e., to use Thread Local Storage, or TLS). Your problem is that you are trying to link a PCL library built with OpenMP with mrpt that has not been built with OpenMP, so its versions of those static variables are non-TLS. Bottom line: either both PCL and mrpt have to be built with OpenMP support, or neither of them can be. You've got a couple of other problems here. One is that you are building with SSE3 support. Even on x86_64, you can't be sure that all clients have that. I think you need to add this to your cmake invocation: %ifnarch x86_64 -DDISABLE_SSE2=ON \ %endif -DDISABLE_SSE3=ON \ Also, cmake complains about not being able to find a suitesparse algorithm, which is remedied by adding a suitesparse-devel BR. Regards, -- Jerry James http://www.jamezone.org/ -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel