[PATCH] Fix header include for out of tree builds

Zdenek Kabelac <[email protected]> Wed, 17 May 2023 16:33:04 +0200
Newsgroups dev.linux.lists.lvm-devel
Message-ID <[email protected]>
Dne 17. 05. 23 v 14:09 Zdenek Kabelac napsal(a):
> Dne 17. 05. 23 v 13:50 Anton Lundin napsal(a):
>> On 17 May, 2023 - Zdenek Kabelac wrote:
>>
>>> Dne 17. 05. 23 v 13:35 Anton Lundin napsal(a):
>>>> On 17 May, 2023 - Zdenek Kabelac wrote:
>>>>
>>>>> Dne 16. 05. 23 v 18:05 Anton Lundin napsal(a):
>>>>>> The relative include didn't match up for out of tree builds. The
>>>>>> build tree include directory is in the include paths already.
>>>>>>
>>>>>> Signed-off-by: Anton Lundin <[email protected]>
>>>>>> ---
>>>>>>
>>>>>> Now the following works:
>>>>>> $ mkdir lvm2-build
>>>>>> $ cd lvm2-build
>>>>>> $ ../lvm2/configure
>>>>> Hi
>>>>>
>>>>> Your bug is actually in this command:
>>>>>
>>>>> configure --srcdir=XXXXX
>>>>>
>>>>>> $ make
>>>>>>
>>>>> Otherwise srcdir is located in your builddir and you would actually get 
>>>>> more
>>>>> errors in various parts of lvmb building - as we tend to use $(srcdir)
>>>>> inside makefiles..
>>>> I might be misunderstanding you. Are your comment about the fix or the
>>>> example on now to trigger the bug?
>>>>
>>>> Just running configure from another directory will set srcdir
>>>> automatically. At least in any kind of modern auto-tools.
>>>
>>> While we certainly can push this minor change? (and I'll likely push this
>>> change upstream with my next changeset) - the usage should be based on
>>> srcdir settings - which I'm setting myself for a long time? - as there were
>>> always some problems if this was not set properly.
>>>
>>> So I could try if this got eventually better over time? - but lvm2 is using
>>> somewhat hybrid approach - as we only use 'autoconf' but not 'automake'
>>> historically.
>> With this fix out of tree builds works with or without --srcdir= , and
>> if I revert this fix on my local tree the builds fails with or without
>> --srcdir= like:
>>
>> In file included from ../../lvm2/lib/commands/toolcontext.h:21,
>> ????????????????? from ../../lvm2/lib/integrity/integrity.c:17:
>> ???????????????? ../../lvm2/lib/commands/cmd_enum.h:15:10: fatal error:
>> ???????????????? ../../include/cmds.h: No such file or directory
>> ??????????????????? 15 | #include "../../include/cmds.h"
>>
>> //Anton
>
>
> Can you please provide? corresponding??? 'make V=1' log ?


Actuallly not needed - reproduced myself.


Zdenek