Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 908433

Summary: sys-devel/llvm-15.0.7-r3 emerge can race with dev-db/unixODBC-2.3.11
Product: Gentoo Linux Reporter: Thomas De Schampheleire <patrickdepinguin>
Component: Current packagesAssignee: LLVM support project <llvm>
Status: UNCONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: llvm failed build log

Description Thomas De Schampheleire 2023-06-13 09:14:06 UTC
Emerge of sys-devel/llvm-15.0.7-r3 failed as follows:


-- Configuring done (27.2s)
CMake Error at cmake/modules/AddLLVM.cmake:559 (add_library):
  Cannot find source file:

    /usr/include/unixodbc_conf.h

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc
Call Stack (most recent call first):
  cmake/modules/AddLLVM.cmake:819 (llvm_add_library)
  cmake/modules/AddLLVM.cmake:794 (add_llvm_library)
  lib/Support/CMakeLists.txt:119 (add_llvm_component_library)


There is no explicit reference to this odbc path in the llvm source code.
However, in the same emerge there was an upgrade of unixODBC, from 2.3.9-r1 to 2.3.11 .
I now find the path to unixodbc_conf.h at: /usr/include/unixODBC/unixodbc_conf.h

A new attempt at building LLVM succeeded.

My theory is that the llvm configure phase was happening at the same time as the install of unixODBC, in which the path to unixodbc_conf.h changed from /usr/include/ to /usr/include/unixODBC/ .

The emerge order:

>>> Emerging (28 of 39) sys-devel/llvm-15.0.7-r3::gentoo
>>> Completed (24 of 39) dev-python/fonttools-4.39.4::gentoo
>>> Installing (25 of 39) media-libs/gstreamer-1.20.5::gentoo
>>> Completed (25 of 39) media-libs/gstreamer-1.20.5::gentoo
>>> Installing (26 of 39) dev-db/unixODBC-2.3.11::gentoo
>>> Completed (26 of 39) dev-db/unixODBC-2.3.11::gentoo
>>> Failed to emerge sys-devel/llvm-15.0.7-r3, Log file:
>>>  '/var/tmp/portage/sys-devel/llvm-15.0.7-r3/temp/build.log'


The solution, according to me, is to ensure that the unixODBC update cannot happen at the same time as the llvm update.

Reproducible: Didn't try

Actual Results:  
see description

Expected Results:  
see description

see description
Comment 1 Thomas De Schampheleire 2023-06-13 09:14:40 UTC
Created attachment 863761 [details]
llvm failed build log