In the GNU/Denemo project we are trying to cross-build a for windows on
Debian stable using static libraries. The libtool step is re-ordering
the libraries before invoking the linker, and so it fails.
The cross-environment has version 2.22 of GNU/Binutils, but I am not
clear where the actual libtool is coming from - the host libtool is
version 2.26b.
I can't find online documentation for this version, and even in the
latest version there is almost no mention of libtool re-ordering the
directories as given. I noticed one previous email on this topic, which
received no responses. Can someone help?
Below is the libtool step as recorded in the log of the build (it is
being done using the mxe cross-compiling makefile system).
In the link the symbold register_evince_backend is defined in the
libpdfdocument.a which starts off after the libevdocument.a on the line
that /bin/bash gets, but is moved later when libtool executes the
linker. (Or so at least is my reading of this log).
Richard Shann
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><
[...]
/bin/bash ../libtool --tag=CXX --mode=link i686-pc-mingw32-g++ -g -O2
-o denemo.exe denemo_types.o commands.o calculatepositions.o
changenotehead.o chordops.o clefdialog.o commandfuncs.o contexts.o
draw.o drawaccidentals.o drawclefs.o drawcursor.o drawkey.o
drawdynamic.o drawnotes.o drawselection.o drawstemdir.o drawtimesig.o
drawtuplets.o drawlyric.o dynamic.o drawfigure.o exportabc.o
exportlilypond.o articulations.o exportxml.o file.o hairpin.o help.o
importxml.o importmusicxml.o importmidi.o kbd-custom.o kbd-interface.o
keyresponses.o keysigdialog.o figure.o main.o measureops.o
moveviewport.o mousing.o barline.o view.o http.o mwidthdialog.o objops.o
exportmidi.o instrumentname.o external.o source.o sourceaudio.o
scorelayout.o playback.o drawfakechord.o fakechord.o playbackprops.o
prefdialog.o prefops.o processstaffname.o lyric.o scoreops.o
scoreprops.o selectops.o staffops.o staffpropdialog.o drawbarline.o
slurs.o timedialog.o tomeasuredialog.o tupletops.o utils.o graceops.o
runsilent.o drawgrace.o print.o texteditors.o binreloc.o bookmarks.o
parseinstruments.o keyboard.o pitchentry.o pitchrecog.o drawlilydir.o
lilydirectives.o displayanimation.o midi.o audiocapture.o screenshot.o
\
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libintl.a
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libiconv.a ../libsmf/libsmf.a
libaudiobackend.a ../libsffile/libsffile.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libguile-srfi-srfi-1-v-3.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libguile-srfi-srfi-60-v-2.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libevview.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libevdocument.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/evince/3/backends/libpdfdocument.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpoppler.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpoppler-cpp.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpoppler-glib.a -lportmidi
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib -lguile -lregex -lgmp -lws2_32 -lm
-lltdl -lunistring -lintl -liconv -L/home/rshann/mxe/usr/i686-pc-mingw32/lib
-lxml2 -lz -liconv -lws2_32 -L/home/rshann/mxe/usr/i686-pc-mingw32/lib
-lrsvg-2 -lgdk_pixbuf-2.0 -lgsf-1 -lpangocairo-1.0 -lcroco-0.6 -ltiff -llzma
-ljpeg -lgio-2.0 -ldnsapi -lcairo -lmsimg32 -lpangoft2-1.0 -lpangowin32-1.0
-lgdi32 -lpixman-1 -lpng15 -lfontconfig -lexpat -lfreetype -lbz2 -lpango-1.0
-lm -lusp10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lole32
-lshlwapi -lpcre -lintl -lxml2 -lz -liconv -lws2_32
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib -lfontconfig -lexpat -lfreetype -lz
-lbz2 -liconv -L/home/rshann/mxe/usr/i686-pc-mingw32/lib -lgthread-2.0
-lglib-2.0 -lws2_32 -lole32 -lshlwapi -lpcre -lintl -liconv
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib -lsndfile -lFLAC -lwsock32
-lvorbisenc -lvorbis -lm -logg -L/home/rshann/mxe/usr/i686-pc-mingw32/lib
-lgtk-win32-2.0 -lwinspool -lcomctl32 -lcomdlg32 -lgdk-win32-2.0 -limm32
-lshell32 -luuid -latk-1.0 -lpangocairo-1.0 -lgio-2.0 -ldnsapi -lgdk_pixbuf-2.0
-lpangoft2-1.0 -lpangowin32-1.0 -lpango-1.0 -lm -lusp10 -lcairo -lmsimg32
-lgdi32 -lpixman-1 -lfontconfig -lexpat -lfreetype -lbz2 -ltiff -llzma -ljpeg
-lpng15 -lz -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lws2_32
-lole32 -lshlwapi -lpcre -lintl -liconv
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib -lgtksourceview-2.0 -lxml2
-lgtk-win32-2.0 -lwinspool -lcomctl32 -lcomdlg32 -lgdk-win32-2.0 -limm32
-lshell32 -luuid -latk-1.0 -lpangocairo-1.0 -lgio-2.0 -ldnsapi -lgdk_pixbuf-2.0
-lpangoft2-1.0 -lpangowin32-1.0 -lpango-1.0 -lm -lusp10 -lcairo -lmsimg32
-lgdi32 -lpixman-1 -lfontconfig -lexpat -lfreetype -lbz2 -ltiff -llzma -ljpeg
-lpng15 -lz -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lws2_32
-lole32 -lshlwapi -lpcre -lintl -liconv
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib -levview -levdocument
-lgtk-win32-2.0 -lwinspool -lcomctl32 -lcomdlg32 -lgdk-win32-2.0 -limm32
-lshell32 -luuid -latk-1.0 -lpangocairo-1.0 -lgio-2.0 -ldnsapi -lgdk_pixbuf-2.0
-lpangoft2-1.0 -lpangowin32-1.0 -lpango-1.0 -lm -lusp10 -lcairo -lmsimg32
-lgdi32 -lpixman-1 -lfontconfig -lexpat -lfreetype -lbz2 -ltiff -llzma -ljpeg
-lpng15 -lz -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lws2_32
-lole32 -lshlwapi -lpcre -lintl -liconv -D_HAVE_FLUIDSYNTH_
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib -lfluidsynth
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib -lportaudio -lwinmm -lm -ldsound
-lole32 -L/home/rshann/mxe/usr/i686-pc-mingw32/lib -laubio
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib -lfftw3 -lm -lportmidi
-D_HAVE_X11_
libtool: link: i686-pc-mingw32-g++ -g -O2 -o .libs/denemo.exe
denemo_types.o commands.o calculatepositions.o changenotehead.o
chordops.o clefdialog.o commandfuncs.o contexts.o draw.o
drawaccidentals.o drawclefs.o drawcursor.o drawkey.o drawdynamic.o
drawnotes.o drawselection.o drawstemdir.o drawtimesig.o drawtuplets.o
drawlyric.o dynamic.o drawfigure.o exportabc.o exportlilypond.o
articulations.o exportxml.o file.o hairpin.o help.o importxml.o
importmusicxml.o importmidi.o kbd-custom.o kbd-interface.o
keyresponses.o keysigdialog.o figure.o main.o measureops.o
moveviewport.o mousing.o barline.o view.o http.o mwidthdialog.o objops.o
exportmidi.o instrumentname.o external.o source.o sourceaudio.o
scorelayout.o playback.o drawfakechord.o fakechord.o playbackprops.o
prefdialog.o prefops.o processstaffname.o lyric.o scoreops.o
scoreprops.o selectops.o staffops.o staffpropdialog.o drawbarline.o
slurs.o timedialog.o tomeasuredialog.o tupletops.o utils.o graceops.o
runsilent.o drawgrace.o print.o texteditors.o binreloc.o bookmarks.o
parseinstruments.o keyboard.o pitchentry.o pitchrecog.o drawlilydir.o
lilydirectives.o displayanimation.o midi.o audiocapture.o screenshot.o
-D_HAVE_FLUIDSYNTH_ -D_HAVE_X11_
-L/home/rshann/mxe/usr/i686-pc-mingw32/lib ../libsmf/libsmf.a
libaudiobackend.a ../libsffile/libsffile.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libguile-srfi-srfi-1-v-3.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libguile-srfi-srfi-60-v-2.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/evince/3/backends/libpdfdocument.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpoppler.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpoppler-cpp.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpoppler-glib.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libguile.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libregex.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgmp.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libltdl.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libunistring.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/librsvg-2.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgsf-1.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libcroco-0.6.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libsndfile.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libFLAC.a -lm -lwsock32
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libvorbisenc.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libvorbis.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libogg.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgtksourceview-2.0.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libxml2.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libevview.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgailutil.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libevdocument.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgtk-win32-2.0.a -lwinspool
-lcomctl32 -lcomdlg32
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgdk-win32-2.0.a -limm32 -lshell32
-luuid /home/rshann/mxe/usr/i686-pc-mingw32/lib/libatk-1.0.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpangocairo-1.0.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgdk_pixbuf-2.0.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgio-2.0.a -ldnsapi
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpangoft2-1.0.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpangowin32-1.0.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpango-1.0.a -lusp10
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libcairo.a -lmsimg32 -lgdi32
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpixman-1.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libfontconfig.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libexpat.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libfreetype.a -lbz2
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libtiff.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/liblzma.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libjpeg.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpng15.a -lz
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgobject-2.0.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgmodule-2.0.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libgthread-2.0.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libglib-2.0.a -lws2_32 -lshlwapi
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libpcre.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libintl.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libiconv.a -lfluidsynth
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libportaudio.a -ldsound -lole32
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libaubio.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libfftw3f.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libsamplerate.a -lpthread
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libfftw3.a
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libportmidi.a -lwinmm
/home/rshann/mxe/usr/i686-pc-mingw32/lib/libevdocument.a(libevdocument_la-ev-module.o):
In function `ev_module_load':
/home/rshann/mxe/tmp-evince/evince-2.32.0/libdocument/ev-module.c:105:
undefined reference to `register_evince_backend'
[...]
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><
_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool