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

Issue with gcc, clang, and compilation #1

Open
someone89a opened this issue Jan 22, 2018 · 4 comments
Open

Issue with gcc, clang, and compilation #1

someone89a opened this issue Jan 22, 2018 · 4 comments

Comments

@someone89a
Copy link

Hi,
I attempted to run the build scripts on MacOS High Sierra (v10.13.2), and encountered the following issues:
Firstly compilation was stopped due to this error:

clang: error: unsupported option '-static-libgcc'

I attempted to make sure that gcc was used instead of clang by adjusting my .bash_profile so that the gcc command would not automatically run clang, which I checked worked, however the problem still persisted. I believe that the issue is with cmake, and that it automatically uses clang over gcc on my system, however I have no idea how to change this.

So instead, I removed the -static-libgcc flags from the script, and let the program compile using clang, to see if it would still work. This did indeed result in a .dmg and a .pkg file being produced, and I ran them as normal to install the VSTs.
However the VSTs will not appear in any software I own (I have tried in Ableton Live 9, and Renoise), even after rescanning the plugins. Believing the issue may be that only the 32bit version was installed (although I believe Renoise should be able to run 32bit plugins), I checked whether it could be bridged using jBridgeM, yet it couldn't be, it wasn't recognised as a 32bit nor 64bit plugin.

My final test to see what may be wrong was to comment out the part in the doit.sh script which involves compiling the 32bit version, and so the only version that would be compiled would be the 64bit version. This compiled fine, but the deploy and package scripts would not run afterwards, instead they exited out (I believe whilst checking whether a directory existed).

If there is any information or files that would be useful please let me know. I believe the major issue is clang being used instead of gcc but I am unsure. Many thanks.

@x42
Copy link
Member

x42 commented Jan 22, 2018

When using recent clang with a dynamically linked stdc++, the resulting binary cannot be distributed and it's 10.10 or later only (it still should run on your local machine though).

As for the architecture, check with file /Library/Audio/Plug-Ins/VST/ZynAddSubFx/Contents/MacOS/ZynAddSubFx.dylib that may shed some light.

if you only compile a 32 bit or 64bit binary, you also have to change the 02_deploy script starting line 83 (replace the lipo -create ... with a copy).

I'm considering add a option to compile a local version with clang, but it may be prudent and more useful to rather add a recipe for homebrew to https://github.com/david0/homebrew-audio/ instead and keep this repo for "official" builds that work on 10.6 or later.

@someone89a
Copy link
Author

Many thanks, the vst that was I was attempting to use seemed broken as there was no .dylib file inside. I replaced it with the vst from the .dmg and then used the file command, which returned this:
/Library/Audio/Plug-Ins/VST/ZynAddSubFX.vst/Contents/MacOS/ZynAddSubFX.dylib: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [i386]
/Library/Audio/Plug-Ins/VST/ZynAddSubFX.vst/Contents/MacOS/ZynAddSubFX.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/Library/Audio/Plug-Ins/VST/ZynAddSubFX.vst/Contents/MacOS/ZynAddSubFX.dylib (for architecture i386): Mach-O dynamically linked shared library i386

Which seems right, and upon testing it within Ableton Live 9, Renoise, and also as a plugin within Max 7, the plugin worked. However audio cut out after 10 minutes, so I'm assuming there is a setting within the build scripts I need to change to change the demo mode to release. Any help would be appreciated.

Many thanks.

@x42
Copy link
Member

x42 commented Jan 22, 2018

oops. The demo option was a bug in the last commit. Should be fixed in b223684

@someone89a
Copy link
Author

Ran the compilation scripts, received this message:
./01_compile.sh: line 286: release: command not found
./01_compile.sh: line 289: DDEMO: command not found

I added a $ to the DDEMO on line 289 and then this error occurred the next time I ran the script:

./01_compile.sh: line 289: =: command not found

Many thanks.

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

No branches or pull requests

2 participants