Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur avec make en multiprocessing

    23 avril 2024 à 15:19:45

    Salut tout le monde !

    J'ai une erreur étrange lorsque j'utilise make en mutliprocessing :

    Scanning dependencies of target lib
    make[6]: *** read jobs pipe: Bad file descriptor.  Stop.
    make[6]: *** Waiting for unfinished jobs....
    [ 25%] Building CXX object CMakeFiles/lib.dir/myLib.cpp.o
    make[5]: *** [CMakeFiles/Makefile2:76: CMakeFiles/lib.dir/all] Error 2
    make[4]: *** [Makefile:84: all] Error 2
    make[6]: *** read jobs pipe: Bad file descriptor.  Stop.
    make[6]: *** Waiting for unfinished jobs....
    make[5]: *** [CMakeFiles/Makefile2:76: CMakeFiles/lib.dir/all] Error 2
    make[4]: *** [Makefile:84: all] Error 2

    En monoprocessing en revanche, ça compile parfaitement :

    Scanning dependencies of target lib
    [ 25%] Building CXX object CMakeFiles/lib.dir/myLib1.cpp.o
    [ 50%] Building CXX object CMakeFiles/lib.dir/myLib2.cpp.o
    [ 75%] Building CXX object CMakeFiles/lib.dir/myLib3.cpp.o
    [100%] Linking CXX shared library myLib.so
    [100%] Built target lib

     Cette erreur me laisse perplexe. Je ne vois pas comment la corriger ni quelle pourrait être l'origine. o_O

    -
    Edité par ThomasAirain 23 avril 2024 à 15:22:17

    • Partager sur Facebook
    • Partager sur Twitter
      24 avril 2024 à 9:53:52

      Bonjour,

      D'après ton post et sur le premier écran tu compiles:

      - 'myLib.cpp'

      et en mono processing:

      - 'myLib1.cpp' ; 'myLib2.cpp' ; 'myLib3.cpp'

      Ce qui n'est pas la même chose.

      Tu devrais nous montrer le contenu de ton fichier CMakeLists.txt je pense.:)

      -
      Edité par Warren79 24 avril 2024 à 19:15:20

      • Partager sur Facebook
      • Partager sur Twitter

      Mon site web de jeux SDL2 entre autres : https://www.ant01.fr

        24 avril 2024 à 11:27:21

        Voici le CMakeLists.txt :

        project(myLib CXX)
        
        if(NOT DEFINED ENV{POF_INSTALL_DIR})
          message(FATAL_ERROR "You need to define POF_INSTALL_DIR environment variable.")
        endif()
        
        if(DEFINED ENV{BOOST_HOME})
          set(BOOST_ROOT $ENV{BOOST_HOME})
          if(MSVC)
            set(BOOST_LIBRARYDIR ${BOOST_ROOT}/bin)
          endif()
        endif()
        
        file(TO_CMAKE_PATH  "$ENV{POF_INSTALL_DIR}" POF_INSTALL_DIR)
        set(CMAKE_MODULE_PATH "${POF_INSTALL_DIR}/share/cmake")
        
        set(CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@" CACHE STRING "Choose the type of build" FORCE)
        set(CMAKE_CXX_FLAGS "@CMAKE_CXX_FLAGS@")
        set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
        
        set(Boost_NO_SYSTEM_PATHS FALSE)
        set(BUILD_SHARED_LIBS ON)
        set(Boost_USE_STATIC_RUNTIME False)
        add_definitions(-DBOOST_ALL_DYN_LINK)
        add_definitions(-DBOOST_ALL_NO_LIB)
        
        find_package(Boost 1.63 REQUIRED
          COMPONENTS
            atomic
            date_time
            serialization
            system
            log
            log_setup
            filesystem
            program_options
        )
        
        find_package(Pof CONFIG REQUIRED PATHS $ENV{POF_INSTALL_DIR} PATH_SUFFIXES share)
        
        set(MY_SOURCES
          lib1.cpp
          lib2.cpp
          lib3.cpp
          )
        
        add_library(lib SHARED ${MY_SOURCES})
        
        target_include_directories(lib PUBLIC $ENV{POF_ADDITIONAL_INCLUDE})
        
        target_link_libraries(lib
          PRIVATE
            Pof::Pof_Common
            Pof::Pof_Controller
            Boost::system
            $ENV{POF_ADDITIONAL_LIBRARY}
        )
        



        -
        Edité par ThomasAirain 24 avril 2024 à 11:28:42

        • Partager sur Facebook
        • Partager sur Twitter

        Erreur avec make en multiprocessing

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown