[Buildroot] CMake requires ncurses

Samuel Martin s.martin49 at gmail.com
Thu May 8 09:20:35 UTC 2014


Hi all,

On Thu, May 8, 2014 at 11:14 AM, Fabio Porcedda
<fabio.porcedda at gmail.com> wrote:
> On Thu, May 8, 2014 at 10:57 AM, Luca Ceresoli <luca at lucaceresoli.net> wrote:
>> Hi Fabio,
>>
>> Fabio Porcedda wrote:
>>>
>>> On Wed, May 7, 2014 at 9:06 PM, Samuel Martin <s.martin49 at gmail.com>
>>> wrote:
>>>>
>>>> Fabio, Luca, all,
>>>>
>>>> On Wed, May 7, 2014 at 7:46 PM, Fabio Porcedda <fabio.porcedda at gmail.com>
>>>> wrote:
>>>>>
>>>>> On Wed, May 7, 2014 at 7:37 PM, Luca Ceresoli <luca at lucaceresoli.net>
>>>>> wrote:
>>>>>>
>>>>>> Hi Fabio,
>>>>>>
>>>>>>
>>>>>> Fabio Porcedda wrote:
>>>>>>>
>>>>>>>
>>>>>>> On Wed, May 7, 2014 at 5:44 PM, Thomas Petazzoni
>>>>>>> <thomas.petazzoni at free-electrons.com> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> Dear Fabio Porcedda,
>>>>>>>>
>>>>>>>> On Wed, 7 May 2014 17:32:38 +0200, Fabio Porcedda wrote:
>>>>>>>>
>>>>>>>>> Are you sure that In your system there isn't installed the ncurses
>>>>>>>>> development package?
>>>>>>>>>
>>>>>>>>> On my ubuntu distribution if i uninstall the libncurses5-dev package
>>>>>>>>> i
>>>>>>>>> got:
>>>>>>>>>
>>>>>>>>> make defconfig && make allyespackageconfig
>>>>>>>>>
>>>>>>>>> make host-cmake
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Well, right. On my system, libncurses-dev is definitely installed,
>>>>>>>> but
>>>>>>>> I was thinking that on the autobuilders chroot it is not. But in fact
>>>>>>>> it is, for a simple reason: libncurses-dev is needed for 'make
>>>>>>>> menuconfig'.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Still I find it strange that it fails. If libncurses-dev is not
>>>>>> found, CMake just disables building ccmake. Maybe you had configured
>>>>>> host-cmake with libncurses-dev installed, then (re)built it without
>>>>>> libncurses?
>>>>
>>>>
>>>> That's weird!
>>>> I just gave a try in a debian chroot with libncurses5 installed but
>>>> not libncurses5-dev (so, there is the *.so files but no ncurses'
>>>> headers) and cmake build script correctly detect that something is
>>>> missing to build ccmake. Thus it disables ccmake build, and the build
>>>> successfully ends.
>>>
>>>
>>> You are right! Usually cmake builds fine even without the
>>> libncurses5-dev package installed, but it fails when buildroot have
>>> already built the host-ncurses package, try it:
>>>
>>> make clean host-ncurses host-cmake
>>>
>>> I found that because I'm building the allyespackageconfig.
>>>
>>> I'm not sure to understand why it's happening.
>>> Maybe cmake doesn't search headers in output/host/usr/include?
>>>
>>>> The configure/build log would help to understand what happened.
>>>
>>>
>>> This is the log of make host-cmake:
>>> https://gist.github.com/anonymous/123770e4ed5a12820066
>>
>>
>> Maybe CMake looks in output/host/ to check for ncurses availability, but
>> then uses the system path (/usr) when building. This is not visible
>> from your log, you may want to use verbose mode to have CMake print the
>> build command line.
>
> You are right, the "host/usr/include" is passed on the configuring
> stage but not at building stage.
>
> This is the verbose log:
> https://gist.github.com/anonymous/7d08f76c049705f12e47
>

Yep, i'm running some tests here, it seems the {C,LD}FLAGS set in the
bootstrap environment are not forwarded/converted as CMake flags.
Here is the raw diff fixing this issue:
http://code.bulix.org/lert9m-86187/?raw


Regards,

-- 
Samuel


More information about the buildroot mailing list