Bug 4988 - flex and m4 problems
Summary: flex and m4 problems
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2012.02
Hardware: PC Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-27 09:38 UTC by Christoph Schulz
Modified: 2013-05-26 14:12 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments
adds BR2_PACKAGE_M4 as dependency (342 bytes, patch)
2012-03-27 09:38 UTC, Christoph Schulz
Details
fixes the path to the m4 tool used to /usr/bin/m4 (342 bytes, patch)
2012-03-27 09:38 UTC, Christoph Schulz
Details
fixes cross-compiling issues with flex and m4 (931 bytes, patch)
2012-03-27 09:39 UTC, Christoph Schulz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Schulz 2012-03-27 09:38:06 UTC
Created attachment 4196 [details]
adds BR2_PACKAGE_M4 as dependency

Hello,

there is a problem installing flex to the target area. flex ultimatively depends on m4 at run-time (see [1]), but this is not accounted for in the buildroot's flex.mk. Worse, the flex binary includes a fully qualified path to the host area's m4 (see main.c and the use of the M4 define, set in config.h). This is wrong for both flex installed to the staging area and flex installed to the target area.

I attached three patches to solve these problems. The first patch (Config.in.diff) adds BR2_PACKAGE_M4 to flex/Config.in. The second patch (flex.mk.diff) uses the M4 environment variable to force the configure script not to look for the host's m4 tool but to assume /usr/bin/m4. The last patch (flex-2.5.35-fix-cross-compiling.patch) disables checking the features of the cross m4 and it prevents the tools from being built as they reference the target m4 tool in an incompatible way.

Regards,

Christoph Schulz

[1] http://flex.sourceforge.net/manual/M4-Dependency.html
Comment 1 Christoph Schulz 2012-03-27 09:38:59 UTC
Created attachment 4202 [details]
fixes the path to the m4 tool used to /usr/bin/m4
Comment 2 Christoph Schulz 2012-03-27 09:39:35 UTC
Created attachment 4208 [details]
fixes cross-compiling issues with flex and m4
Comment 3 Thomas Petazzoni 2013-05-26 14:12:49 UTC
Thanks, I've adapted your patches 1 and 2 to the latest Buildroot (after doing some minor improvements). However, your patch 3 was not necessary here. Maybe some other change in flex had fixed the problem.

I'm marking the bug as fixed, I will send the patch later today on the mailing list.