iPlug2 Forum

Makedist-mac.sh compiler error, build-mac/NarlyDriver.appex not found

Dear all,

I’m trying to compile a release build using the makedist-mac.sh script, however when I run it, I get a compiler error for the AUv3App.

This project has been created with the IPlugFaustDSP example.

At this point I am quite clueless on how to solve this issue so I am looking for advice on where to start debugging and solving this issue.

PBXCp /Users/ruud/Projects/audio/iPlug2/projects/NarlyDriver/build-mac/NarlyDriver.appex /Users/ruud/Applications/NarlyDriver.app/Contents/PlugIns/NarlyDriver.appex (in target 'AUv3App' from project 'NarlyDriver-macOS')
    cd /Users/ruud/Projects/audio/iPlug2/projects/NarlyDriver/projects
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -exclude Headers -exclude PrivateHeaders -exclude Modules -exclude \*.tbd -strip-debug-symbols -strip-tool /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -resolve-src-symlinks /Users/ruud/Projects/audio/iPlug2/projects/NarlyDriver/build-mac/NarlyDriver.appex /Users/ruud/Applications/NarlyDriver.app/Contents/PlugIns
error: /Users/ruud/Projects/audio/iPlug2/projects/NarlyDriver/build-mac/NarlyDriver.appex: No such file or directory (in target 'AUv3App' from project 'NarlyDriver-macOS')

On another note: I commented this line:

GCC_CFLAGS[arch=x86_64] = -Wno-write-strings -mfpmath=sse -msse -msse2 -msse3 //-mavx

Because leaving it enabled it would cause this error and not compile:


FIXME: Implement XCBuild support for macros in overriding parameters with condition sets:
GCC_CFLAGS[arch=x86_64] = -Wno-write-strings -mfpmath=sse -msse -msse2 -msse3

If you have any idea on where to start, or what info to post, please let me know!

Cheers,
Ruud

I’m one step further now. When building AUv3 (non-app version) it succeeds but when archiving, I run into this error:

ld: warning: linking against a dylib which is not safe for use in application extensions: ../../../Dependencies/Build/mac/lib/libfaust.dylib
Undefined symbols for architecture x86_64:
  "iplug::Timer::Create(std::__1::function<void (iplug::Timer&)>, unsigned int)", referenced from:
      iplug::IPlugFaust::IPlugFaust(char const*, int, int) in IPlugFaust.o
  "iplug::IParam::InitDouble(char const*, double, double, double, double, char const*, int, char const*, iplug::IParam::Shape const&, iplug::IParam::EParamUnit, std::__1::function<void (double, WDL_String&)>)", referenced from:
      iplug::IPlugFaust::AddOrUpdateParam(iplug::IParam::EParamType, char const*, double*, double, double, double, double) in IPlugFaust.o
  "iplug::IParam::Init(iplug::IParam const&, char const*, char const*, char const*)", referenced from:
      iplug::IPlugFaust::CreateIPlugParameters(iplug::IPlugAPIBase*, int, int, bool) in IPlugFaust.o
  "iplug::IParam::InitInt(char const*, int, int, int, char const*, int, char const*)", referenced from:
      iplug::IPlugFaust::AddOrUpdateParam(iplug::IParam::EParamType, char const*, double*, double, double, double, double) in IPlugFaust.o
  "iplug::IParam::InitBool(char const*, bool, char const*, int, char const*, char const*, char const*)", referenced from:
      iplug::IPlugFaust::AddOrUpdateParam(iplug::IParam::EParamType, char const*, double*, double, double, double, double) in IPlugFaust.o
  "iplug::IParam::InitEnum(char const*, int, int, char const*, int, char const*, char const*, ...)", referenced from:
      iplug::IPlugFaust::AddOrUpdateParam(iplug::IParam::EParamType, char const*, double*, double, double, double, double) in IPlugFaust.o
  "iplug::IParam::IParam()", referenced from:
      iplug::IPlugFaust::AddOrUpdateParam(iplug::IParam::EParamType, char const*, double*, double, double, double, double) in IPlugFaust.o
  "iplug::IParam::GetName() const", referenced from:
      iplug::IPlugFaust::AddOrUpdateParam(iplug::IParam::EParamType, char const*, double*, double, double, double, double) in IPlugFaust.o
      iplug::IPlugFaust::FindExistingParameterWithName(char const*) in IPlugFaust.o
      iplug::IPlugFaust::BuildParameterMap() in IPlugFaust.o
  "vtable for iplug::IParam::ShapeLinear", referenced from:
      iplug::IPlugFaust::AddOrUpdateParam(iplug::IParam::EParamType, char const*, double*, double, double, double, double) in IPlugFaust.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Yet when checking the architure of the libraries, there should be symbols for x86_64.

~lipo -info libfaust.a 
Non-fat file: libfaust.a is architecture: x86_64
~lipo -info libfaust.dylib
Non-fat file: libfaust.dylib is architecture: x86_64