Closed squinkylabs closed 2 years ago
So, your toolchain build worked fine, but your plugin build fails.
From where are you executing the make plugin-build-linux
?
from inside the toolchain folder, rack-plugin-toolchain. In there I have a one line script:
make -j4 plugin-build PLUGIN_DIR=~/Rack/plugins/SqHarmony
Did you build the toolchain for Linux or just for Windows and macOS?
make toolchain-lin
pretty sure I did make toolchain-all
like the instructions say. I have three folders under there now, Rack-SDK-lin, Rack-SDK-mac, Rack-SDK-win. I can try just building lin. Is that a "no op" if it's already built, or will it take an hour? I also have the default version of CMake. There is not easy way to install the "required" one in Ubuntu, but I did manage to update to 3.22.2 using some other package manager.
This is a brand new VM, not the one where I had previously don't a win only build.
You should have a folder named local
where all of the toolchain binaries are stored. There you should find the Linux toolchain in x86_64-ubuntu16.04-linux-gnu
.
Also, there is no "required" version of CMake to my knowledge. The Docker container works fine with the default CMake in Ubuntu 20.04.
Yes, in rack-plugin-toolchain/local/x86_64-ubuntu16.04-linux-gnu/bin there are a bunch of tools, but apparently no gcc. Maybe the build failed. And, yes, toolchain does not list a CMake that is required, but the osxcross does. Of course that was fine. Should I run the linux build and watch carefully?
Here's what I have in that bin folder:
x86_64-ubuntu16.04-linux-gnu-addr2line
x86_64-ubuntu16.04-linux-gnu-elfedit
x86_64-ubuntu16.04-linux-gnu-objcopy
x86_64-ubuntu16.04-linux-gnu-strings
x86_64-ubuntu16.04-linux-gnu-ar
x86_64-ubuntu16.04-linux-gnu-gprof
x86_64-ubuntu16.04-linux-gnu-objdump
x86_64-ubuntu16.04-linux-gnu-strip
x86_64-ubuntu16.04-linux-gnu-as
x86_64-ubuntu16.04-linux-gnu-ld
x86_64-ubuntu16.04-linux-gnu-ranlib
x86_64-ubuntu16.04-linux-gnu-c++filt
x86_64-ubuntu16.04-linux-gnu-ld.bfd
x86_64-ubuntu16.04-linux-gnu-readelf
x86_64-ubuntu16.04-linux-gnu-ct-ng.config
x86_64-ubuntu16.04-linux-gnu-nm
x86_64-ubuntu16.04-linux-gnu-size
Yes, that's very strange. It should contain the toolchain specific gcc
in that folder. Try building just Linux and watch the output.
will do. I also [just] realized that when I first tried to build I ran out of space on that partition. I re-expanded it in place, but for all I know that linux gcc build was left if a bad state. Will try again. tx.
ok, now gcc exists and work. Linux build now fails at the last copy step. It the invocation to make just linux plugins make plugin-build-linux
? Is there any way to start over from scratch on linux, and leave the others? they take soo long... I deleted the rack-SDK-lin folder to force the gcc re-build. Any other tips?
(Actually, I thought I deleted that folder, but my modified arch.mk is still there. How do I regenerate that folder? oh, probably differnt folder. I delete every single folder that says something about linux)
rm -rf dist
mkdir -p dist/st-plug1
cp dist/st-plug1/
cp: missing destination file operand after 'dist/st-plug1/'
Try 'cp --help' for more information.
make[1]: *** [/home/bruce/rack-plugin-toolchain/Rack-SDK-lin/plugin.mk:67: dist] Error 1
make[1]: Leaving directory '/home/bruce/Rack/plugins/SqHarmony'
make: *** [Makefile:161: plugin-build-linux] Error 2
ok, that did it. I got them all. all errors on my side. tx!
Here's the output for the Linux phase. Any idea how to fix this? Editing arch.mk just kicks the can down the road - the build itself then fails with 86_64-ubuntu16.04-linux-gnu-g++: No such file or directory. I can do a regular desktop build on this Ubuntu VM no problem.