This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Crosstool Build Fails under cygwin


Hi
I have encounted same issues, in same environment: x74 win7 + Cywin 1.7.17 issue1: zconf.tab.o:zconf.tab.c:(.text+0x1671): undefined reference to `_libintl_gettext'
issue2: Makefile:240: *** mixed implicit and normal rules. Stop.
issue3: That seems slow!

but now, has already fixed them before.

in brief, the (best) solution is:
1. for issue1: zconf.tab.o:zconf.tab.c:(.text+0x1671): undefined reference to `_libintl_gettext'
reason:
lack related lib (when build under Cygwin)
solution:
change the makefile
crosstool-ng-1.18.0\kconfig\Makefile
to add intl and curses lib for conf, mconf, nconf
like this:

# Whatâs needed to build âconfâ
conf_SRC = conf.c
conf_OBJ = $(patsubst %.c,%.o,$(conf_SRC))
conf_DEP = $(patsubst %.o,%.dep,$(conf_OBJ))
$(conf_OBJ) $(conf_DEP): CFLAGS += $(INTL_CFLAGS)
conf: LDFLAGS += -lintl

# Whatâs needed to build âmconfâ
mconf_SRC = mconf.c
mconf_OBJ = $(patsubst %.c,%.o,$(mconf_SRC))
mconf_DEP = $(patsubst %.c,%.dep,$(mconf_SRC))
$(mconf_OBJ) $(mconf_DEP): CFLAGS += $(NCURSES_CFLAGS) $(INTL_CFLAGS)
#mconf: LDFLAGS += $(NCURSES_LDFLAGS)
mconf: LDFLAGS += -lintl $(NCURSES_LDFLAGS)

# Whatâs needed to build ânconfâ
nconf_SRC = nconf.c nconf.gui.c
nconf_OBJ = $(patsubst %.c,%.o,$(nconf_SRC))
nconf_DEP = $(patsubst %.c,%.dep,$(nconf_SRC))
#$(nconf_OBJ) $(nconf_DEP): CFLAGS += $(INTL_CFLAGS) -I/usr/include/ncurses
#nconf: LDFLAGS += -lmenu -lpanel -lncurses
$(nconf_OBJ) $(nconf_DEP): CFLAGS += -I/usr/include/ncurses/ $(INTL_CFLAGS)
nconf: LDFLAGS += -lintl -lmenu -lpanel -lncurses


2. for issue2: Makefile:240: *** mixed implicit and normal rules. Stop.
reason:
make v3.81 support those "mixed implicit and normal rules"
but new v3.82 make, not support them.
solution:
use crosstool-ng (included) companion make:
in ct-ng menuconfig, config to use its (v3.81) make:
Paths and misc options  â>
    [*] Try features marked as EXPERIMENTAL
Companion tools  â>
    [*] Build some companion tools
    [*]   make

3. for issue3: That seems slow!
config crosstool-ng to use multithread, such as 4 thread:
Paths and misc options
  (4) Number of parallel jobs

for more details, can refer my posts(written in Chinese, you can use google translate it to English): 1. for issue1: zconf.tab.o:zconf.tab.c:(.text+0x1671): undefined reference to `_libintl_gettext'
http://www.crifan.com/crosstool_ng_cygwin_zconf_tab_o_zconf_tab_c_text_0x162a_undefined_reference_to_libintl_gettext/
http://www.crifan.com/crosstool_ng_cygwin_zconf_tab_o_zconf_tab_c_text_0x162a_undefined_reference_to_libintl_gettext-2/
2. for issue2: Makefile:240: *** mixed implicit and normal rules. Stop.
http://www.crifan.com/crosstool_ng_makefile_mixed_implicit_and_normal_rules_stop/
http://www.crifan.com/cygwin_make_linux_kernel_makefile_mixed_implicit_and_normal_rules_stop/
3. for issue3: That seems slow!
http://www.crifan.com/summary_crosstool_ng_note/

Crifan Li


Jeremy Cole-Baker wrote on Fri, 28 Jun 2013 09:17:09 +1200:

> Hello all,
>
> I've been instructed to get a cross-compiler for Power PC working under Cygwin (crazy idea I know, but that's what they want!). Having trouble, though.
>
>
> I have tried crisstools-ng version 1.17 and 1.18, but they won't build. "Configure" seemed to work fine, but "make" for both versions stopped with this error:
>
>
> $make
>   SED    'ct-ng'
>   SED    'scripts/crosstool-NG.sh'
>   SED    'scripts/saveSample.sh'
>   SED    'scripts/showTuple.sh'
>   GEN    'config/configure.in'
>   GEN    'paths.mk'
>   GEN    'paths.sh'
>   DEP    'nconf.gui.dep'
>   DEP    'nconf.dep'
>   DEP    'lxdialog/checklist.dep'
>   DEP    'lxdialog/inputbox.dep'
>   DEP    'lxdialog/util.dep'
>   DEP    'lxdialog/textbox.dep'
>   DEP    'lxdialog/yesno.dep'
>   DEP    'lxdialog/menubox.dep'
>   DEP    'mconf.dep'
>   DEP    'conf.dep'
>   BISON  'zconf.tab.c'
>   GPERF  'zconf.hash.c'
>   LEX    'lex.zconf.c'
>   DEP    'zconf.tab.dep'
>   CC     'zconf.tab.o'
>   CC     'conf.o'
>   LD     'conf'
>
> zconf.tab.o:zconf.tab.c:(.text+0x1671): undefined reference to `_libintl_gettext' zconf.tab.o:zconf.tab.c:(.text+0x4845): undefined reference to `_libintl_gettext' zconf.tab.o:zconf.tab.c:(.text+0x5733): undefined reference to `_libintl_gettext' zconf.tab.o:zconf.tab.c:(.text+0x5905): undefined reference to `_libintl_gettext' zconf.tab.o:zconf.tab.c:(.text+0xc750): undefined reference to `_libintl_gettext' zconf.tab.o:zconf.tab.c:(.text+0xc75e): more undefined references to `_libintl_gettext' follow /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: zconf.tab.o: bad reloc address 0x110 in section `.data' /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: final link failed: Invalid operation
>
> collect2: ld returned 1 exit status
> Makefile:108: recipe for target `conf' failed
> make[2]: *** [conf] Error 1
> Makefile:160: recipe for target `build-lib-kconfig' failed
> make[1]: *** [build-lib-kconfig] Error 2
> Makefile:120: recipe for target `build' failed
> make: *** [build] Error 2
>
> My system is Windows 7 64 bit, and I installed the latest Cygwin (I think it's 1.7). I installed all the dev tools in the Cygwin setup.
>
>
>
> This may or may not be relevant, but:
>
> A couple of days ago, I downloaded and installed crosstools-ng 1.9 (because it was at the bottom of the page! I guess I failed the first intelligence test!).
>
>
> 1.9 built OK, and I was able to run the "menuconfig" option and set up my toolchain. Running the toolchain build took a loooooooooooooooong time (11 hours!) and eventually ended with an error. Here are the last few lines of the log file:
>
>
> [ALL ] make[3]: Entering directory `/opt/build_gcc_xtools/targets/src/glibc-2.9/wctype' [ALL ] /opt/build_gcc_xtools/targets/tools/bin/install -c -m 644 wctype.h /opt/x-tools/powerpc-unknown-linux-gnu/powerpc-unknown-linux-gnu//sys-root/usr/include/wctype.h [ALL ] make[3]: Leaving directory `/opt/build_gcc_xtools/targets/src/glibc-2.9/wctype'
>
> [ALL ] /usr/bin/make -j2 subdir=manual -C manual ..=../ install-headers
>
> [ALL ] make[3]: Entering directory `/opt/build_gcc_xtools/targets/src/glibc-2.9/manual'
>
> [ALL  ]    Makefile:240: *** mixed implicit and normal rules.  Stop.
>
> [ALL ] make[3]: Leaving directory `/opt/build_gcc_xtools/targets/src/glibc-2.9/manual'
>
> [ALL ] Makefile:207: recipe for target `manual/install-headers' failed
> [ERROR]    make[2]: *** [manual/install-headers] Error 2
>
> [ALL ] make[2]: Leaving directory `/opt/build_gcc_xtools/targets/src/glibc-2.9'
>
> [ALL  ]    Makefile:12: recipe for target `install-headers' failed
> [ERROR]    make[1]: *** [install-headers] Error 2
>
> [ALL ] make[1]: Leaving directory `/opt/build_gcc_xtools/targets/powerpc-unknown-linux-gnu/build/build-libc-headers'
>
> [ERROR]    Build failed in step 'Installing C library headers'
>
> [ERROR] Error happened in '/usr/crosstool/lib/ct-ng-1.9.3/scripts/functions' in function 'CT_DoExecLog' (line unknown, sorry) [ERROR] called from '/usr/crosstool/lib/ct-ng-1.9.3/scripts/build/libc/glibc.sh' at line # 175 in function 'do_libc_headers' [ERROR] called from '/usr/crosstool/lib/ct-ng-1.9.3/scripts/crosstool-NG.sh' at line # 597 in function 'main' [ERROR] Look at '/opt/x-tools/powerpc-unknown-linux-gnu/build.log' for more info on this error.
>
> [ERROR]  (elapsed: 686:48.54)
>
> That seems slow! (Athlon 64 X2 dual core @ 3.1 Ghz and 6 GB RAM).
>
> I've become completely obsessed by this task (i.e. building a toolchain for cygwin) and I've lost all sense of perspective, so suggestions would be appreciated!
>
>
> Thanks,
> Jeremy
>
>
> --
> Riverhead Technology
> Jeremy Cole-Baker
> Ph. (+64) 27 673 0129
> www.rhtech.co.nz

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]