Bug#843136: drumgizmo FTBFS on mips and mipsel: error: undefined reference to `__atomic_load_8'
Hi, On 04/11/16 10:58, James Cowgill wrote: > > + #include > Typo? You want Yes, this is my fault. The name of the library is not properly specified. > >#include > > + std::atomic x; > > + std::atomic y; > I don't think you should rely on these types being in the global namespace. I modified test and removed uintptr_t type, because this type may not be defined in some library implementations. More about that: http://www.cplusplus.com/reference/cstdint/ Could you please take a look at new patch I attached? It includes a new test for checking is libatomic needed to link. Regards, Radovan--- drumgizmo-0.9.11.orig/configure.ac +++ drumgizmo-0.9.11/configure.ac @@ -473,9 +473,10 @@ dnl == AC_MSG_CHECKING([for the need for linkage with libatomic]) AC_LANG_PUSH([C++]) AC_LINK_IFELSE([AC_LANG_SOURCE[ + #include #include int main() { -struct Test { int val; }; +struct Test { uintmax_t val; }; std::atomic s; return s.is_lock_free()?1:0; }
Bug#843136: drumgizmo FTBFS on mips and mipsel: error: undefined reference to `__atomic_load_8'
Hi, On 04/11/16 08:51, Radovan Birdic wrote: > Package drumgizmo_0.9.11-1 FTBFS on mips and mipsel with following error: > >> plugingui-plugingui.o: In function `std::atomic::is_lock_free() >> const': >> /usr/include/c++/6/atomic:212: undefined reference to `__atomic_is_lock_free' [...] > The problem is in configure.ac file. Code used for checking is libatomic > needed to link > always returns the same result. For mips and mipsel test passes but the build > fails because of missing libatomic. > I have changed that test to provide linking with libatomic as needed. The patch: > --- drumgizmo-0.9.11.orig/configure.ac > +++ drumgizmo-0.9.11/configure.ac > @@ -473,11 +473,12 @@ dnl == > AC_MSG_CHECKING([for the need for linkage with libatomic]) > AC_LANG_PUSH([C++]) > AC_LINK_IFELSE([AC_LANG_SOURCE[ > + #include Typo? You want >#include > + std::atomic x; > + std::atomic y; I don't think you should rely on these types being in the global namespace. >int main() { > -struct Test { int val; }; > -std::atomic s; > -return s.is_lock_free()?1:0; > + return x + y; >} > ]], > [AC_MSG_RESULT([no])], Thanks, James signature.asc Description: OpenPGP digital signature