master at eee077466da631e072871178b2d5fb9e9fc54f46 [ 8%] Built target beignet_bitcode [ 8%] Building CXX object backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o /home/inferno/.dev/OpenCL/beignet/backend/src/backend/program.cpp:39:40: fatal error: llvm/Support/ManagedStatic.h: No such file or directory compilation terminated. backend/src/CMakeFiles/gbe.dir/build.make:606: recipe for target 'backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o' failed make[2]: *** [backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o] Error 1 CMakeFiles/Makefile2:111: recipe for target 'backend/src/CMakeFiles/gbe.dir/all' failed make[1]: *** [backend/src/CMakeFiles/gbe.dir/all] Error 2 Makefile:136: recipe for target 'all' failed make: *** [all] Error 2 The file is present in the system and llvm correctly described in cmake files. $ ls /usr/include/llvm-3.7/llvm/Support/ManagedStatic.h /usr/include/llvm-3.7/llvm/Support/ManagedStatic.h $ grep LLVM_ CMakeCache.txt LLVM_AS_EXECUTABLE:FILEPATH=/usr/bin/llvm-as-3.7 LLVM_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/llvm-config-3.7 LLVM_LINK_EXECUTABLE:FILEPATH=/usr/bin/llvm-link-3.7
Seems llvm include path issue. Can you show your llvm-config --includedir result? Thanks.
(In reply to rongyang from comment #1) > Seems llvm include path issue. Can you show your llvm-config --includedir > result? Thanks. inferno@inferno-X550LA:~/.dev/OpenCL/beignet$ llvm-config --includedir /usr/lib/llvm-3.6/include inferno@inferno-X550LA:~/.dev/OpenCL/beignet$ llvm-config-3.7 --includedir /usr/lib/llvm-3.7/include inferno@inferno-X550LA:~/.dev/OpenCL/beignet$
(In reply to ilia from comment #2) /usr/include/llvm-3.7/llvm/Support/ManagedStatic.h goes from llvm-3.7-dev package Content seems slightly differ: inferno@inferno-X550LA:~/.dev/OpenCL/beignet$ ls /usr/include/llvm-3.7/llvm/Support/ AIXDataTypesFix.h Compression.h FileOutputBuffer.h Memory.h Regex.h Threading.h AlignOf.h ConvertUTF.h FileSystem.h MemoryObject.h Registry.h ThreadLocal.h Allocator.h CrashRecoveryContext.h FileUtilities.h MipsABIFlags.h RegistryParser.h Timer.h ARMBuildAttributes.h DataExtractor.h Format.h MutexGuard.h RWMutex.h TimeValue.h ARMEHABI.h DataStream.h FormattedStream.h Mutex.h SaveAndRestore.h ToolOutputFile.h ARMWinEH.h DataTypes.h GCOV.h OnDiskHashTable.h ScaledNumber.h type_traits.h ArrayRecycler.h Debug.h GenericDomTreeConstruction.h Options.h Signals.h UnicodeCharRanges.h Atomic.h DOTGraphTraits.h GenericDomTree.h OutputBuffer.h SMLoc.h Unicode.h BlockFrequency.h Dwarf.def GraphWriter.h Path.h Solaris.h UniqueLock.h BranchProbability.h Dwarf.h Host.h PluginLoader.h SourceMgr.h Valgrind.h Capacity.h DynamicLibrary.h LEB128.h PointerLikeTypeTraits.h SpecialCaseList.h Watchdog.h Casting.h ELF.h LineIterator.h PrettyStackTrace.h StreamingMemoryObject.h Win64EH.h CBindingWrapping.h ELFRelocs Locale.h Process.h StringPool.h WindowsError.h circular_raw_ostream.h Endian.h LockFileManager.h Program.h StringSaver.h YAMLParser.h CodeGen.h EndianStream.h MachO.h RandomNumberGenerator.h SwapByteOrder.h YAMLTraits.h COFF.h Errc.h ManagedStatic.h raw_os_ostream.h SystemUtils.h COM.h Errno.h MathExtras.h raw_ostream.h TargetParser.h CommandLine.h ErrorHandling.h MD5.h Recycler.h TargetRegistry.h Compiler.h ErrorOr.h MemoryBuffer.h RecyclingAllocator.h TargetSelect.h inferno@inferno-X550LA:~/.dev/OpenCL/beignet$ ls /usr/lib/llvm-3.7/include/llvm/Support AIXDataTypesFix.h CommandLine.h Errc.h Host.h Mutex.h Regex.h TargetSelect.h AlignOf.h Compiler.h ErrorHandling.h LockFileManager.h Options.h RWMutex.h Threading.h Allocator.h DataTypes.h ErrorOr.h MathExtras.h Path.h SMLoc.h TimeValue.h Atomic.h DOTGraphTraits.h FileSystem.h MD5.h PointerLikeTypeTraits.h SourceMgr.h ToolOutputFile.h Casting.h Dwarf.def FormattedStream.h MemoryBuffer.h PrettyStackTrace.h SpecialCaseList.h type_traits.h CBindingWrapping.h Dwarf.h GenericDomTree.h Memory.h raw_os_ostream.h SwapByteOrder.h UniqueLock.h CodeGen.h Endian.h GraphWriter.h MutexGuard.h raw_ostream.h TargetRegistry.h Valgrind.h Working solution may be smth like this inferno@inferno-X550LA:/usr/include/llvm-3.7$ find -exec sudo ln -s /usr/include/llvm-3.7/{} /usr/lib/llvm-3.7/include/{} \; but it would be great to be more friendly to poor ubuntu users -)
Why there are two LLVM3.7 include directories? I am afraid /usr/lib/llvm-3.7/include is incomplete, because file ManagedStatic.h locate in llvm/Support long ago, at least from LLVM3.4 to now (LLVM3.8).
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/beignet/beignet/issues/16.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.