Supercollider is FTBFS

Felipe Sateler fsateler at gmail.com
Tue Sep 10 23:12:42 UTC 2013


In all archs except i386 and amd64 :(

So far I have the following that works, but is very suboptimal,
because it links with atomic and thread even when not necessary.
Probably the correct thing would be to test for
BOOST_ATOMIC_FLAG_LOCK_FREE and if it is defined then add the
libraries.

Unfortunately this patch mixes two things: one, it enables use of
system lockfree (it is in boost 1.54 at least), but also adds the
libraries when needed in non x86 archs.


--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -225,7 +225,7 @@

 if(SYSTEM_BOOST)
   set(Boost_USE_MULTITHREADED      ON)
-  find_package( Boost 1.50.0 COMPONENTS  thread system filesystem
program_options regex test_exec_monitor )
+  find_package( Boost 1.50.0 COMPONENTS  thread system filesystem
program_options regex test_exec_monitor atomic)
 endif()

 if (Boost_FOUND)
--- a/lang/CMakeLists.txt
+++ b/lang/CMakeLists.txt
@@ -6,7 +6,6 @@

                     ${YAMLCPP_INCLUDE_DIR}

-                    ${CMAKE_SOURCE_DIR}/external_libraries/boost-lockfree
                     ${CMAKE_SOURCE_DIR}/external_libraries/threadpool
                     ${CMAKE_SOURCE_DIR}/external_libraries/TLSF-2.4.6/src
                     LangSource/Bison)
@@ -207,7 +206,7 @@
 endif()

 if (Boost_FOUND)
- target_link_libraries(libsclang ${Boost_THREAD_LIBRARY}
${Boost_SYSTEM_LIBRARY} ${Boost_REGEX_LIBRARY}
${Boost_FILESYSTEM_LIBRARY})
+    target_link_libraries(libsclang ${Boost_THREAD_LIBRARY}
${Boost_SYSTEM_LIBRARY} ${Boost_REGEX_LIBRARY}
${Boost_FILESYSTEM_LIBRARY})
 endif()

 if (SCLANG_SERVER)
--- a/server/CMakeLists.txt
+++ b/server/CMakeLists.txt
@@ -4,7 +4,6 @@
 endif()

 include_directories(${CMAKE_SOURCE_DIR}/external_libraries
- ${CMAKE_SOURCE_DIR}/external_libraries/boost-lockfree
  ${CMAKE_SOURCE_DIR}/external_libraries/nova-simd
  ${CMAKE_SOURCE_DIR}/external_libraries/nova-tt
  )
--- a/server/supernova/CMakeLists.txt
+++ b/server/supernova/CMakeLists.txt
@@ -159,7 +159,7 @@
 target_link_libraries(libsupernova oscpack tlsf ${PTHREADS_LIBRARIES})

 if (Boost_FOUND)
-    target_link_libraries(libsupernova   ${Boost_SYSTEM_LIBRARY}
${Boost_FILESYSTEM_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY})
+    target_link_libraries(libsupernova   ${Boost_SYSTEM_LIBRARY}
${Boost_FILESYSTEM_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY}
${Boost_ATOMIC_LIBRARY})
 else()
     target_link_libraries(libsupernova boost_system boost_filesystem
boost_program_options)
 endif()
--- a/testsuite/supernova/CMakeLists.txt
+++ b/testsuite/supernova/CMakeLists.txt
@@ -45,7 +45,6 @@
                     ${CMAKE_SOURCE_DIR}/server/supernova
                     ${CMAKE_SOURCE_DIR}/external_libraries/boost
                     ${CMAKE_SOURCE_DIR}/external_libraries/boost_endian
-                    ${CMAKE_SOURCE_DIR}/external_libraries/boost-lockfree
                     ${CMAKE_SOURCE_DIR}/external_libraries/oscpack
                     ${CMAKE_SOURCE_DIR}/external_libraries/
                     ${CMAKE_SOURCE_DIR}/external_libraries/nova-tt
--- a/server/scsynth/CMakeLists.txt
+++ b/server/scsynth/CMakeLists.txt
@@ -207,7 +207,7 @@
 endif()

 if(CMAKE_SYSTEM_NAME MATCHES "Linux")
- target_link_libraries(libscsynth rt)
+    target_link_libraries(libscsynth rt ${Boost_THREAD_LIBRARY})
 endif()

 file(GLOB_RECURSE all_headers ../../*hpp)

-- 

Saludos,
Felipe Sateler



More information about the pkg-multimedia-maintainers mailing list