Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[makefile] Update supercollider to v3.12 #59

Closed
wants to merge 1 commit into from
Closed

[makefile] Update supercollider to v3.12 #59

wants to merge 1 commit into from

Conversation

SteveRussell33
Copy link
Contributor

Updates supercollider to v3.12 instead of using old vcv-prototype-support branch.
Fixes #54 (comment)

Update supercollider to v3.12 instead of using old vcv-prototype-support branch.
Fixes #54 (comment)
@SteveRussell33 SteveRussell33 changed the title Update supercollider to v3.12 [makefile] Update supercollider to v3.12 Sep 20, 2021
@clwe
Copy link
Collaborator

clwe commented Sep 21, 2021

Nice, make dep works now. But I'm still getting an error while building the plugin with make:

g++ -std=c++11 -Wsuggest-override  -Idep/include -Idep/supercollider/include -Idep/supercollider/include/common -Idep/supercollider/lang -Idep/supercollider/common -Idep/supercollider/include/plugin_interface -Idep/vult -Idep/include/libpd -DHAVE_LIBDL -DPD_INTERNAL -Ofast -DINTERP -fPIC -I../Rack-SDK-1.1.6//include -I../Rack-SDK-1.1.6//dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES  -c -o build/src/SuperColliderEngine.cpp.o src/SuperColliderEngine.cpp
In file included from src/SuperColliderEngine.cpp:4:
dep/supercollider/lang/LangSource/SC_LanguageConfig.hpp:28:10: fatal error: boost/filesystem/path.hpp: No such file or directory
   28 | #include <boost/filesystem/path.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [../Rack-SDK-1.1.6//compile.mk:69: build/src/SuperColliderEngine.cpp.o] Error 1

Do I have to install Boost via pacman, maybe?

@clwe
Copy link
Collaborator

clwe commented Sep 21, 2021

Installing Boost via pacman works:
pacman -S mingw-w64-x86_64-boost
So that builds successfully. But maybe we should include the Boost header directory via the build command, since it's already "bundled" within the supercollider build directory?

@clwe
Copy link
Collaborator

clwe commented Sep 21, 2021

Some other obseravtions:

  • On my machine the generated supercollider library is called liblibsclang.a and resides in dep/supercollider/build/lang/liblibsclang.a.
  • The HIDAPI Library is in dep/supercollider/build/external_libraries/hidapi/windows/libhidapi.a.

So make fails to recognize that the library was already built and tries to rebuild it, which fails, because the build folder is already there.

@mxa
Copy link
Collaborator

mxa commented Sep 21, 2021

Installing Boost via pacman works:
pacman -S mingw-w64-x86_64-boost
So that builds successfully. But maybe we should include the Boost header directory via the build command, since it's already "bundled" within the supercollider build directory?

Related: #52 (comment)

@clwe
Copy link
Collaborator

clwe commented Sep 21, 2021

I just read your other #54 (comment) about the boost headers. That helped! I think we can also add -Idep/supercollider/external_libraries/boost/ to the FLAGS variable to use the boost that is used to build libsclang.a.

While that resolves the error in #59 (comment), (so boost/filesystem works) it throws new errors about the flags -lasound and -ludev. I guess they are part of the full boost package when I install it with pacman, but maybe they are not part of the built-in boost?

So when compiling with FLAGS += ... -Idep/supercollider/external_libraries/boost/ I'm getting this right now:

$ make
g++ -o plugin.dll build/src/Prototype.cpp.o build/src/SuperColliderEngine.cpp.o dep/lib/libefsw-static-release.a dep/supercollider/build/lang/liblibsclang.a dep/supercollider/build/external_libraries/libtlsf.a dep/supercollider/build/external_libraries/hidapi/windows/libhidapi.a dep/supercollider/build/external_libraries/hidapi/hidapi_parser/libhidapi_parser.a dep/supercollider/build/external_libraries/libboost_thread_lib.a dep/supercollider/build/external_libraries/libboost_system_lib.a dep/supercollider/build/external_libraries/libboost_regex_lib.a dep/supercollider/build/external_libraries/libboost_filesystem_lib.a dep/supercollider/build/external_libraries/libyaml.a -lpthread -lasound -ludev -shared -L../Rack-SDK-1.1.6/ -lRack
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lasound
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -ludev
collect2.exe: error: ld returned 1 exit status
make: *** [../Rack-SDK-1.1.6//compile.mk:59: plugin.dll] Error 1

When I remove those flags, I get linker errors, so I guess those libraries are really needed.

@SteveRussell33
Copy link
Contributor Author

SteveRussell33 commented Sep 21, 2021

What I can tell from my cursory searches is that asound is a linux package related to Advanced Linux Sound Architecture (ALSA).
dep\supercollider\external_libraries\portaudio\portaudio_submodule\CMakeLists.txt line 314

udev is another Linux package "libudev-dev" needed by hidapi test program (remove?)
dep\supercollider\external_libraries\hidapi\testgui\Makefile.linux line 17

@SteveRussell33 SteveRussell33 closed this by deleting the head repository Feb 25, 2023
SteveRussell33 added a commit to SteveRussell33/VCV-Prototype that referenced this pull request Feb 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build fails on Win10 msys64
3 participants