From: Crifan Li <admin@crifan.com>
To: jeremy@rhtech.co.nz
Cc: crossgcc@sourceware.org
Subject: Re: Crosstool Build Fails under cygwin
Date: Fri, 30 Aug 2013 19:57:00 -0000 [thread overview]
Message-ID: <5220F92C.5070203@crifan.com> (raw)
In-Reply-To: <51CCABD5.2030804@rhtech.co.nz>
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
prev parent reply other threads:[~2013-08-30 19:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-27 21:17 Jeremy Cole-Baker
2013-06-28 11:27 ` EXTERNAL: " Dorrington, Albert
2013-08-30 19:57 ` Crifan Li [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5220F92C.5070203@crifan.com \
--to=admin@crifan.com \
--cc=crossgcc@sourceware.org \
--cc=jeremy@rhtech.co.nz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).