adbrant / ArableInstruments

BSD 3-Clause "New" or "Revised" License
29 stars 4 forks source link

git failure to retrieve parasite #3

Open davephillips opened 6 years ago

davephillips commented 6 years ago

Linux Fedora 23 GCC 5.3.1 VCV Rack dev version

Checking connectivity... done. Submodule path 'parasites/stm_audio_bootloader': checked out '6f20ead22a28967b0446546d2fcf0dfb9599ba93' Cloning into 'stmlib'... The authenticity of host 'github.com (192.30.253.113)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.253.113' (RSA) to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. Clone of 'git@github.com:mqtthiqs/stmlib.git' into submodule path 'stmlib' failed Failed to recurse into submodule path 'parasites'

lnikj commented 6 years ago

OS X 10.11.6 VCV Rack 0.4.0 & VCV Rack latest dev

Same error as @davephillips above.

adbrant commented 6 years ago

Parasites has a submodule that is setup to retrieve via SSH. I think it should work if you add you SSH key to your github account,, a workaround would be to go into the 'parasites' submodule and change the entry: [submodule "stmlib"] path = stmlib url = git@github.com:mqtthiqs/stmlib.git to [submodule "stmlib"] path = stmlib url = https://github.com/mqtthiqs/stmlib.git

lnikj commented 6 years ago

OS X 10.11.6 VCV Rack 0.4.0

@adbrant - thanks for the info.

I have gone the file change route. There are actually two occurrences:

./parasites/.gitmodules ./.git/modules/parasites/config

I think I now have all the sources but I am getting errors when I try to build Parasites:

./parasites/stmlib/fft/shy_fft.h:91:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double cos(double x) { return cos(x); } ^ ./parasites/stmlib/fft/shy_fft.h:92:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double sin(double x) { return sin(x); } ^ parasites/clouds/dsp/granular_processor.cc:178:11: error: type 'float' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] 0.0f, // freeze; ^~~~ parasites/clouds/dsp/granular_processor.cc:178:11: note: insert an explicit cast to silence this issue 0.0f, // freeze; ^~~~ static_cast( ) parasites/clouds/dsp/granular_processor.cc:180:11: error: type 'float' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] 0.0f // gate; ^~~~ parasites/clouds/dsp/granular_processor.cc:180:11: note: insert an explicit cast to silence this issue 0.0f // gate; ^~~~ static_cast( ) 2 warnings and 2 errors generated.

davephillips commented 6 years ago

The suggested fix did not work here, even with the RSA signature approved it still wouldn't retrieve the sources, so I downloaded the code separately and installed it in the correct location. I then successfully built the Neil module, it instantiates in VCV Rack 0.4.0, but I haven't tested anything yet.

adbrant commented 6 years ago

I've re-added the parasites firmware using 'git subtree' instead of 'git submodule' and it seems to be retrieving without any incident now. Once you clone you should just need to run 'git submodule update --init --recursive', then, 'make' to build Joni, or 'make -f Makefile.parasite' to build Neil (parasite firmware version). Let me know if you are still seeing any issues (and what platform you are building on if you do).

lnikj commented 6 years ago

OS X 10.11.6

Retrieving fine now but still not building Parasites. Same error:

./parasites/stmlib/fft/shy_fft.h:91:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double cos(double x) { return cos(x); } ^ ./parasites/stmlib/fft/shy_fft.h:92:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double sin(double x) { return sin(x); } ^ parasites/clouds/dsp/granular_processor.cc:178:11: error: type 'float' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] 0.0f, // freeze; ^~~~ parasites/clouds/dsp/granular_processor.cc:178:11: note: insert an explicit cast to silence this issue 0.0f, // freeze; ^~~~ static_cast( ) parasites/clouds/dsp/granular_processor.cc:180:11: error: type 'float' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] 0.0f // gate; ^~~~ parasites/clouds/dsp/granular_processor.cc:180:11: note: insert an explicit cast to silence this issue 0.0f // gate; ^~~~ static_cast( )

adbrant commented 6 years ago

I just pushed a change that should hopefully fix that casting issue. Let me know if it works for you.

lnikj commented 6 years ago

Thanks. It now builds but does not appear when I run Rack. Full output:

MBP:plugins nik$ cd ArableInstruments/ MBP:ArableInstruments nik$ ls LICENSE-dist.txt Makefile.parasite eurorack res LICENSE.txt README.md parasites src Makefile build plugin.dylib MBP:ArableInstruments nik$ make -f Makefile.parasite c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/stmlib/utils/random.cc.o parasites/stmlib/utils/random.cc c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/stmlib/dsp/atan.cc.o parasites/stmlib/dsp/atan.cc c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/stmlib/dsp/units.cc.o parasites/stmlib/dsp/units.cc c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/clouds/dsp/correlator.cc.o parasites/clouds/dsp/correlator.cc c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/clouds/dsp/granular_processor.cc.o parasites/clouds/dsp/granular_processor.cc In file included from parasites/clouds/dsp/granular_processor.cc:29: In file included from ./parasites/clouds/dsp/granular_processor.h:45: In file included from ./parasites/clouds/dsp/pvoc/phase_vocoder.h:34: ./parasites/stmlib/fft/shy_fft.h:91:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double cos(double x) { return cos(x); } ^ ./parasites/stmlib/fft/shy_fft.h:92:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double sin(double x) { return sin(x); } ^ In file included from parasites/clouds/dsp/granular_processor.cc:29: In file included from ./parasites/clouds/dsp/granular_processor.h:37: In file included from ./parasites/clouds/dsp/fx/diffuser.h:34: ./parasites/clouds/dsp/fx/fx_engine.h:172:7: warning: unused typedef '__static_assertion_test_at_line_172' [-Wunused-local-typedef] STATIC_ASSERT(D::base + D::length <= size, delay_memory_full); ^ ./parasites/stmlib/stmlib.h:58:90: note: expanded from macro 'STATIC_ASSERT' typedef impl::StaticAssertionTest<sizeof(JOIN(static_assertion_atline, LINE))> JOIN(static_assertion_test_atline, ... ^ ./parasites/stmlib/stmlib.h:49:27: note: expanded from macro 'JOIN'

define JOIN(lhs, rhs) JOIN_1(lhs, rhs)

                      ^

./parasites/stmlib/stmlib.h:50:27: note: expanded from macro 'JOIN_1'

define JOIN_1(lhs, rhs) JOIN_2(lhs, rhs)

                      ^

./parasites/stmlib/stmlib.h:51:27: note: expanded from macro 'JOIN_2'

define JOIN_2(lhs, rhs) lhs##rhs

                      ^
:441:1: note: expanded from here __static_assertion_test_at_line_172 ^ In file included from parasites/clouds/dsp/granular_processor.cc:29: In file included from ./parasites/clouds/dsp/granular_processor.h:37: In file included from ./parasites/clouds/dsp/fx/diffuser.h:34: ./parasites/clouds/dsp/fx/fx_engine.h:200:7: warning: unused typedef '__static_assertion_test_at_line_200' [-Wunused-local-typedef] STATIC_ASSERT(D::base + D::length <= size, delay_memory_full); ^ ./parasites/stmlib/stmlib.h:58:90: note: expanded from macro 'STATIC_ASSERT' typedef impl::StaticAssertionTest JOIN(__static_assertion_test_at_line_, ... ^ ./parasites/stmlib/stmlib.h:49:27: note: expanded from macro 'JOIN' #define JOIN(lhs, rhs) JOIN_1(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:50:27: note: expanded from macro 'JOIN_1' #define JOIN_1(lhs, rhs) JOIN_2(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:51:27: note: expanded from macro 'JOIN_2' #define JOIN_2(lhs, rhs) lhs##rhs ^ :451:1: note: expanded from here __static_assertion_test_at_line_200 ^ In file included from parasites/clouds/dsp/granular_processor.cc:29: In file included from ./parasites/clouds/dsp/granular_processor.h:37: In file included from ./parasites/clouds/dsp/fx/diffuser.h:34: ./parasites/clouds/dsp/fx/fx_engine.h:233:7: warning: unused typedef '__static_assertion_test_at_line_233' [-Wunused-local-typedef] STATIC_ASSERT(D::base + D::length <= size, delay_memory_full); ^ ./parasites/stmlib/stmlib.h:58:90: note: expanded from macro 'STATIC_ASSERT' typedef impl::StaticAssertionTest JOIN(__static_assertion_test_at_line_, ... ^ ./parasites/stmlib/stmlib.h:49:27: note: expanded from macro 'JOIN' #define JOIN(lhs, rhs) JOIN_1(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:50:27: note: expanded from macro 'JOIN_1' #define JOIN_1(lhs, rhs) JOIN_2(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:51:27: note: expanded from macro 'JOIN_2' #define JOIN_2(lhs, rhs) lhs##rhs ^ :461:1: note: expanded from here __static_assertion_test_at_line_233 ^ In file included from parasites/clouds/dsp/granular_processor.cc:29: In file included from ./parasites/clouds/dsp/granular_processor.h:37: In file included from ./parasites/clouds/dsp/fx/diffuser.h:34: ./parasites/clouds/dsp/fx/fx_engine.h:246:7: warning: unused typedef '__static_assertion_test_at_line_246' [-Wunused-local-typedef] STATIC_ASSERT(D::base + D::length <= size, delay_memory_full); ^ ./parasites/stmlib/stmlib.h:58:90: note: expanded from macro 'STATIC_ASSERT' typedef impl::StaticAssertionTest JOIN(__static_assertion_test_at_line_, ... ^ ./parasites/stmlib/stmlib.h:49:27: note: expanded from macro 'JOIN' #define JOIN(lhs, rhs) JOIN_1(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:50:27: note: expanded from macro 'JOIN_1' #define JOIN_1(lhs, rhs) JOIN_2(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:51:27: note: expanded from macro 'JOIN_2' #define JOIN_2(lhs, rhs) lhs##rhs ^ :474:1: note: expanded from here __static_assertion_test_at_line_246 ^ In file included from parasites/clouds/dsp/granular_processor.cc:29: In file included from ./parasites/clouds/dsp/granular_processor.h:37: In file included from ./parasites/clouds/dsp/fx/diffuser.h:34: ./parasites/clouds/dsp/fx/fx_engine.h:271:7: warning: unused typedef '__static_assertion_test_at_line_271' [-Wunused-local-typedef] STATIC_ASSERT(D::base + D::length <= size, delay_memory_full); ^ ./parasites/stmlib/stmlib.h:58:90: note: expanded from macro 'STATIC_ASSERT' typedef impl::StaticAssertionTest JOIN(__static_assertion_test_at_line_, ... ^ ./parasites/stmlib/stmlib.h:49:27: note: expanded from macro 'JOIN' #define JOIN(lhs, rhs) JOIN_1(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:50:27: note: expanded from macro 'JOIN_1' #define JOIN_1(lhs, rhs) JOIN_2(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:51:27: note: expanded from macro 'JOIN_2' #define JOIN_2(lhs, rhs) lhs##rhs ^ :487:1: note: expanded from here __static_assertion_test_at_line_271 ^ In file included from parasites/clouds/dsp/granular_processor.cc:29: In file included from ./parasites/clouds/dsp/granular_processor.h:37: In file included from ./parasites/clouds/dsp/fx/diffuser.h:34: ./parasites/clouds/dsp/fx/fx_engine.h:286:7: warning: unused typedef '__static_assertion_test_at_line_286' [-Wunused-local-typedef] STATIC_ASSERT(D::base + D::length <= size, delay_memory_full); ^ ./parasites/stmlib/stmlib.h:58:90: note: expanded from macro 'STATIC_ASSERT' typedef impl::StaticAssertionTest JOIN(__static_assertion_test_at_line_, ... ^ ./parasites/stmlib/stmlib.h:49:27: note: expanded from macro 'JOIN' #define JOIN(lhs, rhs) JOIN_1(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:50:27: note: expanded from macro 'JOIN_1' #define JOIN_1(lhs, rhs) JOIN_2(lhs, rhs) ^ ./parasites/stmlib/stmlib.h:51:27: note: expanded from macro 'JOIN_2' #define JOIN_2(lhs, rhs) lhs##rhs ^ :4:1: note: expanded from here __static_assertion_test_at_line_286 ^ 8 warnings generated. c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/clouds/dsp/mu_law.cc.o parasites/clouds/dsp/mu_law.cc c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/clouds/dsp/pvoc/frame_transformation.cc.o parasites/clouds/dsp/pvoc/frame_transformation.cc In file included from parasites/clouds/dsp/pvoc/frame_transformation.cc:29: In file included from ./parasites/clouds/dsp/pvoc/frame_transformation.h:34: In file included from ./parasites/clouds/dsp/pvoc/stft.h:39: ./parasites/stmlib/fft/shy_fft.h:91:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double cos(double x) { return cos(x); } ^ ./parasites/stmlib/fft/shy_fft.h:92:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double sin(double x) { return sin(x); } ^ 2 warnings generated. c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/clouds/dsp/pvoc/phase_vocoder.cc.o parasites/clouds/dsp/pvoc/phase_vocoder.cc In file included from parasites/clouds/dsp/pvoc/phase_vocoder.cc:29: In file included from ./parasites/clouds/dsp/pvoc/phase_vocoder.h:34: ./parasites/stmlib/fft/shy_fft.h:91:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double cos(double x) { return cos(x); } ^ ./parasites/stmlib/fft/shy_fft.h:92:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double sin(double x) { return sin(x); } ^ 2 warnings generated. c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/clouds/dsp/pvoc/stft.cc.o parasites/clouds/dsp/pvoc/stft.cc In file included from parasites/clouds/dsp/pvoc/stft.cc:29: In file included from ./parasites/clouds/dsp/pvoc/stft.h:39: ./parasites/stmlib/fft/shy_fft.h:91:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double cos(double x) { return cos(x); } ^ ./parasites/stmlib/fft/shy_fft.h:92:31: warning: all paths through this function will call itself [-Winfinite-recursion] inline double sin(double x) { return sin(x); } ^ 2 warnings generated. c++ -fshort-enums -DTEST -DPARASITES -I./parasites -Wno-unused-local-typedefs -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/parasites/clouds/resources.cc.o parasites/clouds/resources.cc c++ -o plugin.dylib build/src/AudibleInstruments.cpp.o build/src/Clouds.cpp.o build/parasites/stmlib/utils/random.cc.o build/parasites/stmlib/dsp/atan.cc.o build/parasites/stmlib/dsp/units.cc.o build/parasites/clouds/dsp/correlator.cc.o build/parasites/clouds/dsp/granular_processor.cc.o build/parasites/clouds/dsp/mu_law.cc.o build/parasites/clouds/dsp/pvoc/frame_transformation.cc.o build/parasites/clouds/dsp/pvoc/phase_vocoder.cc.o build/parasites/clouds/dsp/pvoc/stft.cc.o build/parasites/clouds/resources.cc.o -shared -undefined dynamic_lookup -stdlib=libc++ -mmacosx-version-min=10.7
adbrant commented 6 years ago

When building the parasites firmware it has different menu name , is there anything under 'Parable Instruments'? If not could you send the output of running 'make run' in Rack? Thanks!

lnikj commented 6 years ago

No, nothing under Parable Instruments.

Nothing here either?

MBP:Rack4 nik$ make run DYLD_FALLBACK_LIBRARY_PATH=dep/lib ./Rack Current working directory is /Users/nik/src/temp/Rack4 Loading plugins from ./plugins Loaded plugin ./plugins/ArableInstruments/plugin.dylib Loaded plugin ./plugins/AudibleInstruments/plugin.dylib Loaded plugin ./plugins/Autodafe/plugin.dylib 0x7f8a2ad00ac0 0x10d609718 Loaded plugin ./plugins/Autodafe-Drums/plugin.dylib Loaded plugin ./plugins/av500/plugin.dylib Loaded plugin ./plugins/Befaco/plugin.dylib Loaded plugin ./plugins/Bidoo/plugin.dylib Loaded plugin ./plugins/ESeries/plugin.dylib Loaded plugin ./plugins/Fundamental/plugin.dylib Loaded plugin ./plugins/JW-Modules/plugin.dylib Loaded plugin ./plugins/LOGinstruments/plugin.dylib Loaded plugin ./plugins/ML_modules/plugin.dylib Loaded plugin ./plugins/MS-Modules/plugin.dylib Loaded plugin ./plugins/sonusmodular/plugin.dylib Loaded plugin ./plugins/Strums_Mental_VCV_Modules/plugin.dylib Loaded plugin ./plugins/UModules/plugin.dylib Loaded plugin ./plugins/vcv-karatesnoopy/plugin.dylib Loaded plugin ./plugins/vcv-MrLumps/plugin.dylib Loaded plugin ./plugins/VCV-Rack-Plugins/plugin.dylib Loaded plugin ./plugins/vcv_luckyxxl/plugin.dylib Loaded plugin ./plugins/VCVRack-Simple/plugin.dylib Loaded plugin ./plugins/VultModules/plugin.dylib Loading plugins from ./plugins Loaded font ./res/DejaVuSans.ttf Loading settings ./settings.json Loading patch ./autosave.vcv Saving patch ./autosave.vcv Saving settings ./settings.json MBP:Rack4 nik$

adbrant commented 6 years ago

Look like its loading ok, very weird. Does the normal 'Joni' version show up when you build it? Also could you attach the compiled mac version? I'll report this on the main Rack github and see if anyone has any ideas.

lnikj commented 6 years ago

This is a slaphead moment I'm afraid. I've been running Rack from source. Joni & Neil compile in the same place so they overwrite each other's files. If I make Joni first then make Neil then Joni loads but Neil does not. If I make Neil and don't make Joni then Neil runs.

I am concluding that I need to make dist and move them into a binary install to run both?

lnikj commented 6 years ago

A follow up ... I maintain these two resources:

http://nikjewell.net/vcvrack/buildmonitor.html http://nikjewell.net/vcvrack/scripts.html

Having Joni and Neil build in the same place confuses matters a little. Unless I am misunderstanding something would they be better built into the same binary.

adbrant commented 6 years ago

Yeah the setup is not ideal at the moment, either plugin relies on a slightly different version of the same general codebase, so building both objects into one binary could be tricky (though I haven't explored it that well). I also wanted to avoid splitting into two repos and having to port changes to the shared code and assets between multiple places.

To build, you should make dist on one version, move it to the plugins folder, then 'make clean' before making the other. I will at least clarify the readme and see if I can make sure either one will clean up correctly when switching between versions.

If you've built Neil on OSX would you mind attaching the binary so I can post it in the releases? (I'm just going to release Neil as Joni hasn't changed any funcionality since the first release). Thanks, Alex

lnikj commented 6 years ago

OK. Understood.

Here is the binary:

ParableInstruments-dev-mac.zip

davephillips commented 6 years ago

My apologies for this late message. I did exactly as adbrant advised, but before he advised it. :) I realized at some point what was going on, so I simply created two different plugins directories, built Joni in one and Neil in the other. Works like a charm, and both versions are functioning fully (AFAICT) in Linux Fedora 23, GCC 5.3.1, with Rack v0.4.0.

lnikj commented 6 years ago

You obviously spotted it much quicker than me. I don't know what I was thinking. Yes, two directories solve it. Will update my pages and scripts soon.