denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] A useful looking link for cross compiling... Re: gtk-


From: Jeremiah Benham
Subject: Re: [Denemo-devel] A useful looking link for cross compiling... Re: gtk-app-devel-list Digest, Vol 105, Issue 20
Date: Mon, 11 Feb 2013 00:12:56 -0600



On Sun, Feb 10, 2013 at 9:51 AM, Richard Shann <address@hidden> wrote:
On Sat, 2013-02-09 at 23:01 -0600, Jeremiah Benham wrote:
> Maybe I should set autoconf to do:
> If (check to see if it finds the header and .a file)
>     Include it in, add .a to LDADD as if it was another object
> Else
>     Link guile as normal
>
> Jeremiah

Well I'm not familiar with that stuff - I could imagine a configure flag
that would say --static-link-guile that would then link Denemo to the
libsrfi-1... library that mxe generates.

In my system I see:
i686-pc-mingw32/lib/libguile-srfi-srfi-13-14-v-3.a  i686-pc-mingw32/lib/libguile-srfi-srfi-4-v-3.a
i686-pc-mingw32/lib/libguile-srfi-srfi-1-v-3.a      i686-pc-mingw32/lib/libguile-srfi-srfi-60-v-2.a
which one do I need? ..or do I need all four to be statically linked in. I feel this should be the job of pkg-config or guile-config or something.

Jeremiah



I am still battling with getting guile working properly on windows
though - the srfi issues seem to be fixed with the latest email from
Mark Weaver on address@hidden but, strangely the make-regexp
primitive is missing. I'll check his suggested fix into git. It requires
a patch to the srfi/srfi-1xxx and 60 scripts in guile as well. With
these Denemo is booting without problematic error messages. But the
symbol make-regexp is not defined which AFAIK is built-in to scheme.


I have tried executing the test-guile.exe which
make guile
builds, but it does not run, not finding ice-9/boot-9.scm in the load
path. I tried setting that environment variable, but without success.

All very frustrating, but both guile-user and mxe mailing lists seem
very helpful.

Hah! as I write this Mark Weaver has emailed saying:

> However the symbol make-regexp is undefined.

This is an unrelated problem, namely that './configure' is apparently
unable to find a suitable POSIX regexp library.  I think you'll find
that HAVE_REGCOMP is not defined in 'config.h', in which case
'make-regexp' will not be available.  Search for 'regex' and 'rxposix'
in 'config.log' for details on what went wrong.

>From which it seems we may need more help from mxe guys ...
I'll check the fixes for srfi stuff in now...


Richard


>
> On Feb 9, 2013 5:26 AM, "Richard Shann" <address@hidden>
> wrote:
>         With the help of the guile list I have linked denemo to the
>         libguile-srfi stuff - I literally hacked the full path to the
>         srfi
>         library into the Makefile of denemo as I don't know how to
>         tell the
>         configure.ac to link to it. (So I had to use the trick of
>         disabling the
>         checksum count in mxe's Makefile so it used the hacked tar.gz
>         without
>         downloading it again).
>         This gave a denemo which correctly loads srfi-1 (it requires a
>         patch to
>         guile so that srfi/srfi-1.scm does not try and load the
>         extension, as
>         detailed on the guile m/l).
>         There is still some problems with the guile loading stuff,
>         however. I
>         thought I would try to tidy up by moving the tarball on to be
>         the latest
>         git master. But copying in the git master tarball and removing
>         the
>         patches for denemo gave me an error message on make denemo:
>
>         make[3]: *** No rule to make target
>         `../../denemo/libsmf/smf.c', needed
>         by `libsmf_a-smf.o'.  Stop.
>         make[3]: Leaving directory
>         `/home/rshann/mxe/tmp-denemo/denemo-1.0.0~rc9/libsmf'
>         make[2]: *** [install-recursive] Error 1
>         make[2]: Leaving directory
>         `/home/rshann/mxe/tmp-denemo/denemo-1.0.0~rc9'
>
>         this despite smf.c being present:
>
>         ~/mxe/tmp-denemo/denemo-1.0.0~rc9/libsmf$ ls smf.c
>         smf.c
>
>         it must be the ../../denemo bit which is wrong, should
>         be ../../tmp-denemo or something.
>
>         Any ideas? (I am expecting this to fail to link of course,
>         until I hack
>         in the libguile-srfi1 library...)
>
>         Richard
>
>
>
>         On Thu, 2013-02-07 at 09:54 -0600, Jeremiah Benham wrote:
>         > Should it be loading one of these?
>         > find ./ -name 'libguile-srfi-srfi*.*'
>         > ./usr/i686-pc-mingw32/lib/libguile-srfi-srfi-13-14-v-3.a
>         > ./usr/i686-pc-mingw32/lib/libguile-srfi-srfi-60-v-2.la
>         > ./usr/i686-pc-mingw32/lib/libguile-srfi-srfi-60-v-2.a
>         > ./usr/i686-pc-mingw32/lib/libguile-srfi-srfi-4-v-3.a
>         > ./usr/i686-pc-mingw32/lib/libguile-srfi-srfi-4-v-3.la
>         > ./usr/i686-pc-mingw32/lib/libguile-srfi-srfi-1-v-3.a
>         > ./usr/i686-pc-mingw32/lib/libguile-srfi-srfi-13-14-v-3.la
>         > ./usr/i686-pc-mingw32/lib/libguile-srfi-srfi-1-v-3.la
>         >
>         > Do we need to set the guile environment variables?
>         > Jeremiah
>         >
>         >
>         > On Thu, Feb 7, 2013 at 4:39 AM, Richard Shann
>         > <address@hidden> wrote:
>         >         I copied the denemo gdb and evince stuff into bin,
>         usr, share,
>         >         etc and
>         >         the libfluidsynth.dll into bin and then executed
>         directly from
>         >         bin using
>         >         .\gdb.exe denemo.exe
>         >         It segfaulted trying to load the standard guile
>         module srfi_1
>         >         I don't
>         >         have much idea why I confess. The GUILE_LOAD_PATH
>         looks good
>         >         (as
>         >         reported by denemo when it starts up). Here (below)
>         is the
>         >         output to the
>         >         console as Denemo runs. Anyone who can give an
>         insight into
>         >         what needs
>         >         adjusting please say.
>         >         Richard
>         >         D:\bin> .\gdb.exe denemo.exe
>         >         GNU gdb (GDB) 7.4
>         >         Copyright (C) 2012 Free Software Foundation, Inc.
>         >         License GPLv3+: GNU GPL version 3 or later
>         >         <http://gnu.org/licenses/gpl.html>
>         >         This is free software: you are free to change and
>         redistribute
>         >         it.
>         >         There is NO WARRANTY, to th
>         >
>         >
>         >         e extent permitted by law.  Type "show
>         >         copying"
>         >         and "show warranty" for details.
>         >         This GDB was configured as "i686-pc-mingw32".
>         >         For bug reporting instructions, please see:
>         >         <http://www.gnu.org/software/gdb/bugs/>...
>         >         Reading symbols from D:\bin/denemo.exe...done.
>         >         (gdb) run
>         >         Starting program: D:\bin/denemo.exe
>         >         [New Thread 3216.0x10b8]
>         >         Setting GUILE_LOAD_PATH=D:\share\guile;D:\share
>         \guile\1.8;D:
>         >         \share
>         >         \lilypond\current\scm
>         >         Setting PANGO_PREFIX=D:
>         >         Setting GTK_PREFIX=D:
>         >         Setting FONTCONFIG_PATH=D:\etc\fonts
>         >         Setting FONTCONFIG_FILE=D:\etc\fonts\fonts.conf
>         >         PATH set to C:\Windows\system32\WindowsPowerShell
>         \v1.0\;;C:
>         >         \Program
>         >         Files\Denemo\usr\bin;D:\bin;D:\lib
>         >         LILYPOND_DATA_PATH will be D:\share\lilypond\current
>         if not
>         >         already
>         >         setGUILE_LOAD_PATH is D:\share\guile;D:\share\guile\
>         >         1.8;D:\share\lilypond\current\scm;D:\share\denemo
>         >         rootdir=D:
>         >         bindir=D:\bin
>         >         rootdir=D:
>         >         datadir=D:\share\denemo
>         >
>         >         systemwide == D:\etc\denemo\denemo.conf
>         >
>         >         xmlsource == D:\etc\denemo\denemo.conf
>         >
>         >         xmlsource == C:\Users\Guest\.denemo-1.0.0~rc9
>         \denemorcV2
>         >
>         >         GNU Denemo, a free and open music notation editor
>         >         (c) 1999-2005, 2009 Matthew Hiller, Adam Tee, and
>         others,
>         >         2010-2011
>         >         Richard Shann, Jeremiah Benham, Nils Gey and others.
>         >
>         >
>         >
>         >         This program is provided with absolutely NO
>         WARRANTY; see
>         >         the file COPYING for details.
>         >
>         >         This software may be redistributed and modified
>         under the
>         >         terms of the GNU General Public License; again, see
>         the file
>         >         COPYING for details.
>         >
>         >         audio driver is 'portaudio' 0
>         >         initializing PortAudio backend
>         >         [New Thread 3216.0x860]
>         >         [New Thread 3216.0x1464]
>         >         [New Thread 3216.0x10a8]
>         >         [New Thread 3216.0x175c]
>         >         opening output device 'Windows DirectSound: Primary
>         Sound
>         >         Driver'
>         >         [New Thread 3216.0x14a0]
>         >
>         >         ** (denemo.exe:3216): WARNING **:
>         >         The default soundfont has been loaded
>         >
>         >         [New Thread 3216.0x10bc]
>         >         [New Thread 3216.0x1618]
>         >         [New Thread 3216.0x608]
>         >         [New Thread 3216.0x3f8]
>         >         MIDI driver is 'portmidi'
>         >         initializing PortMidi backend
>         >         registered pm_exit with atexit()
>         >
>         >         ** (denemo.exe:3216): WARNING **: no input device
>         >
>         >         destroying PortMidi backend
>         >         pm_winmm_term called
>         >         pm_winmm_term exiting
>         >
>         >         ** (denemo.exe:3216): WARNING **: initializing MIDI
>         backend
>         >         'portmidi'
>         >         failed, falling back to dummy
>         >         initializing dummy MIDI backend
>         >         [New Thread 3216.0x17bc]
>         >         [New Thread 3216.0xf98]
>         >         Denemo icon not used
>         >         (denemo.exe:3216): GLib-CRITICAL **:
>         g_utf8_to_utf16:
>         >         assertion `str !=
>         >         NULL' failed
>         >         recent (null)
>         >         Version 1_0_0_Win
>         >         Program received signal SIGSEGV, Segmentation fault.
>         >         0x6bfacc2f in scm_cell () from C:\Program Files
>         \Denemo\usr\bin
>         >         \libguile-17.dll
>         >         (gdb) where
>         >         #0  0x6bfacc2f in scm_cell () from C:\Program Files
>         \Denemo\usr
>         >         \bin
>         >         \libguile-17.dll
>         >         #1  0x6bfc2489 in scm_c_make_subr () from C:\Program
>         Files
>         >         \Denemo\usr
>         >         \bin\libguile-17.dll
>         >         #2  0x6bfa8ee6 in create_gsubr () from C:\Program
>         Files\Denemo
>         >         \usr\bin
>         >         \libguile-17.dll
>         >         #3  0x63f81237 in scm_init_srfi_1 () from C:\Program
>         Files
>         >         \Denemo\usr
>         >         \bin\libguile-srfi-srfi-1-v-3-3.dll
>         >         #4  0x0057d59d in scm_dynamic_call ()
>         >         #5  0x0058c7ef in load_extension ()
>         >         #6  0x0058c83a in scm_load_extension ()
>         >         #7  0x005310e0 in ceval ()
>         >         #8  0x0053413b in scm_i_eval_x ()
>         >         #9  0x00534284 in scm_primitive_eval_x ()
>         >         #10 0x00522d18 in scm_primitive_load ()
>         >         #11 0x00530b43 in ceval ()
>         >         #12 0x00532713 in scm_apply ()
>         >         #13 0x00531bb9 in scm_call_0 ()
>         >         #14 0x0054dd61 in scm_dynamic_wind ()
>         >         #15 0x0053160f in ceval ()
>         >         #16 0x0052db58 in ceval ()
>         >         #17 0x00532713 in scm_apply ()
>         >         #18 0x00531bb9 in scm_call_0 ()
>         >         #19 0x00542635 in apply_thunk ()
>         >         #20 0x005427e0 in scm_c_with_fluid ()
>         >         #21 0x005427af in scm_with_fluid ()
>         >         #22 0x0053160f in ceval ()
>         >         #23 0x00532713 in scm_apply ()
>         >         #24 0x00531bb9 in scm_call_0 ()
>         >         #25 0x0054dd61 in scm_dynamic_wind ()
>         >         #26 0x0053160f in ceval ()
>         >         #27 0x0052db58 in ceval ()
>         >         #28 0x0052eff0 in ceval ()
>         >         #29 0x0052db58 in ceval ()
>         >         #30 0x0052eea3 in ceval ()
>         >         #31 0x0052eff0 in ceval ()
>         >         #32 0x0052d66b in scm_eval_body ()
>         >         #33 0x00532dce in call_closure_1 ()
>         >         #34 0x00533399 in scm_map ()
>         >         #35 0x00531130 in ceval ()
>         >         #36 0x0052eea3 in ceval ()
>         >         #37 0x0052d989 in ceval ()
>         >         #38 0x0053413b in scm_i_eval_x ()
>         >         #39 0x00534284 in scm_primitive_eval_x ()
>         >         #40 0x00522d18 in scm_primitive_load ()
>         >         #41 0x005239a8 in scm_c_catch ()
>         >         #42 0x00523a7c in scm_internal_catch ()
>         >         #43 0x0049a3ee in eval_file_with_catch
>         >         (address@hidden "D:\\share\
>         \denemo\\actions
>         >         \
>         >         \denemo.scm")
>         >             at view.c:175
>         >         #44 0x0049a4b8 in load_scheme_init () at view.c:4799
>         >         #45 0x004b1620 in inner_main (closure=0x0, argc=1,
>         >         argv=0x372b68) at
>         >         view.c:6098
>         >         #46 0x00509be1 in invoke_main_func ()
>         >         #47 0x0054bb79 in c_body ()
>         >         #48 0x005239a8 in scm_c_catch ()
>         >         #49 0x0054bb3a in scm_i_with_continuation_barrier ()
>         >         #50 0x0054bbe7 in scm_c_with_continuation_barrier ()
>         >         #51 0x0053bd21 in scm_i_with_guile_and_parent ()
>         >         #52 0x0053bcf2 in scm_with_guile ()
>         >         #53 0x00509b6f in scm_boot_guile ()
>         >         #54 0x00e2c9ed in main (argc=1, argv=0x372b68) at
>         main.c:464
>         >
>         >
>         >
>         >         On Thu, 2013-02-07 at 09:13 +0000, Richard Shann
>         wrote:
>         >         > On Thu, 2013-02-07 at 00:26 -0600, Jeremiah Benham
>         wrote:
>         >         > > I was able to get denemo to launch. I made sure
>         that I put
>         >         denemo.exe
>         >         > > paired with the ../share/guile directory. Then I
>         had to
>         >         comment out
>         >         > > load_scheme_init() in view.c. For some reason
>         the is crash
>         >         is going on
>         >         > > in there.
>         >         > The load_scheme_init() problem is because as well
>         as
>         >         share/guile we need
>         >         > share/denemo so that load_scheme_init() can get
>         >         actions/denemo.scm. I
>         >         > also installed share/fonts/truetype/denemo
>         >         > I think we then need some evince backends as
>         well...
>         >         >
>         >         > Richard
>         >         >
>         >         >
>         >
>         >
>         >
>         >
>
>




reply via email to

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