Lost my Widgets

Michael
2012-05-01
2012-12-06
  • Michael
    Michael
    2012-05-01

    I just installed v0.3 on my Wary Puppy system using the debian package. The
    puppy package manager shows wxWidgets-2.8.10-i486 as installed yet running GO
    gives the following error

    GrandOrgue: error while loading shared libraries: libwx_gtk2u_html-2.8.so.0:
    cannot open shared object file: No such file or directory

    And indeed the links are there but the *.0 files that they point to are not
    and pFind does not find them anywhere on the system...

    From /usr/lib...

    lrwxrwxrwx 1 root root 19 Aug 30 2009 libwx_base-2.8.so -> libwx_base-2.8.so.0
    lrwxrwxrwx 1 root root 23 Aug 30 2009 libwx_base_net-2.8.so ->
    libwx_base_net-2.8.so.0
    lrwxrwxrwx 1 root root 23 Aug 30 2009 libwx_base_xml-2.8.so ->
    libwx_base_xml-2.8.so.0
    lrwxrwxrwx 1 root root 23 Aug 30 2009 libwx_gtk2_adv-2.8.so ->
    libwx_gtk2_adv-2.8.so.0
    lrwxrwxrwx 1 root root 23 Aug 30 2009 libwx_gtk2_aui-2.8.so ->
    libwx_gtk2_aui-2.8.so.0
    lrwxrwxrwx 1 root root 24 Aug 30 2009 libwx_gtk2_core-2.8.so ->
    libwx_gtk2_core-2.8.so.0
    lrwxrwxrwx 1 root root 24 Aug 30 2009 libwx_gtk2_html-2.8.so ->
    libwx_gtk2_html-2.8.so.0
    lrwxrwxrwx 1 root root 22 Aug 30 2009 libwx_gtk2_qa-2.8.so ->
    libwx_gtk2_qa-2.8.so.0
    lrwxrwxrwx 1 root root 28 Aug 30 2009 libwx_gtk2_richtext-2.8.so ->
    libwx_gtk2_richtext-2.8.so.0
    lrwxrwxrwx 1 root root 23 Aug 30 2009 libwx_gtk2_xrc-2.8.so ->
    libwx_gtk2_xrc-2.8.so.0

    How can this be. How could I end up with just the links.

    Sorry if this should be obvious, it has been a few decades since I have done
    this sort of thing. :)

    mike

     
  • Martin Koegler
    Martin Koegler
    2012-05-01

    Looks like you only installed the development package.

    Just one question:
    Why don't you use a major linux distribution (eg. like Ubuntu, Debian,
    OpenSuSE)? They contain wxWidgets and their package managers takes care of
    handling all dependencies..

     
  • Michael
    Michael
    2012-05-01

    My computer is very elderly and so I have wary puppy full install to make the
    most of limited resources. I have an older Ubuntu on another partition so I
    may try that or worst case try running the PC version under wine.

    I have a G4 iMac that had a hard disk crash also and am going to try to get a
    Lubuntu live disk for it to try to salvage it. It has more memory so may try
    compiling it on that if I get it working.

    mike

     
  • Michael
    Michael
    2012-05-02

    Sigh... My old Ubuntu does not have wxWidgets and it is not in the standard
    repositories so I found the repository but I couldn't load from there because
    it used some kind of key and according to the instructions I found meant I
    needed to run a command called curl but apt couldn't find that either.

    Gave up on that for tonight and took a shot at wine. I downloaded jack and
    wxWidgets for windows and installed them. jackctl came up but couldn't start
    "Could not connect to JACK server as client. - Overall operation failed. -
    Unable to connect to server." Trying to start grandorgue also resulted in a
    "Serious Error" and had to close.

    Not a good night for me. Will pack it in for tonight. Maybe I will just have
    to stick to jOrgan until I get a better computer. May try again later when I
    am not so tired. :)

    mike

     
  • Michael
    Michael
    2012-05-02

    Well, I take that back. I did try one more thing. I uninstalled both
    GrandOrgue and wxWidgets and then reinstalled. The libs are there now but with
    a subtle difference. GO is looking for libwx_gtk2u_html-2.8.so.0 and what I
    have is libwx_gtk2_html-2.8.so.0 (no u after gtk2). Wrong version of
    wxWidgets???

    mike

     
  • Michael
    Michael
    2012-05-02

    Well, I went back to working on the Puppy install as it seems like the
    difficulties there are at least smaller bites. Each time I get an error
    message I search the web for the missing or incorrect lib. I got several of
    them fixed. The latest error is a missing routine in the libwx_baseu_-2.8.so.0
    library. It is missing WXU_2.8.10 so I used "strings" and "grep" to have a
    peek and sure enough it only has through 2.8.8 so it looks like a newer
    version is in order.

    For now I plan to continue in this process until I get tired or have success.
    ;) If I get the iMac up of course I will switch efforts to that platform. In
    either case I will keep you up to date in case anyone else is interested.

    mike

     
  • Martin Koegler
    Martin Koegler
    2012-05-02

    The "bloat" of new Linux distributions is their graphical environment - if you
    install and use a lightweight window manager (such as puppy linux uses), the
    resource requirements will drop.

     
  • Lars Palo
    Lars Palo
    2012-05-03

    I also recommend a newer Linux version. Presently my favourite is Xubuntu, but
    Lubuntu seems nice too. Both of them uses less resources than Ubuntu that in
    it's present state (with Unity) doesn't show the Panel menu, but they share
    the same repositories for additional packages and will require very little
    additional efforts to get GrandOrgue up and running.

    Kind regards

    Lars P

     
  • Michael
    Michael
    2012-11-29

    OK, I have spent the intervening time getting jOrgan up and running on a Powerbook that my brother gave me. It is 1.25GHz G4 with 1GB RAM running Lubuntu. I have been fairly successful due to the fantastic help of the folks on the JO forum but I believe I have reached the limits of performance that I can tweak out of it. CPU appears to be my limiting factor and I can get very useful results using Bruce Mile's eorg sound fonts as they are fairly light weight.

    I find that java is using most of the the CPU (not too surprising) so going on the theory that the java implementation (the only one apparently available for PPC Lubuntu) may not be the most efficient I thought it might be worth while to give another stab at GO. Being PPC compiling from source is my only option so I downloaded it (several months ago) and installed code blocks.

    I gave up after a few hours of trying to get it to quit failing due to the lack of a header file that was in fact clearly there. Never the less I think I shall take another run at it if there is any possibility that GO might be less CPU intensive.

    Any thoughts on the likelihood that GO will be less of a CPU hog?

    mike

     
    • Graham Goode
      Graham Goode
      2012-11-29

      Hi Mike,

      GrandOrgue can be process intensive if you're using the advanced
      features.... but if you're just using the plain simple settings then
      it should outperform Fluidsynth on a low spec computer.

      Please take a look at the GrandOrgue Linux Compile Wiki page:
      http://sourceforge.net/apps/mediawiki/ourorgan/index.php?title=Compiling_GrandOrgue_on_Linux

      This will help you setup your compile environment.

      Kind regards,
      GrahamG

       
  • Martin Koegler
    Martin Koegler
    2012-11-29

    CodeBlocks support has gone - we are using cmake since more than 1 year.

    Building GO on Ubuntu (regardless of the processor architecture) is simple:

    1) Install build-essential, fakeroot and subversion package.
    2) Get current GO sources from the SVN Repository:
    svn checkout svn://svn.code.sf.net/p/ourorgan/svn/trunk ourorgan-svn
    3)
    cd ourorgan-svn
    dpkg-buildpackage -rfakeroot

    The build may halt with an error, reporting packages that you have to install too. Do that and then restart the build.
    After the build finished, you have deb packages to install (dpgk -i grandorgue....deb).

    If a requested dependency is not available as binary package for PPC, grab the coressponding source package from the from the main Ubuntu distribution, extract it with
    dpkg-source -x .....dsc
    and build it with
    dpkg-buildpackage -rfakeroot

     
  • Michael
    Michael
    2012-11-29

    OK, looks like I need to download the new source. I did make some progress on the old code by putting in a couple of symlinks. I got all the way to the defs header where it complained that I needed to run wx-config to set the compile flags. Of course the man page was no help in that regard.

    I will check out the new source code and report back.

    mike

     
  • Michael
    Michael
    2012-11-30

    OK The Eclipse method didn't work but Martin's method did lead to an executable program. I was able to load Mockers (lots of invalid integer shortcut messages but otherwise OK. Didn't remember that the keyboards aren't inputs so I crashed it a couple of times by pressing keys when stops were pulled.

    I don't have my keyboard here at home so couldn't try with real keyboard and don't see a way to play a midi file like JO midis. I downloaded a jack midi virtual kbd but GO doesn't seem to see it.

    In any case we are well on the way.

    mike

     
    • Graham Goode
      Graham Goode
      2012-11-30

      Hi Mike,

      In GrandOrgue 0.3... the on-screen keyboards can be used for testing
      purposes. They are latching keys... so a mouse click will set a note to on,
      and the next mouse click on that note will set it to off.

      Glad to hear that you've made some progressing on getting it compiled and
      making some noises!

      On Friday, November 30, 2012, Michael wrote:

      OK The Eclipse method didn't work but Martin's method did lead to an
      executable program. I was able to load Mockers (lots of invalid integer
      shortcut messages but otherwise OK. Didn't remember that the keyboards
      aren't inputs so I crashed it a couple of times by pressing keys when stops
      were pulled.

      I don't have my keyboard here at home so couldn't try with real keyboard
      and don't see a way to play a midi file like JO midis. I downloaded a jack
      midi virtual kbd but GO doesn't seem to see it.

      In any case we are well on the way.

      mike

      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/ourorgan/discussion/962124/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/prefs/

       
  • Michael
    Michael
    2012-11-30

    Hmm... wonder why it was crashing then. Interestingly it only would crash when stops were pulled. Maybe something on the audio side is the problem. Maybe I will find out more with keyboards attached. Is there a log file where error messages can be found?

    mike

     
  • Martin Koegler
    Martin Koegler
    2012-11-30

    I would agree, that your crash seems to be related to sound generation.

    Could you please install the gdb packages and then enter in a terminal window:
    gdb /usr/bin/GrandOrgue
    run
    [ Now GO starts - try to reproduce the crash, then post the output of ]
    info threads
    bt
    x/i $pc
    info registers

     
  • Michael
    Michael
    2012-11-30

    Here is the output. It didn't crash this time but I presume it is because gdb caught the exception.

    mike

    (gdb) run
    Starting program: /home/mike/grandorgue/ourorgan-svn/obj-powerpc-linux-gnu/bin/GrandOrgue
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/powerpc-linux-gnu/libthread_db.so.1".
    [New Thread 0x483f52d0 (LWP 2063)]
    [Thread 0x483f52d0 (LWP 2063) exited]
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
    ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
    [New Thread 0x483f52d0 (LWP 2064)]
    [Thread 0x483f52d0 (LWP 2064) exited]
    [New Thread 0x50cae2d0 (LWP 2158)]
    [New Thread 0x514df2d0 (LWP 2159)]
    [Thread 0x514df2d0 (LWP 2159) exited]
    [Thread 0x50cae2d0 (LWP 2158) exited]
    [New Thread 0x514df2d0 (LWP 2172)]
    [New Thread 0x51e5f2d0 (LWP 2173)]

    Program received signal SIGSEGV, Segmentation fault.
    0x10070208 in fetch_add (m=std::memory_order_seq_cst, i=1, this=0x10070c2c)
    at /usr/include/c++/4.6/bits/atomic_0.h:394
    394 { return ATOMIC_MODIFY(this, +=, i, m); }
    (gdb)

     
  • Martin Koegler
    Martin Koegler
    2012-11-30

    The atomic builtins yield to an error. Could you please also run the information collection commands at this point in GDB:
    info threads
    bt
    x/i $pc
    info registers

    In src/grandorgue/GOLock.h, you could try replacing
    #if 0 / set to 1 to enable fallback code /
    with
    #if 1 / set to 1 to enable fallback code /

     
  • Michael
    Michael
    2012-12-01

    Hmm.. posted the results but they didn't show up. Will repost tomorrow as am out of time for tonight.

    mike

     
    • Michael
      Michael
      2012-12-01

      Lets try it as an attachment instead.

      mike

       
    • Michael
      Michael
      2012-12-01

      Well that didn't work either. One more try...

      Program received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x4d4ef2d0 (LWP 1675)]
      __fill_a<float*, float> (__last=0xe21c3e20, __first=<optimized out>, __value=<optimized out>) at /usr/include/c++/4.6/bits/stl_algobase.h:687
      687     *__first = __tmp;
      (gdb) info threads
        Id   Target Id         Frame 
        12   Thread 0x565ff2d0 (LWP 1773) "GrandOrgue" 0x0f493d3c in poll () from /lib/powerpc-linux-gnu/libc.so.6
      * 10   Thread 0x4d4ef2d0 (LWP 1675) "GrandOrgue" __fill_a<float*, float> (__last=0xe21c3e20, __first=<optimized out>, __value=<optimized out>)
          at /usr/include/c++/4.6/bits/stl_algobase.h:687
        9    Thread 0x484752d0 (LWP 1674) "GrandOrgue" 0x0f8f6050 in read () from /lib/powerpc-linux-gnu/libpthread.so.0
        8    Thread 0x483f52d0 (LWP 1673) "GrandOrgue" 0x0f8f21d8 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/powerpc-linux-gnu/libpthread.so.0
        1    Thread 0x48042690 (LWP 1656) "GrandOrgue" 0x10070208 in fetch_add (__m=std::memory_order_seq_cst, __i=1, this=0x10070c2c)
          at /usr/include/c++/4.6/bits/atomic_0.h:394
      (gdb) bt
      #0  __fill_a<float*, float> (__last=0xe21c3e20, __first=<optimized out>, __value=<optimized out>) at /usr/include/c++/4.6/bits/stl_algobase.h:687
      #1  fill<float*, float> (__last=0xe21c3e20, __first=0x1064ae20, __value=<optimized out>) at /usr/include/c++/4.6/bits/stl_algobase.h:722
      #2  GOSoundEngine::GetAudioOutput (this=0x1031854c, output_buffer=0x1064ae20, n_frames=1024, audio_output=0)
      at /home/mike/grandorgue/ourorgan-svn/src/grandorgue/GOSoundEngine.cpp:613
      #3  0x100ed384 in GOrgueSound::AudioCallbackLocal (this=0x10318360, device=0x104de880, output_buffer=0x1064ae20, n_frames=1024, stream_time=0)
          at /home/mike/grandorgue/ourorgan-svn/src/grandorgue/GOrgueSound.cpp:577
      #4  0x100eda78 in GOrgueSound::PaAudioCallback (input=<optimized out>, output=<optimized out>, frameCount=1024, timeInfo=<optimized out>, 
          statusFlags=<optimized out>, userData=<optimized out>) at /home/mike/grandorgue/ourorgan-svn/src/grandorgue/GOrgueSound.cpp:692
      #5  0x1019142c in AdaptingOutputOnlyProcess (bp=0x10661e30, streamCallbackResult=0x10661f3c, hostOutputChannels=0x1064a010, 
          framesToProcess=<optimized out>) at /home/mike/grandorgue/ourorgan-svn/src/portaudio/common/pa_process.c:1113
      #6  0x10192d78 in PaUtil_EndBufferProcessing (bp=0x10661e30, streamCallbackResult=0x10661f3c)
          at /home/mike/grandorgue/ourorgan-svn/src/portaudio/common/pa_process.c:1636
      #7  0x1017b9e8 in RealProcess (frames=<optimized out>, stream=0x10661df8) at /home/mike/grandorgue/ourorgan-svn/src/portaudio/hostapi/jack/pa_jack.c:1405
      #8  JackCallback (frames=1024, userData=<optimized out>) at /home/mike/grandorgue/ourorgan-svn/src/portaudio/hostapi/jack/pa_jack.c:1547
      #9  0x0f88b828 in ?? () from /usr/lib/powerpc-linux-gnu/libjack.so.0
      #10 0x0f8a25b8 in ?? () from /usr/lib/powerpc-linux-gnu/libjack.so.0
      #11 0x0f8ed864 in start_thread () from /lib/powerpc-linux-gnu/libpthread.so.0
      #12 0x0f4a29c4 in clone () from /lib/powerpc-linux-gnu/libc.so.6
      (gdb) x/i $pc
      => 0x1007347c <GOSoundEngine::GetAudioOutput(float*, unsigned int, unsigned int)+272>:  stw     r10,0(r11)
      (gdb) info registers
      r0             0x7c7d1b79   2088573817
      r1             0x4d4ec8e0   1297008864
      r2             0x4d4f6770   1297049456
      r3             0xf1f46de4   4059327972
      r4             0xd1b79000   3518468096
      r5             0x400    1024
      r6             0x0  0
      r7             0x100eda78   269408888
      r8             0x7  7
      r9             0xe21c3e20   3793501728
      r10            0x0  0
      r11            0x14d44000   349454336
      r12            0x4  4
      r13            0x1029b2d0   271168208
      r14            0x0  0
      r15            0x0  0
      r16            0x4d470000   1296498688
      r17            0x103a4f1c   272256796
      r18            0x103a4f08   272256776
      r19            0x1  1
      r20            0x0  0
      r21            0x0  0
      r22            0x0  0
      r23            0xf8b1f20    260775712
      r24            0x1064ae20   275033632
      r25            0x400    1024
      r26            0xf75b77d    259372925
      r27            0x104de8a8   273541288
      r28            0xf442980    256125312
      r29            0x400    1024
      r30            0xf442980    256125312
      r31            0x1031854c   271680844
      pc             0x1007347c   0x1007347c <GOSoundEngine::GetAudioOutput(float*, unsigned int, unsigned int)+272>
      ---Type <return> to continue, or q <return> to quit---
      msr            0xd932   55602
      cr             0x48002484   1207968900
      lr             0x100ed384   0x100ed384 <GOrgueSound::AudioCallbackLocal(GOrgueSound::GO_SOUND_OUTPUT*, float*, unsigned int, double)+192>
      ctr            0xf8f0cf0    261033200
      xer            0x0  0
      orig_r3        0x48032000   1208164352
      trap           0x300    768
      (gdb)
      
       
  • Michael
    Michael
    2012-12-02

    I don't know what that fallback code is but it worked. I can now get sound either with or without Qjackctk and zita-rev1 reverb. It crashes part way through when I try to create a cache but I can deal with that later if I need to.

    Next step is testing with keyboards and seeing if there is a performance advantage. Will report back in a new thread.

    Thanks again Martin and all the others who have been so helpful.

    mike

     
  • Martin Koegler
    Martin Koegler
    2012-12-02

    There is something really strange going on - I currently have no clue, what exactly is happening.

    Could you please report the OS version that you are using? And also the output of "gcc --version" and "uname -a"?

     
  • Michael
    Michael
    2012-12-02

    Sure...

    mike@mike-laptop:~$ gcc --version
    gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
    Copyright (C) 2011 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    mike@mike-laptop:~$ uname -a
    Linux mike-laptop 3.2.0-26-powerpc-smp #41-Ubuntu SMP Thu Jun 14 23:09:50  UTC 2012 ppc ppc ppc GNU/Linux
    mike@mike-laptop:~$
    

    System profiler returns the above information also along with "Distibution Ubuntu 12.04 LTS

    I had an opportunity to play with it a little bit today using a keyboard. I am using the Mocker's on both JO and GO for comparison. With standard settings it seems to be running out of processor at similar points but I haven't done any careful comparison yet so I can't say much for sure. It does seem to have a pretty harsh reaction to running out of processor when it does, like a bad cell phone connection. I have not played with quality settings so it may be possible to compromise that somewhat to gain an advantage.

    I notice that the audio instance from GO in Qjackctl is portaudio. I have Qjackctl configured to suspend portaudio when using JO do I need to change this when using GO?

    The melody and bass couplers are very useful (I use them in JO all the time) but I find that as I change notes (say the bottom note when using the bass coupler) I have to strike it twice to get it to sound or re-key some other note in the chord after moving in order to get it to sound.

    I Played with the rank tuning function as well. This is fantastic! I can tune a rank off 3 or 4 cents to get a Celeste on an organ that otherwise doesn't have one. So in theory I could add an additional flute or stopped diapason borrowed from another disposition and tune it off to add an Flute Celeste or Unda Maris.

    Thanks again.

    mike

     
  • Michael
    Michael
    2012-12-06

    I also seem to be seeing some odd behavior with the combination pistons but that may be due to my misunderstanding their proper use. I am off work tomorrow so I should be able to get a fair amount of bench time to check things out further.

    mike