Cygwin-cross patch#2 for 2.96.4-1 [WAS: Cygwin ping!]
Jan Nieuwenhuizen <[email protected]>
| Newsgroups | gmane.comp.tex.tetex.beta |
|---|---|
| Organization | Jan at Appel |
| Message-ID | <[email protected]> |
Olaf Weber writes:
> The info pages for ld (version 2.14.90.0.7-multiarch) say that Cygwin
> should be perfectly happy with dllexport. (It does make clear that if
> dllexport is used anywhere, it must be used for all exported symbols.)
Yes, and there's another issue with variables, IIRC.
> So I'm curious what kind of failiure you're encountering.
It's a failure of the libtoolish linking kind, and easy to check.
Apply my patch, reverert the KPSEDLL bits, get cyg-apt
http://lilypond.org/cygwin/cyg-apt
and install a cygwin-cross compilation suite using dpkg-cross. Hmm
that may be hairy if you're not using Debian? Hold on...
Without my patch (new version attached) the Cygwin compile fails like
this:
i686-cygwin-ranlib ../kpathsea/.libs/libkpathsea.a
creating ../kpathsea/libkpathsea.la
(cd ../kpathsea/.libs && rm -f libkpathsea.la && ln -s ../libkpathsea.la libkpathsea.la)
i686-cygwin-gcc -DHAVE_CONFIG_H -I. -I/netrel/src/tetex-bin-2.96.4-1/texk/kpathsea -I.. -I/netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/.. -O2 -g -DKPSE_DLL -c /netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/kpsewhich.c -o kpsewhich.o
In file included from /cygwin/usr/include/sys/unistd.h:152,
from /cygwin/usr/include/unistd.h:4,
from /netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/../kpathsea/c-unistd.h:27,
from /netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/../kpathsea/c-std.h:33,
from /netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/../kpathsea/config.h:73,
from /netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/kpsewhich.c:20:
/netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/getopt.h:59: warning: #warning For Olaf.
In file included from /netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/../kpathsea/config.h:75,
from /netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/kpsewhich.c:20:
/netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/../kpathsea/c-proto.h:49: warning: #warning For Olaf.
/bin/sh ../libtool --mode=link i686-cygwin-gcc -o kpsewhich -lm kpsewhich.o -L../kpathsea -lkpathsea -L/cygwin/usr/X11R6/lib -lICE -lSM -lXpm -lX11
generating import library for `cygkpathsea-4.dll'
i686-cygwin-dlltool --as=i686-cygwin-as --dllname cygkpathsea-4.dll --def .libs/cygkpathsea-4.dll-def --output-lib .libs/libimp-cygkpathsea-4.a
i686-cygwin-gcc -o .libs/kpsewhich kpsewhich.o -L/netrel/build/tetex-bin-2.96.4-1/texk/kpathsea .libs/libimp-cygkpathsea-4.a -L/cygwin/usr/X11R6/lib -lICE -lSM -lXpm -lX11
kpsewhich.o(.text+0x19c): In function `find_format':
/netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/kpsewhich.c:127: variable 'kpse_format_info' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
kpsewhich.o(.text+0x237):/netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/kpsewhich.c:130: variable 'kpse_format_info' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
kpsewhich.o(.text+0xe1b): In function `read_command_line':
/netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/kpsewhich.c:326: variable 'kpse_format_info' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
kpsewhich.o(.text+0xe5c):/netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/kpsewhich.c:330: variable 'kpse_format_info' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
kpsewhich.o(.text+0x1272): In function `main':
/netrel/src/tetex-bin-2.96.4-1/texk/kpathsea/kpsewhich.c:425: variable 'kpse_format_info' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
fu000001.o(.idata$3+0xc): undefined reference to `_libs_libimp_cygkpathsea_4_a_iname'
fu000002.o(.idata$3+0xc): undefined reference to `_libs_libimp_cygkpathsea_4_a_iname'
fu000003.o(.idata$3+0xc): undefined reference to `_libs_libimp_cygkpathsea_4_a_iname'
fu000004.o(.idata$3+0xc): undefined reference to `_libs_libimp_cygkpathsea_4_a_iname'
fu000006.o(.idata$3+0xc): undefined reference to `_libs_libimp_cygkpathsea_4_a_iname'
fu000007.o(.idata$3+0xc): more undefined references to `_libs_libimp_cygkpathsea_4_a_iname' follow
nmth000000.o(.idata$4+0x0): undefined reference to `_nm__kpse_format_info'
nmth000005.o(.idata$4+0x0): undefined reference to `_nm__optarg'
nmth000019.o(.idata$4+0x0): undefined reference to `_nm__kpathsea_debug'
nmth000021.o(.idata$4+0x0): undefined reference to `_nm__kpse_bug_address'
nmth000023.o(.idata$4+0x0): undefined reference to `_nm__kpathsea_version_string'
nmth000025.o(.idata$4+0x0): undefined reference to `_nm__optind'
nmth000030.o(.idata$4+0x0): undefined reference to `_nm__kpse_program_name'
Info: resolving _kpse_format_info by linking to __imp__kpse_format_info (auto-import)
Info: resolving _optarg by linking to __imp__optarg (auto-import)
Info: resolving _kpathsea_debug by linking to __imp__kpathsea_debug (auto-import)
Info: resolving _kpse_bug_address by linking to __imp__kpse_bug_address (auto-import)
Info: resolving _kpathsea_version_string by linking to __imp__kpathsea_version_string (auto-import)
Info: resolving _optind by linking to __imp__optind (auto-import)
Info: resolving _kpse_program_name by linking to __imp__kpse_program_name (auto-import)
collect2: ld returned 1 exit status
make[2]: *** [kpsewhich] Fout 1
make[2]: Leaving directory `/var/mknetrel/netrel1.5/build/tetex-bin-2.96.4-1/texk/kpathsea'
make[1]: *** [do-kpathsea] Fout 2
make[1]: Leaving directory `/var/mknetrel/netrel1.5/build/tetex-bin-2.96.4-1/texk'
make: *** [all] Fout 1
+ exit 1
+ atexit
+ :
You like nice, yes?
Greetings,
Jan.
--
Jan Nieuwenhuizen <[email protected]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien | http://www.lilypond.org
pats2
(application/octet-stream, 73.5 KB) - not displayed