| Summary: | can't complie microperl with error undefined reference to `__ctype_b' | ||
|---|---|---|---|
| Product: | buildroot | Reporter: | 万新明 <xiaxiaojin> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED INVALID | ||
| Severity: | minor | CC: | buildroot, uclibc-cvs |
| Priority: | P5 | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
|
Description
万新明
2011-09-21 09:19:49 UTC
Buildroot issue. I guess your uClibc lacks UCLIBC_HAS_CTYPE_TABLES, which is enabled in the default uClibc configuration that Buildroot uses to build a toolchain. Can you check your uClibc configuration ? usually when this error comes up, it's because the cross-compile incorrectly used things like -I/usr/include. please post the *full* build log of all the objects as an attachment. I checked uclibc.config contains UCLIBC_HAS_CTYPE_TABLES.
I tried many times, compiling microperl success, here is my compilation steps:
1. Chmod + w Makefile.micro
2 In line 39, as described below, the last uudmap.h bitcount.h removed.
38 clean:
39-rm-f $ (O) microperl generate_uudmap $ (_X)
40 #-rm-f $ (O) microperl generate_uudmap $ (_X) uudmap.h bitcount.h
3. First in the x86 compiler normally generates two files uudmap.h bitcount.h
root [perl-5.14.0] # make-f Makefile.micro
4 comments Dir 181,182 lines
181 # uudmap.h bitcount.h: generate_uudmap $ (_X)
182 # $ (RUN). / Generate_uudmap $ (_X) uudmap.h bitcount.h
5 Executive root [perl-5.14.0] # make-f Makefile.micro clean
Then uudmap.h bitcount.h not delete the two files. uclibc compile perl will be used.
6 Finally compile uclibc microperl
root [perl-5.14.0] # make-f Makefile.micro CC = i686-linux-gcc
Thank you for your help.
|