Results 1 to 5 of 5

Thread: FOMUS 0.1.18 installation

  1. #1
    Join Date
    Nov 2013
    Beans
    11

    FOMUS 0.1.18 installation

    Hi everyone,

    Based on my own problems with this issue I wanted to explain here the minor patches that I needed to do, in order to get FOMUS 0.1.18 gcc-compiling and working on my Ubuntu 14.04-64bit (it compiles fine with sbcl by the way, also tested on my system).
    I refer here the most related post that I found, 2012 by Mr. López-Lezcano,
    http://sourceforge.net/p/fomus/mailm...sage/29471486/ he got it working by getting another svn versions, and with Fedora.

    So far I didn't find on the web a solution by tweaking these sources, so I hope that this post is by any means helpful.
    II'll try to refer them precisely but if you follow them and still get some problems drop a comment, I will for sure then remember if I forgot something

    First of all you need to download the FOMUS sources and the and put them anywhere, let's say /path/to/fomus
    here the sources
    http://sourceforge.net/projects/fomu...ar.gz/download

    The Boost libraries are required. Here how to get them:
    http://askubuntu.com/questions/16805...ment-libraries
    Lilypond is also strongly suggested
    Code:
    sudo apt-get install lilypond
    Now that we have the prerequisites, let's edit some files:

    Code:
    gedit /path/to/fomus/src/lib/mods.h
    change line 217 for:
    Code:
    void* getdata(FOMUS f) const {return this->initerrwrap(T::newdata(f));}
    save and exit

    Code:
    gedit /path/to/fomus/src/lib/vars.cc
    make the following changes: lines 461 til 478, change the iterating value i for (for example) w. You can copy the following chunk:
    Code:
          rat w(miv.isnull() ? std::numeric_limits<fint>::min() + 1 : numtorat(miv));
          rat o(ocv.isnull() ? std::numeric_limits<fint>::min() + 1 : numtorat(ocv));
          user.push_back(new userkeysigent(m, a, w, o));
          if (m.numerator() == std::numeric_limits<fint>::min() + 1) return false; 
          if (a.numerator() == std::numeric_limits<fint>::min() + 1) a = 0; // must have at least these two things
          if (w.numerator() == std::numeric_limits<fint>::min() + 1) w = 0; // must have at least these two things
          if (o.numerator() != std::numeric_limits<fint>::min() + 1) { // got an octave
        rat x0(o + m);
        if (x0.denominator() != 1 || isblack(x0.numerator())) continue; // better to skip it 
        assert(todiatonic(x0.numerator()) >= 0 && todiatonic(x0.numerator()) < 75);
        sig[todiatonic(x0.numerator())] = std::pair<rat, rat>(a, w);
          } else {
        if (m.denominator() != 1 || isblack(m.numerator())) continue; // better to skip it 
        for (int x = todiatonic(m.numerator()) % 7; x < 75; x += 7) sig[x] = std::pair<rat, rat>(a, w);
          }
        }
        return true;
      }
    and then save and exit. So far with the patching. Now calling ./configure with the actual path of the c++ Boost libraries should work fine:
    Code:
    cd /path/to/fomus
    ./configure --prefix=/usr --with-boost-libdir=/usr/lib/x86_64-linux-gnu/

    (EDIT: for 32-bit systems, the boost libs may be in /usr/lib/i386-linux-gnu
    )

    and then installing fomus in /usr/local, the libraries in /usr/share/fomus, and the binary file as /usr/bin/fomus, should be a reality!
    Code:
    make
    sudo make install
    a little terminal testing can confirm it:
    http://fomus.sourceforge.net/doc.html/Input.html#Input

    Code:
    fomus -o /tmp/test.ly /usr/local/fomus/doc/ex001.fms 
    lilypond /tmp/test.ly
    gnome-open /tmp/test.pdf
    If you can see the theme of your next fugue congratulations! fomus is working on your system
    Now I only need to know (and that's not so off-topic as it seems)... how to make common music 3.9 find it! has anybody idea?
    here is the thread
    http://ubuntuforums.org/showthread.php?t=2224099
    should I link the libraries or the installation path?
    where and how should I refer the link?

    Best regards,
    Andres
    Last edited by fr-andres; May 26th, 2014 at 06:42 PM. Reason: labeling code for readability

  2. #2
    Join Date
    Nov 2013
    Beans
    11

    Re: FOMUS 0.1.18 installation

    So, my FOMUS 0.1.18-alpha is now running perfectly through Grace 3.9.
    Here the solution, thanks to Rick Taube and steeldrive:
    http://ubuntuforums.org/showthread.php?t=2224099

    Cheers!!
    Andres

  3. #3
    Join Date
    May 2014
    Beans
    4

    Re: FOMUS 0.1.18 installation

    Thank you thank you thank you @Andres!

    I have had enormous difficulties trying to get started with cm, fomus, lilypond and boost--especially trying to work with homebrew and compiling on a Mac.

    I switched over to the Ubuntu side here and had similar problems, but following the steps you outlined here exactly (and digging into the links you also provided) got me to a working FOMUS/lilypond install.

    Now I just have to build common music/grace from source, and I expect I will be taking a look at your other related posts about that!

    Thanks again,
    Cicero

  4. #4
    Join Date
    May 2014
    Beans
    4

    Re: FOMUS 0.1.18 installation

    I still got the errors that Andres mentions here: http://ubuntuforums.org/showthread.p...5#post13023795

    Code:
    /usr/bin/ld: cannot find -lsndlib
    and

    Code:
    /usr/bin/ld: cannot find -lgsl
    /usr/bin/ld: cannot find -lgslcblas
    The solutions he describes for all of these errors worked for me, on 14.04.

    Thanks again, Andres!

  5. #5
    Join Date
    Nov 2013
    Beans
    11

    Re: FOMUS 0.1.18 installation

    Youre welcome!
    Im happy that the thread worked to you. This kind of issues arise when compilling with different systems and working with alpha versions, but thats ok when you are on the bleeding edge it is indeed an amazing software and its worth it definitely.
    But remember that with great power comes great responsibility!! haha have fun

    Cheers,
    Andres

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •