brummer10 / guitarix

guitarix virtual versatile amplification for Jack/Linux
263 stars 29 forks source link

configure fails: could not determine faust version #135

Closed yurivict closed 10 months ago

yurivict commented 11 months ago
Checking for program 'gperf'             : not found 
Checking for program 'faust'             : /usr/local/bin/faust 
could not determine faust version
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 119, in waf_entry_point
    run_commands()
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 182, in run_commands
    ctx=run_command(cmd_name)
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 173, in run_command
    ctx.execute()
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Configure.py", line 85, in execute
    super(ConfigurationContext,self).execute()
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Context.py", line 92, in execute
    self.recurse([os.path.dirname(g_module.root_path)])
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Context.py", line 133, in recurse
    user_function(self)
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/wscript", line 354, in configure
    conf.gxload('faust')
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/wscript", line 26, in <lambda>
    lambda ctx, tool: ctx.load(tool, tooldir='waftools')
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Configure.py", line 156, in load
    func(self)
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/waftools/faust.py", line 219, in configure
    check_faust(conf)
  File "/wrkdirs/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1/trunk/waftools/faust.py", line 196, in check_faust
    vers = m.group(1)
AttributeError: 'NoneType' object has no attribute 'group'
===>  Script "configure" failed unexpectedly.

Version: 0.44.1 faust-2.68.1 Python-3.9 FreeBSD 13.2

brummer10 commented 11 months ago

Is that the latest release or is that from git repository? As, that is what I get from latest git repository:

Checking for program 'faust'             : /usr/bin/faust 
Checking for faust version               : can't use 2.68.1 (check ./waf --help)

If it is the latest release, please checkout from git. If you prefer to build the latest release, please use the -no-faust configure flag.

btw. I've just added faust 2.68.1 to the good versions in the wscript, so you could build guitarix now with that version.

yurivict commented 11 months ago

This is the 0.44.1 release + this patch:

From 53560efbbc44a971b7b10290d96b059b67c71eed Mon Sep 17 00:00:00 2001
From: brummer10 <brummer-@web.de>
Date: Thu, 23 Feb 2023 03:36:50 +0100
Subject: [PATCH] Fix issue #122 guitarix don't compile with zita-resampler
 1.10
yurivict commented 11 months ago

You should probably make a release because more people will be having this problem once they install the latest faust.

yurivict commented 11 months ago

The latest master revision 80f94b37 still fails:

Checking for program 'faust'             : /usr/local/bin/faust 
could not determine faust version
Traceback (most recent call last):
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 119, in waf_entry_point
    run_commands()
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 182, in run_commands
    ctx=run_command(cmd_name)
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 173, in run_command
    ctx.execute()
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Configure.py", line 85, in execute
    super(ConfigurationContext,self).execute()
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Context.py", line 92, in execute
    self.recurse([os.path.dirname(g_module.root_path)])
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Context.py", line 133, in recurse
    user_function(self)
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/wscript", line 381, in configure
    conf.gxload('faust')
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/wscript", line 26, in <lambda>
    lambda ctx, tool: ctx.load(tool, tooldir='waftools')
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Configure.py", line 156, in load
    func(self)
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/waftools/faust.py", line 219, in configure
    check_faust(conf)
  File "/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/waftools/faust.py", line 196, in check_faust
    vers = m.group(1)
AttributeError: 'NoneType' object has no attribute 'group'
===>  Script "configure" failed unexpectedly.
Please report the problem to yuri@FreeBSD.org [maintainer] and attach the
"/usr/ports/audio/guitarix-lv2/work/guitarix-0.44.1-124-g80f94b37/trunk/config.log"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1
brummer10 commented 11 months ago

That is a really strange error. It looks like we can't fetch the version output string from faust (faust --version). I never see that before. I've implemented a fix for it now, however, that means you cant use faust for build guitarix. Still, you didn't need to use faust for that anyway.

yurivict commented 11 months ago

Still, you didn't need to use faust for that anyway.

If faust isn't needed - why does configure look for it then? Is it only used in the run-time?

brummer10 commented 11 months ago

Nope, it is a developer tool. We use faust to develop guitarix, but guitarix comes with all needed sources to build the binary's without using faust. Hence the configure option --no-faust. You only need faust when you plan to work on the included faust sources.

darkoverlordofdata commented 10 months ago

How can I install this? it's not in the distro, the port fails. I pulled from git, and try to install 44.1, and configure fails:

Checking for header fftw3.h              : not found 
The configuration failed

but it's there:

sudo find / -name 'fftw3.h'
Password:
/usr/local/include/fftw3.h
brummer10 commented 10 months ago

maybe 'local' is not in your PATH variable. Such library's should be installed in /usr/ to avoid such trouble.

darkoverlordofdata commented 10 months ago

Why would an include folder be in my path? These should be determined by the config script, and that is what is failing. This has got to be the lamest answer I’ve gotten on github.

I think I’m done using amateur open source software. Ubuntu Studio stopped working, now FreeBSD has dropped guitarix from their distro. Windows may have its issues, but dependability is not one of them. Life is too short to screw around with open source - I don’t mind paying for stuff that actually works.

On Tue, Nov 21, 2023 at 7:52 PM Hermann @.***> wrote:

maybe 'local' is not in your PATH variable. Such library's should be installed in /usr/ to avoid such trouble.

— Reply to this email directly, view it on GitHub https://github.com/brummer10/guitarix/issues/135#issuecomment-1822046859, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJUE4TUJM3FWHSFYP453BLYFVZH7AVCNFSM6AAAAAA6OL47NCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRSGA2DMOBVHE . You are receiving this because you commented.Message ID: @.***>

--

Bruce Davidson

brummer10 commented 10 months ago

Good luck

darkoverlordofdata commented 10 months ago

I shouldn’t rag on you just because I’m frustrated. You don’t deserve that. The PATH hack doesn’t work because the issue is the waf build script. But hacking the wscript turns into a bigger rabbit hole. So I went back to the port. When it fails, I edit the work/trunk/wscript, and comment over the ‘conf.gxload('faust')’ lines and restart make, then it compiles and I can install it. So all is working for now.

brummer10 commented 10 months ago

I didn't understand how that would be related to the fftw3 header not found. However I'm glad you find a solution. A more general solution may be the use of the --no-faust configure flag, as that will skip all faust tests anyway.

darkoverlordofdata commented 10 months ago

The issue with fftw3 is these lines:


    conf.check(header_name='fftw3.h', mandatory=1)

    conf.check_cfg(package='fftw3f', args=['--cflags','--libs','fftw3f >=
3.3.8'], uselib_store='FFTW3', mandatory=1)

It’s checking for the header, and then checking where it is? I’m not familiar enough with waf convention to understand why that is done - 45 years in IT and I’ve never run into waf until I retired :(. In any case, this may be a linux idiom that doesn’t work on unix. Unfortunately, unix-like doesn’t imply unix-compatibility - don’t get me started on that.

So if I comment over the header check, that will work on unix, but there are many more such ‘idioms’ that fail, and I keep commenting them out; this is the ‘rabbit hole’ I refer to.

The port process compensates for this - it uses some monkey shines to fake out the build process to think it’s compatible. Except for that ‘conf.gxload('faust')’.

Thanks for the tip on the —nofaust flag.

On Sun, Nov 26, 2023 at 11:12 PM Hermann @.***> wrote:

I didn't understand how that would be related to the fftw3 header not found. However I'm glad you find a solution. A more general solution may be the use of the --no-faust configure flag, as that will skip all faust tests anyway.

— Reply to this email directly, view it on GitHub https://github.com/brummer10/guitarix/issues/135#issuecomment-1827249925, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJUE4UPHOO3KYPUQPW3EODYGQ4ONAVCNFSM6AAAAAA6OL47NCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRXGI2DSOJSGU . You are receiving this because you commented.Message ID: @.***>

--

Bruce Davidson

brummer10 commented 10 months ago

Strange is that this have worked for years with BSD, or, no one have tell me that it didn't work and they just implement a workaround without tell me about. So, I can't fix it. However, you are right, the waf system is a bit antiquated, but given how old guitarix is, that may be no wonder. This day's I'm working on a new port of guitarix to make it a vst3 plug. That one use plain make. It may be of some interest for you, you could find it here: https://github.com/brummer10/guitarix.vst I would like to know if that gives you any issues when you try to build it under BSD, if so, well, we are in the early day's of development, so maybe we could sort it out early.

darkoverlordofdata commented 10 months ago

Many things build just fine on unix straight off github. But over time linux and unix diverge more and more. Waf is fine - i'm just grumbling :) Vst3 would be very nice - I'll check it out!

On Mon, Nov 27, 2023 at 7:04 AM Hermann @.***> wrote:

Strange is that this have worked for years with BSD, or, no one have tell me that it didn't work and they just implement a workaround without tell me about. So, I can't fix it. However, you are right, the waf system is a bit antiquated, but given how old guitarix is, that may be no wonder. This day's I'm working on a new port of guitarix to make it a vst3 plug. That one use plain make. It may be of some interest for you, you could find it here: https://github.com/brummer10/guitarix.vst I would like to know if that gives you any issues when you try to build it under BSD, if so, well, we are in the early day's of development, so maybe we could sort it out early.

— Reply to this email directly, view it on GitHub https://github.com/brummer10/guitarix/issues/135#issuecomment-1828010299, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJUE4SC4TRDIMZYHF6U55LYGSTXLAVCNFSM6AAAAAA6OL47NCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRYGAYTAMRZHE . You are receiving this because you commented.Message ID: @.***>

--

Bruce Davidson

Wamphyre commented 1 month ago

Hi there! Any updates for the FreeBSD port? Can I help on something?

brummer10 commented 1 month ago

Hi Yes, the project is all open for patches. I'm myself running out of time so can't work on the issue right now, but review patches still works every time.