denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] The missing regex in mxe build


From: Jeremiah Benham
Subject: Re: [Denemo-devel] The missing regex in mxe build
Date: Wed, 20 Feb 2013 23:55:45 -0600

I have compiled evince using your ev-module file. I am attaching the files. I hope it helps.

Jeremiah

On Wed, Feb 20, 2013 at 5:30 AM, Richard Shann <address@hidden> wrote:
On Tue, 2013-02-19 at 13:00 -0600, Jeremiah Benham wrote:
> In git, I pushed a change to configure.ac that seems to fix the
> portmidi issue of needing --disable-portmidi.

Great! I have got stuck now with libtool. I have given the set of
libraries in denemo_LDADD which should link.

denemo_LDADD = $(INTLLIBS) $(SMF_LDD) 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

These turn up ok in the line running libtool but when libtool then runs
the linker it has placed libpdfdocument.a before libevdocument.a so the
register_evince_backend symbol is not resolved.

Here is the output of the log (I have put a blank line between the
invocation of ./bin/bash ../libtool and the output of libtool itself
which shows that it has re-ordered the libraries to disastrous effect):
...
/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'
collect2: error: ld returned 1 exit status

I can only find documentation for the latest version of libtool (with
indadequate man pages for the installed version).
Anyone know where libtool gurus might hang out?

Richard


>
> Jeremiah
>
> On Tue, Feb 19, 2013 at 8:51 AM, Jeremiah Benham
> <address@hidden> wrote:
>
>
>         On Tue, Feb 19, 2013 at 3:05 AM, Richard Shann
>         <address@hidden> wrote:
>                 On Mon, 2013-02-18 at 19:10 +0000, Richard Shann
>                 wrote:
>                 >
>                 > Yes, I patched evince - then tried linked denemo
>                 with it and the pdf
>                 > backend. It fails because auto-tools has chosen to
>                 link with the C
>                 > library while the libpdfdocument.a requires C++. I
>                 am currently trying
>                 > to link to the C++ libraries. Then it looks like
>                 there is also cairo
>                 > stuff unresolved...
>                 >
>
>
>                 I found a way to link using the g++ libraries, but it
>                 requires going
>                 back to the Makefile.am stage. You put
>                 nodist_EXTRA_denemo_SOURCES = dummy.cxx
>                 into Makefile.am in the src directory, and this causes
>                 it to use g++ for
>                 compiling the src files and hence links in the c++
>                 libraries.
>                 I think I have this working with the git master
>                 branch.
>                 *BUT* whenever I generate a tarball from git master
>                 (using make dist) I
>                 get something which won't work inside mxe, this time I
>                 get
>
>                 make[3]: *** No rule to make target
>                 `../../denemo/libsmf/smf.c', needed
>
>         This looks like you are not in the denemo directory:
>         `../../denemo/libsmf/smf.c',
>         This is probably why it is failing. This is my script for
>         creating the tarball:
>         rm -rf denemo
>         git clone -b master git://git.savannah.gnu.org/denemo.git
>         cd denemo
>         ./autogen.sh
>         ./configure --disable-portmidi
>         make dist
>
>
>         Note I have to ./configure with --disable-portmidi. I don't
>         know how to get --enable-portmidi to work. I don't know why
>         that is not working. I will spend a little more time on it
>         later. Portmidi does not have a .pc file so pkg-config can't
>         get the linking and compiler/header info. My portmidi that I
>         modified and used with the cross compiler does install a .pc
>         files. I don't change denemo's configure.ac to use it though
>         because it is very unlikely that distros are going to use my
>         repackaged portmidi. After some googling I see that other
>         projects have done something similar. Maybe portmidi upstream
>         would accept a patch. Then we would have to wait until the
>         patch's get in to the portmidi that is distributed by all the
>         distros. I will look at 0.9.6 configure.in to see if I
>         accidentally changed something.
>
>         Jeremiah
>
>                 by `libsmf_a-smf.o'.  Stop
>
>                 before I was getting something similar with portaudio,
>                 or portmidi or
>                 some such.
>
>                 So, question:
>                 How are you generating the release candidate tarballs
>                 that appear on
>                 denemo.org/downloads?
>
>                 Without being able to create a tarball myself that
>                 will build with mxe I
>                 can't go back to the Makefile.am stage (as the tarball
>                 has that step
>                 already done).
>
>                 Richard
>
>
>
>



Attachment: evince.mk
Description: Binary data

Attachment: evince-1-poppler-backend-api-fix.patch
Description: Binary data

Attachment: evince-2-main-variables.patch
Description: Binary data

Attachment: evince-3-ev-module.patch
Description: Binary data

Attachment: evince-4-Makefile.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]