Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

No permission to create posts
sp_Feed Topic RSS sp_TopicIcon
CMake Error
Avatar
W Pirkle
Admin
May 25, 2019 - 12:54 pm
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

OK, I just got updated to Mojave - only took 12 hours for backing up etc... 

The first thing is to make sure you are targeting the proper APIs. It is easy to accidentally generate a Universal project which expects to be located in a different place from the others, and needs the AAX SDK to be installed - that looks like what happened because I tested the ASPiKreator specifically for this before releasing. 

In any event, you can always change the target APIs and universality of the project, which will require re-running CMake, by editing the top few lines of the outermost CMakeLists.txt file. This is documented in the readme.txt file with the project. 

And, yeah CMake can be confusing in that it can write part of the stuff, then fail, then tell you it wrote stuff... 

Experimenting now, will get back to you.

- Will

Avatar
W Pirkle
Admin
May 25, 2019 - 5:42 pm
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

I'm Back! 

It only took all day to get Mojave and XCode 10.2 installed correctly.

But, the good news is that the issue with all of this, as expected, was just the XCode version and the new VST3 SDK. No one at Steinberg answered my question, but we know that VST SDK3.6.13 must require XCode 9 or higher. So my system is now:

MacOS: 10.14.5

XCode: 10.2

This is what I did:

1) downloaded the Phaser plugin code from webpage here, and edited the CMakeLists.txt file as per the readme.txt file; ran CMake to make XCode project. 

2) opened Phaser and hit Command - B and it built straightaway, no errors and no cancellations

3) In previous versions of the SDK, Steinberg copied the VST3 plugin into the MacOS VST3 folder ~Library/Audio/Plugins/VST3 (note: if that folder is missing, the compile will fail at the last phase - all part of VST3, not ASPiK)

But, starting a couple of revs back, they now copy a SymLink (a link or alias back to the file) into that folder. Some DAWs like Reaper won't "see" the SymLink, so you may need to copy the phaser.vst3 file (folder) manually into the location. 

 

Next:

1) used current ASPiKreator to generate a plugin called VolumePluginII for VST only; it modified the CMakeLists.txt file for me.

2) ran CMake on it to generate XCode project. 

3) opened VolumePluginII and hit Command - B and it built straightaway, no errors and no cancellations

Once the actual file was copied (not the SymLink) both showed up correctly in Reaper 64 and worked fine. 

 

I never ran into the Build Canceled thing on either of these (I still think that for me, I'm hitting multiple buttons or something...)

But, the answer is finally in - it's an XCode version issue with the VST3 SDK.

 

Let me know if you need anything. The fully built validator.exe from the Phaser above (they are all the same) is here:

http://willpirkle.com/Download.....idator.zip

 

But, I have definitely verified that ASPiK is good to go (thanks for reminding me about the version numbers) and that this issue is Steinberg's deal. 

I hope this helps and you get up and running soon. LMK if you have any more issues. Make sure to be vigilant about the Individual vs Universal projects and their folder locations.

One final thing to note: Steinberg is always updating VST3 and VSTGUI and they frequently obsolete functions, classes, and even rename functions, or change the function arguments slightly - it can be very frustrating as a developer. They will usually first Deprecate the code, then let that go for a few SDK revs while developers work to replace/patch/fix their code - in many cases, it is internal VST code BUT it may impact you because an old project will suddenly not compile in the new SDK (wrong function names, etc...).

With VST3/MacOS, you are going to get scores, maybe even hundreds of warnings coming from within the guts of VST3 and VSTGUI. It isn't enough to get freaked out, but it did rattle me when I first encountered this six years ago or so. For MacOS/VST 99.9% of these are Steinberg's own problem to fix, but every now and then, we will get zapped when some changes filter all the way down into my VST3 code. 

- Will

Avatar
DataLife
Member
Members
May 25, 2019 - 10:12 pm
Member Since: May 23, 2019
Forum Posts: 18
sp_UserOfflineSmall Offline

Thanks so much Will.

Grabbed the new ASPiK and copied in the validator you linked to (backing up the old one). Been trying all day to get cmake to make an xcode project, but am only getting these files:

http://i64.tinypic.com/rbdrmg.pngImage Enlarger

 

As you can see, no XCode project but I have two extra files: compile_commands.json and Makefile. This happens with ASPiK projects.

What's strange is when running cmake, the terminal output looks great: https://pastebin.com/7f369KvN

I also tried re-installing cmake, which didn't help.

EDIT:

Tried Phaser, and it went a little worse I think... I didn't really see anything to edit in the CMakeList as I use all the same naming conventions you do. Got this in Terminal: https://pastebin.com/sH4TJ5P8

Here are the resulting files in ALL_SDK/myprojects/Phaser/mac_build:

http://i68.tinypic.com/2q1s95u.pngImage Enlarger

Avatar
W Pirkle
Admin
May 26, 2019 - 11:02 am
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

Hey - just wanted to let you know that I found the reasons of these problems, and I think I also know where your "Build Canceled" was coming from. 

The update to XCode 10.2 also flushed out a really silly issue with the Avid Company name string (this was lifted right from the AAX sample code - literally just the name of the company) involving the newer XCodes do not understand the period "." or comma "," as in "Avid Technology, Inc." which caused the compiler to halt (cancel) before anything else could be done. The Avid engineers will eventually run into this too..... The solution was just to name it "Avid Technology Inc" -- it is amazing that a period or comma, in a text file, could halt the compiler.

I noticed that you were using universal builds, which is fine, and that is what eventually flushed out the issues here. 

As for the Phaser project, there was a missing ) in the CMake file that RackAFX generated. 

So, all of these issues have been taken care of. I have updated projects and a new ASPiK SDK that includes these changes. While I was working on it, I tightened up some of the code in fxobjects.h that was throwing some warnings (all benign). I am working on the new ASPiKreator right now. It turns out that I don't need to compile a new one.

Anyway, I apologize that you've had these issues and I thank you for reporting them and working with me on them. I'll have an update after I make the new Kreator. 

- Will

Avatar
W Pirkle
Admin
May 26, 2019 - 11:36 am
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

OK - everything is uploaded and set. ASPiK is now 1.5.6 (yes, tagged it in the version.txt file). The ASPiKreator exe did not need to be explicitly rebuilt, but I did need to replace one of its resources - the "brick" that it uncompresses and turns into an ASPiK project. I did this without recompiling because I do not think that this resource is check-summed.

The FX book projects have been likewise updated, all 14 of them, to include the new changes and the tightened up code. All of them are setup as Universal projects for all APIs, so if that is your setup, then you should be able to use them directly without modifying the CMake file. 

So, thing should be back to "sane" now - finding that Build Canceled thing was good, so please confirm that it fixed your problem. 

- Will

Avatar
DataLife
Member
Members
May 26, 2019 - 7:55 pm
Member Since: May 23, 2019
Forum Posts: 18
sp_UserOfflineSmall Offline

Hey Will, great to hear about the updates.

As per my last post, cmake still doesn't make any xcode files. It was before – forget what versions of things I was using – but it isn't anymore. Strange.

Avatar
W Pirkle
Admin
May 28, 2019 - 12:30 pm
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

OK, well if the XCode project does not get built, then that is generally because CMake failed. And, that is easy to see in the text output in terminal. For example, for the Phaser project (I only use it as an example because it is short and compiles quickly) I built a universal plugin project by editing the CMakeLists.txt file and changing four lines of code:

set(UNIVERSAL_SDK_BUILD TRUE) # <-- set TRUE or FALSE

# --- Individual project builds
set(AAX_SDK_BUILD TRUE)# <-- set TRUE or FALSE
set(AU_SDK_BUILD TRUE)# <-- set TRUE or FALSE
set(VST_SDK_BUILD TRUE)# <-- set TRUE or FALSE

The project folder is in ../ALL_SDK/myprojects/Phaser/

The CMake output is here: Note that the majority of the output comes from the CMake script that I wrote (the -------> is a clue).

Wills-MBP:mac_build willpirkle$ cmake -GXcode ../

-- --- Updated File: project_source/source/PluginKernel/plugindescription.h

-- ------> Starting AAX Project Build:

-- AAX SDK Location: /Users/willpirkle/documents/ALL_SDK/AAX_SDK

--

---> Adding AAX ported project in source folder: /Users/willpirkle/documents/ALL_SDK/project_source

-- AAX Target Name: Phaser_AAX

--

-- ------> Starting AU Project Build:

-- AU SDK Location: /Users/willpirkle/documents/ALL_SDK/AU_SDK

--

---> Adding AU ported project in source folder: /Users/willpirkle/documents/ALL_SDK/project_source

-- AU Target Name: Phaser_AU

--

-- ------> Starting VST Project Build:

-- VST SDK Location: /Users/willpirkle/documents/ALL_SDK/VST_SDK/VST3_SDK

--

-- SMTG_MYPLUGINS_SRC_PATH is not set. If you want to add your own plug-ins folder, specify it!

---> Adding VST ported project...

-- VST Target Name: Phaser_VST

--

-- SMTG_PLUGIN_TARGET_PATH is set to : /Debug/Phaser_VST.vst3

-- Configuring done

-- Generating done

-- Build files have been written to: /Users/willpirkle/documents/ALL_SDK/myprojects/Phaser/mac_build

 

If I only build the VST3 version, for example, the output is the same, but without the AAX and AU mentions. "SMTG_MYPLUGINS_SRC_PATH is not set" is benign and I don't use their MYPLUGINS paradigm because it doesn't match the same paradigm for AU and AAX that I use (location of myprojects folder).

That last line: "Build files have been written to: /Users/willpirkle/documents/ALL_SDK/myprojects/Phaser/mac_build" means that the XCode project was written. If you are getting this message, then there should be an XCode project. 

One note: do not use mapped drives with CMake or other network folders or locations. Do not use virtual locations. Everything needs to be local to your computer, and even things like using the Desktop as your outer folder can cause problems with CMake. 

Let me know what your latest CMake outputs look like and specifically for that last line of output - I don't need to see a log file, only the output from terminal as above. And, also that your folders are not mapped or network locations. 

Heading to the Apple Store. The Mojave upgrade necessitates more RAM. Back later this afternoon. 

- Will

Avatar
DataLife
Member
Members
May 28, 2019 - 4:24 pm
Member Since: May 23, 2019
Forum Posts: 18
sp_UserOfflineSmall Offline

Hi Will,

I posted the terminal output in the post from the 25th, along with the screenshots of what is actually built. I have been getting the "Build files have been written to:" message this entire time - there's just no build file to be found anymore. I'm just getting what you see in the screenshots above with two odd extra files and no .xcodeproj.

Here is a new Terminal output from today, same thing:

https://pastebin.com/YNe2yacx

I re-installed cmake again and am getting the same result.

Nathan

Avatar
DataLife
Member
Members
May 28, 2019 - 4:33 pm
Member Since: May 23, 2019
Forum Posts: 18
sp_UserOfflineSmall Offline

Sorry to double post, getting the error when I try to edit: ERROR: Sorry, there was an error. Please be sure JavaScript and Cookies are enabled in your browser and try again.

---

Just wanted to add that I just moved my ALL_SDK and ASPIK_SDK folders inside /Users/nathanrightnour/Documents/plugindev, used Kreator to make an Individual Project (VST), set the project folder as /Users/nathanrightnour/Documents/plugindev/ALL_SDK/VST_SDK/VST3_SDK/myprojects, and got the same results.

Avatar
DataLife
Member
Members
May 28, 2019 - 5:18 pm
Member Since: May 23, 2019
Forum Posts: 18
sp_UserOfflineSmall Offline

I'm getting a Unix-style Makefile instead of an Xcode .xcodeproj

Does this have something to do with the CMakeLists?

Avatar
W Pirkle
Admin
May 28, 2019 - 5:42 pm
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

OK - your output is fine and the CMakeLists.txt files are good. Your universal project has all the right features except the Makefile - everything looks spot on.

I was stumped until I looked at your last output dump. 

Your problem is the cmake command itself. This is the proper command:

cmake -GXcode ../

and this is what you wrote:

cmake -gxcode ../

See the difference? One generates an XCode project and the other just the Makefile. 

For the record, the ASPiK documentation does show the correct syntax and case, and you can always cut and paste from it if needed. 

http://aspikplugins.com/sdkdoc.....nning.html

- Will

Avatar
DataLife
Member
Members
May 28, 2019 - 7:58 pm
Member Since: May 23, 2019
Forum Posts: 18
sp_UserOfflineSmall Offline

Okay the XCode project makes now. 

I'm able to get xcode projects from both -GXcode and -gxcode, so I'm a little confused there, but will use the exact syntax you recommend from now on!

It was an issue on my end I think. The solution was in Terminal:

sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

(source: went into Cmake app > How to install for command line use)

then:

xcode-select --install

sudo xcode-select --reset

(source:https://stackoverflow.com/questions/41380900/cmake-error-no-cmake-c-compiler-could-be-found-using-xcode-and-glfw)

I'm now able to build, run, and edit the GUI in AU (using Individual API)!

Trying to build VST (Individual API) results in "Failed", even with the new validator file:

mkdir: /Debug/VolumePlugin4VST.vst3/: Permission denied

make: *** [VolumePlugin4VST_buildpart_1] Error 1

Avatar
DataLife
Member
Members
May 28, 2019 - 8:02 pm
Member Since: May 23, 2019
Forum Posts: 18
sp_UserOfflineSmall Offline

Edit: just tried again the lowercase -gxcode and got a makefile, so I'm officially confused and think you're right about that! But I still had to do the other terminal commands to get it working.

Avatar
W Pirkle
Admin
May 29, 2019 - 8:55 am
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

AFAIK, you must use the capital "G" for "Generator" and I duplicated the results on my Terminal as well with the lower case "gx". When I used your syntax, I did not get the xcode project file. 

The error you are getting from VST3 is coming from the Steinberg CMake files. This happens after the validator passes the plugin (which it must have if you got here). 

After validation, a script is run that is trying to package the VST3. On both MacOS and Windows, the plugin is packaged in a Bundle which is actually a folder in disguise. It looks like the folder where you are doing the development (your mac_ build folder) is in a location that requires admin permission to make changes (e.g. the Applications folder). The mkdir command is trying to create the folder (bundle) and permission is denied. My SDKs are located in:

../Documents/ALL_SDK/

and I don't have an issue making the folders within that directory hierarchy.

Your VST3 will reside here when it is done:

[project]/mac_build/VST3/Debug/VolumePlugin4VST.vst3

Go back and look at what was written - if the /VST3/Debug folder exists, then the permission problem was for the .vst3 bundle. 

 

But wait, there's more. After the VST3 has been written to your HDD in that folder, the CMake script will then try to create a SymLink shortcut in the default VST3 location. 

/Users/Your-User-Name/Library/Audio/Plug-Ins⁩/VST3

If that folder does not exist, then it will say that the build failed, but in reality the plugin did get written - it got hung up on this last step. In this script, they (Steinberg) do not try to mkdir on that VST3 folder above, most likely because it will definitely require admin privileges. So, make sure that folder exists -- if you've installed software that installs Mac VST3s then the folder may already exist. To make matters more complicated, there are actually two different ~/Library folders so there may be yet another VST3 folder on your system as well. For development, you have to write to the "local" one that is connected to the user account and this is what Steinberg expects. 

I also mentioned before that you may need to manually copy the VST3 into the folder since some DAWs may not recognize the symlink.

 

Yes, there is more. On Windows, the same thing is supposed to happen but the default VST3 folder is:

../Program Files/Common Files/VST3

That folder is definitely admin protected so they don't try to create it either. For the Windows version, the plugin will wind up here (note win_build folder)

[project]/win_build/VST3/Debug/VolumePlugin4VST.vst3

Then, you must manually move it into the default VST3 folder above.

- Will

Avatar
W Pirkle
Admin
May 29, 2019 - 6:26 pm
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

When you installed CMake, did you run the sudo command to install the SymLink to your usr/local/bin folder? In the ASPiK docs, I reference making sure that you've gotten the CMake executable added to your system path. For Windows it is easy and is part of the CMake installer. For Mac, you have to use a sudo command.

In each of the sample ASPiK projects on my website (the ones for the book) you can find a readme.txt file in the main folder. It explains how to add the symlink about halfway down (every project has this same file, redundantly...it comes from the RackAFX Export ASPiK function). Here are the instructions for Win and Mac:

-> Windows
During installation, you have the option of adding CMake to your default path list.

Choose YES for this option and you are done.

-> MacOS
Open Terminal and type:

echo $PATH

which produces a colon : separated list of folders you can run directly with terminal;

/usr/local/bin should be in this list

Next, add a SymLink to the CMake executable and place it in the /usr/local/bin folder in Terminal by running:

sudo ln -s /Applications/cmake.app/Contents/bin/cmake /usr/local/bin

After that, you are done.

That is what I did to install CMake and I've never had to mess with any of those extra instructions that you did. Note that if /usr/local/bin *isn't* in the list, you may have to make it manually with mkdir, but I am guessing you already have something symlinked there already. 

- Will

Avatar
M Bradshaw
Member
Members
June 1, 2019 - 4:36 pm
Member Since: February 22, 2018
Forum Posts: 10
sp_UserOfflineSmall Offline

Will,

I am getting issues with CMake now that I have switched to RAFX 7.0.1.4 exports and updated to the latest ASPiK SDK.  I updated the vstgui4 folder from ASPik in my universal project folder on the Mac.      The issue is the Xcode Universal project is not getting created by CMake.  

As a tool check, I was able to generate the Universal Xcode project using the DemoVolumePlugin sample code from the latest ASPiK SDK.  It builds in Xcode.

Here is the terminal output for my CMake to create Universal Xcode project on my project exported from RAFX 7.0.1.4 that fails.

https://pastebin.com/uFXgrFTz

Here is the CMakeOutput.log

https://pastebin.com/WWhFNVDv

Thanks!

Merril

Avatar
M Bradshaw
Member
Members
June 1, 2019 - 8:29 pm
Member Since: February 22, 2018
Forum Posts: 10
sp_UserOfflineSmall Offline

Will,

For a new book project or my own project imported from older RAFX...If I uncheck VST in Universal Project Export in RAFX 7.0.1.4 and export to Mac then CMake generates the Universal Xcode project which builds successfully in Xcode for AAX and AU.  So I guess I need to upgrade to the latest VST3 SDK on my ALL_SDK source tree on the MAC??

Merril

Avatar
W Pirkle
Admin
June 2, 2019 - 10:33 am
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

Yes, the error from plugininterfaces not having a valid CMakeLists.txt file is evidence you are using VST3 SDK 3.6.12.

In 3.6.13, they added plugininterfaces as its own target requiring its own CMakeLists.txt file.

So, your issue is the VST3 SDK version.

3.6.13 also contains the VSTGUI 4.8 that ASPiK uses. 

I only update the VSTGUI4 libraries when a new VST3 SDK comes out. They are setup to be synchronized. 

You should not use the GitHub version of VSTGUI unless you really know what you are doing - I've found that although the version number may be the same (4.8) the GiHub is a dev version, and may be different.

- Will

Avatar
W Pirkle
Admin
June 12, 2019 - 11:45 am
Member Since: January 28, 2017
Forum Posts: 362
sp_UserOfflineSmall Offline

For the mkdir issue with MacOS and VST3 I have fixed this in ASPiK 1.6.1.

See the post here:

https://www.willpirkle.com/forum/vst3-and-aspik/aspik-v1-6-1-fixes-macos-vst3-mkdir-issue/#p2365

Sorry for the inconvenience (and thinking you were all crazy).

- Will

Avatar
TheSmile
Member
Members
July 29, 2019 - 2:37 am
Member Since: June 25, 2018
Forum Posts: 43
sp_UserOfflineSmall Offline

Getting the same AAX error with cmake: 

Cannot find source file:
/Development/ALL_SDK_NEW/AAX_SDK_2p3p1/Libs/Debug/libAAXLibrary_libcpp.a

in the folder i've got a libAAXLibrary.a 

Mac 10.13.3 

the mkdir thing also happens with RackAFX7 - but VST files are written and work 😀 (Xcode 9.2)

No permission to create posts
Forum Timezone: America/New_York

Most Users Ever Online: 85

Currently Online:
7 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Skyler: 48

Derek: 46

Frodson: 45

TheSmile: 43

Peter: 41

clau_ste: 39

JimmyM: 33

Gwen: 32

EZB: 24

lppier: 23

Member Stats:

Guest Posters: 1

Members: 579

Moderators: 1

Admins: 4

Forum Stats:

Groups: 12

Forums: 36

Topics: 595

Posts: 2377

Newest Members:

haslo, tomr, Noah, Dave, acv, Vasil992, Vasil92, dowsed, Simple, Chris_1

Moderators: W Pirkle: 362

Administrators: Tom: 73, JD Young: 80, Will Pirkle: 0, W Pirkle: 362