Bugzilla – Bug 571
Nyquist Workbench missing from View Menu when enabled unless renamed to mod-nyq-bench.so
Last modified: 2018-08-20 11:45:51 UTC
Confirmed fixed on Windows and Linux.
We have not actually fixed anything in code, but probably demoted this if we can reliably pick the .so up. It is still not working for me on Linux Ubuntu 12.04 at r11893. I assumed Index: lib-src/mod-nyq-bench/Makefile =================================================================== --- lib-src/mod-nyq-bench/Makefile (revision 11893) +++ lib-src/mod-nyq-bench/Makefile (working copy) @@ -11,8 +11,8 @@ # ----------------------------------------------------------------------------- # NOTE: Set to the names of your objects and final module name # -OBJS = NyqBench.o -MOD = NyqBench.so +OBJS = mod-nyq-bench.o +MOD = mod-nyq-bench.so would be what we needed, but Audacity at r11893 on Linux does not recognise that mod-nyq-bench.so, either building Audacity first or after mod-nyq-bench. Unfortunately, r11893 does not recognise the renamed NyqBench.so either (building Audacity first or after mod-nyq-bench). I tried from new checkout of lib-src and on intialised audacity.cfg. So, something is not right. Meantime I have documented http://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference#Nyquist_Workbench to note the rename workaround that was working. Here are the errors I get building mod-nyq-bench on Mac OS X 10.7.4: gales-mac-mini:audacitysvn gale$ cd lib-src/mod-nyq-bench gales-mac-mini:mod-nyq-bench gale$ make + sed -e '/override CXXFLAGS/!d;s/override CXXFLAGS += //;s@$(top_srcdir)@/Users/gale/audacitysvn@g' /Users/gale/audacitysvn/src/Makefile sed: /Users/gale/audacitysvn/src/Makefile: No such file or directory c++ -Wall -O9 -DAUDACITY_DLL_API= -I/Users/gale/audacitysvn/src -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -c -o NyqBench.o NyqBench.cpp clang: warning: not using the clang compiler for the 'powerpc' architecture NyqBench.cpp:11:10: fatal error: 'wx/defs.h' file not found #include <wx/defs.h> The top of my lib-src/mod-nyq-bench/Makefile where I set the base dir says: # NOTE: Change this to the base of the Audacity source distribution, or specify # via command line or environment # AUDACITY_DIR ?= /Users/gale/audacitysvn # ----------------------------------------------------------------------------- # NOTE: Set to the names of your objects and final module name # OBJS = NyqBench.o MOD = NyqBench.so
REOPENED and demoted to P4 for now. Workbench is only consistently in the View Menu for me on Ubuntu 12.04 (after enabling in Prefs and restarting) if building Audacity then mod-nyq-bench from a completely fresh Audacity checkout. Updated checkouts don't work for me. Manual rename of the compiled NyqBench.so to mod-nyq-bench.so is required. > -OBJS = NyqBench.o > -MOD = NyqBench.so > +OBJS = mod-nyq-bench.o > +MOD = mod-nyq-bench.so This fails "no rule to make" if I make that change to Makefile from a newly checked out "mod-nyq-bench" folder. It seems to work sometimes if I have already built without making that change to Makefile, then make that change. Someone who knows what they are doing will need to attend to the necessary changes.
(In reply to comment #3) > Updated checkouts don't work for me Ensure that you run: make clean from within the /lib-src/mod-nyq-bench directory before rebuilding NyqBench.so Then run: make Then rename NyqBench.so to mod-nyq-bench.so
(In reply to comment #4) Yes as per my updates on devel ( http://audacity.238276.n2.nabble.com/Modules-in-prefs-Panel-makefile-will-need-updating-for-linux-td7555699.html#a7555815 ), if I delete the lib-src/mod-nyq-bench folder or make clean there (then rename the built .so), rebuilt Audacity sees the new module. I already updated http://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference#Nyquist_Workbench to note you must make clean in the mod-nyq-bench directory. I still think it is a bug that the rename is needed, so bug title changed to reflect just that.
Created attachment 316 [details] Sets name of object to mod-nyq-bench.so Just a one line change to Makefile. Tested only on (Debian) Linux.
(In reply to comment #6) > [attachment] Sets name of object to mod-nyq-bench.so Tested on Ubuntu 12.04, this works for me so marked as "patch ready". More changes would be needed to also change "OBJS" to "mod-nyq-bench.o" in the Makefile per my idea, so the attached simpler change is quite good enough I think.
(In reply to comment #6) Patch applied, revision: 11937.
RESOLVED - FIXED as no further comments made.