Re: TLS definition mismatch error in mrpt

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

 



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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux