Code Monkey home page Code Monkey logo

Comments (10)

magnetophon avatar magnetophon commented on August 24, 2024 1

I did a WIP PR on the latest faust release.
It's partially working, but now I'm stuck.
Details on the output of each script are in the PR.
Any guidance would be much appreciated!

from faust.

bluenote10 avatar bluenote10 commented on August 24, 2024 1

It looks like a lot of improvements have been made on this topic, and in fact I'm now using a prefix installation without any problems. I haven't tested all scripts, but probably it is good enough state to close this issue and open specific issues in case something comes up.

The only missing piece is the documentation, which does not make it clear how a prefix installation works, and this is the first question that comes to my mind when reading "please do sudo make install".

I wanted to contribute to the documentation, but unfortunately wiki pages do not allow pull requests. My suggested edits would be:

  • In "Building instructions: the advanced way" add a new subpage "Customize installation location via install prefix" containing:

    # Customize installation location via install prefix
    
    It is also possible to avoid a global system-wide installation of faust, and rather install it into a user defined location. This can be achieved for instance with:
    
    ` ` `
    make PREFIX=${HOME}/bin/faust
    make install PREFIX=${HOME}/bin/faust
    ` ` `
    
    To use the installation it is necessary to append the faust bin directory to the path, so for example `export PATH=${HOME}/bin/faust/bin:${PATH}`.
    

    (Note: I couldn't use proper triple-backticks here because of markdown-in-markdown problem)

  • In "https://github.com/grame-cncm/faust/wiki/BuildingSimple" a link to the page could be added as well to make it clear that sudo isn't needed.

from faust.

josmithiii avatar josmithiii commented on August 24, 2024

from faust.

magnetophon avatar magnetophon commented on August 24, 2024

I'm having a similar issue because NixOS installs packages in non-standard paths.
Would it be possible to have all scripts use $FAUSTLIB and $FAUSTINC?

Note: scripts that worked with some patching on 2.5.23 have stopped working on master.

from faust.

sletz avatar sletz commented on August 24, 2024

Please be more concrete: "Note: scripts that worked with some patching on 2.5.23 have stopped working on master." => which ones ?

from faust.

magnetophon avatar magnetophon commented on August 24, 2024

@sletz
Sorry for the vagueness.

I got most scripts to work by replacing #include " with #include "../../include/ in all relevant cpp and h files and by replacing ARCHFILE=" with ARCHFILE="$FAUSTLIB/ in the scripts.

This is in addition to the patching that was already in the NixOS 2.5.23 package.

As you can see, there's quite some patching needed.
Some of that is because NixOS is weird, but I think if faust would look for all of it's files relative to PREFIX by default, things would be easier for NixOS, and anyone else wanting to install in a non-default PREFIX, like @bluenote10 .

For completeness sake, I'll go trough all scripts that are packaged for NixOS in alphabetic order:

faust2alqt

fatal error: alsa/asoundlib.h: No such file or directory

Probably a NixOS specific thing, that we need to fix on our end; haven't looked into it yet.
The package has alsaLib in its dependencies, and used to work just fine though.

faust2alsa: All OK.

faust2atomsnippets: not sure how to test. I can only get it to output '.source.faust':

faust2firefox: all OK.

faust2graph on a file containing process=+;, gives me a pdf containing: L0 : 0x21270c0.

faust2graphviewer on the same file gives a pdf containingL0 : 0x1c1f0c0.

faust2jack and faust2jackconsole: OK

faust2jackinternal tst.dsp

tst.dsp.cpp:168:72: error: ‘Soundfile’ has not been declared
     virtual void addSoundfile(const char* label, const char* filename, Soundfile** sf_zone) {}

Probably a NixOS thing.

faust2jackserver and faust2jaqt:

fatal error: jack/jack.h: No such file or directory

Probably a NixOS specific thing, that we need to fix on our end; haven't looked into it yet.
The packages have jack in their dependencies, and used to work just fine though.

faust2lv2:

fatal error: boost/circular_buffer.hpp: No such file or directory

Need to look in to this.
But again: it has boost, and used to work.

faust2md gives no output, unless I use the -c option. Probably cause I don't know how to use them.

faust2plot, faust2sig, faust2sigviewer faust2svg : OK.

Afaik, all of these worked with faust version 2.5.23.

from faust.

sletz avatar sletz commented on August 24, 2024
  1. iI just fixed faust2jackinternal.
  2. but frankly this becomes difficult to do more in a "blind" way, since we don't have NixOS. It would be much better if the NixOS community can progressively fix the different problems in a portable way (like using $FAUSTLIB and $FAUSTINC...), prepare pull request, then we can check the fix and integrate them with the common codebase. Of course we can help to better separate the issues coming from the way some faust2xx scripts are still (badly..) coded, from what is NixOS specific. Does this seems reasonable to you ?

from faust.

magnetophon avatar magnetophon commented on August 24, 2024

@sletz Thanks!
Yup, very reasonable.

The problem is that afaik the NixOS faust community is quite small; might even be just me.
I'm not very knowledgable on these things, so I'll need some guidance.

For example:
Would it make sense to replace #include " with #include "../../include/ in all relevant cpp and h files and replace ARCHFILE=" with ARCHFILE="$FAUSTLIB/ in the scripts?

from faust.

sletz avatar sletz commented on August 24, 2024
  1. #include " with #include "../../include/ in seems quite suspicious, why do you need that?

  2. OK for ARCHFILE="$FAUSTLIB/

from faust.

sletz avatar sletz commented on August 24, 2024

Well not sure about ARCHFILE="$FAUSTLIB/.... We usually define $FAUSTLIB once in faustpath, then include faustpath in faust2xx scripts and do define like: ARCHFILE="jack-qt.cpp"

from faust.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.