GithubHelp home page GithubHelp logo

Comments (11)

ntonnaett avatar ntonnaett commented on May 17, 2024

When trying to compile piano.dsp with faust2lv2 (or faust2jack) from git I get:
/tmp/faust2lv2.GppFe0/piano.cpp:12:19: schwerwiegender Fehler: piano.h: Datei oder Verzeichnis nicht gefunden #include <piano.h>
Maybe it's the same cause. It's not related to the brackets instead of quotes.

EDIT: Happens with faust 0.9.95 too.

from faust.

sletz avatar sletz commented on May 17, 2024

Working here on git. Which Faust version are you using ?

from faust.

ntonnaett avatar ntonnaett commented on May 17, 2024

I'm on master branch. But as it happens on 0.9.95 too, maybe it's caused by the compiler stack. I'm on Fedora 25. Should the piano.h be copied to the tmp folder or how is it supposed to work?

from faust.

agraef avatar agraef commented on May 17, 2024

@sletz It depends on which source you try to compile. The problem is with dsp sources which require an external C header, such as the STK examples (I guess that's where Bart's example comes from). In that case Faust will generate an include like

#include <stklib.h>

in the generated C++ source, and the C++ compiler will subsequently fail to find that file in the current directory. That's because without something like -I. in the compiler flags the C++ compiler will only look on the include path and not in the current directory.

I think that the proper solution for this would be to have the Faust compiler generate an include directive like

#include "stklib.h"

instead, then everything will just work with external headers which accompany the dsp source. Or, if that isn't wanted for whatever reason, we might also add -I. to the C++ compilation flags in the faust2xyz scripts instead.

@magnetophon @ntonnaett For the time being, you can work around this problem by temporarily setting the CPLUS_INCLUDE_PATH environment variable when invoking the script, e.g. (Bourne shell syntax):

CPLUS_INCLUDE_PATH=$PWD faust2lv2 piano.dsp

Note that this assumes that the required header file is in the current directory, otherwise specify whatever directory the header is in instead.

from faust.

agraef avatar agraef commented on May 17, 2024

Oops, sorry, it seems that actually two different bug reports got conflated here. My remarks apply to @ntonnaett's issue. The original problem reported by @magnetophon I cannot reproduce.

from faust.

ntonnaett avatar ntonnaett commented on May 17, 2024

I create a new one.

from faust.

agraef avatar agraef commented on May 17, 2024

I guess that Bart's problem was already solved in the meantime, so we might just keep to this one here. I'm not inclined to copy everything I said. :)

from faust.

ntonnaett avatar ntonnaett commented on May 17, 2024

It's not related to the brackets instead of quotes. If you change
ffunction(float getValueDryTapAmpT60(float), <piano.h>,"");
to
ffunction(float getValueDryTapAmpT60(float), "piano.h","");
there is #include "piano.h" in the generated c++ code. But the buildroot is in a new created tmp dir and there is no piano.h.

from faust.

magnetophon avatar magnetophon commented on May 17, 2024

@agraef My problem has not been solved afaik.
PS: it would help others understand the conversation better if you refer to me as magnetophon instead of Bart.

from faust.

magnetophon avatar magnetophon commented on May 17, 2024

It seems that some commit before or at rev a302793 fixes my issue.

from faust.

agraef avatar agraef commented on May 17, 2024

@ntonnaett, I just went ahead and added the needed include options to faust2lv2 and faust2faustvst in master-dev rev. 54ef7ff now, so at least with these scripts your issue should be fixed now. If you notice the same hiccup with any of the other faust2xxx scripts then please report those separately.

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.