[CM] sndlib build error

Bill Schottstaedt bil at ccrma.Stanford.EDU
Tue Dec 24 08:47:06 PST 2013


> ..ome/dlphilp/src/commonmusic-code/sndlib/premake4.lua:95: attempt to 
call field 'is64bit' (a nil value) 

I think this means you have an older version of premake -- you need
premake 4.4 for the current cm/sndlib.  Also, unless I'm completely
confused, s7.cpp is from an older version of cm -- are you building
3.9.0 from Sept 2013?  I tried to build from what I think are current
sources, and got a Juce problem:

/Users/bil/test/ncm1/cm/ ../premake4 
Building configurations...
Running action 'gmake'...
Generating Makefile...
Generating juce.make...
Generating Grace.make...
Done.
/Users/bil/test/ncm1/cm/ make
==== Building juce (release) ====
Creating lib
Creating obj/juce/Release
Running pre-build commands
res/bin/juce.sh
==== Downloading JUCE into /Users/bil/test/ncm1/cm/juce ====
Cloning into 'juce'...
remote: Counting objects: 1948, done.
remote: Compressing objects: 100% (1732/1732), done.
remote: Total 1948 (delta 443), reused 524 (delta 170)
Receiving objects: 100% (1948/1948), 5.53 MiB | 602.00 KiB/s, done.
Resolving deltas: 100% (443/443), done.
Checking out files: 100% (1775/1775), done.
juce_audio_basics.mm
juce_audio_devices.mm
In file included from juce/modules/juce_audio_devices/juce_audio_devices.cpp:148,
                 from juce/modules/juce_audio_devices/juce_audio_devices.mm:25:
juce/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp: In member function 
'juce::StringArray juce::CoreAudioClasses::CoreAudioInternal::getChannelInfo(bool, 
juce::Array<juce::CoreAudioClasses::CoreAudioInternal::CallbackDetailsForChannel, 
juce::DummyCriticalSection, 0>&) const':
juce/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp:244: warning: 
'AudioDeviceGetProperty' is deprecated (declared at 
/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2367)
juce/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp:245: warning: 
'AudioDeviceGetProperty' is deprecated (declared at 
/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2367)
juce_audio_formats.mm
juce_audio_processors.mm
juce_audio_utils.mm
juce_core.mm
juce_data_structures.mm
juce_events.mm
juce_graphics.mm
juce_gui_basics.mm
juce_gui_extra.mm
Linking juce
==== Building Grace (release) ====
Creating bin/Grace.app/Contents/MacOS
Creating obj/Grace/Release
Running pre-build commands
res/bin/sndlib.sh
=== Downloading Sndlib into /Users/bil/test/ncm1/cm/sndlib ====
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 2166k  100 2166k    0     0   607k      0  0:00:03  0:00:03 --:--:--  798k
=== Building Sndlib ====
checking build system type... i386-apple-darwin10.8.0
checking host system type... i386-apple-darwin10.8.0
checking for gcc... g++
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether g++ accepts -g... yes
checking for g++ option to accept ISO C89... unsupported
checking for a BSD-compatible install... /usr/bin/install -c
checking how to run the C preprocessor... g++ -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking size of void *... 4
checking for pkg-config... /usr/local/bin/pkg-config
checking for gsl... no
checking for audio system... MacOSX
configure: creating ./config.status
config.status: creating makefile
config.status: creating sndlib.pc
config.status: creating sndins/Makefile
config.status: creating sndlib-config
config.status: creating unix-config.h
g++ -c -DHAVE_CONFIG_H -I. -g -O2     headers.c
g++ -c -DHAVE_CONFIG_H -I. -g -O2     audio.c
g++ -c -DHAVE_CONFIG_H -I. -g -O2     io.c
g++ -c -DHAVE_CONFIG_H -I. -g -O2     sound.c
g++ -c -DHAVE_CONFIG_H -I. -g -O2     xen.c
g++ -c -DHAVE_CONFIG_H -I. -g -O2     vct.c
g++ -c -DHAVE_CONFIG_H -I. -g -O2     clm.c
g++ -c -DHAVE_CONFIG_H -I. -g -O2     sndlib2xen.c
g++ -c -DHAVE_CONFIG_H -I. -g -O2     clm2xen.c
g++ -c -DHAVE_CONFIG_H -I. -g -O2     s7.c
:  headers.o audio.o io.o sound.o xen.o vct.o clm.o sndlib2xen.o clm2xen.o s7.o -o libsndlib.so -
dynamic -bundle -undefined suppress -flat_namespace  -framework CoreAudio -framework 
CoreFoundation -framework CoreMIDI    
ar -rc libsndlib.a headers.o audio.o io.o sound.o xen.o vct.o clm.o sndlib2xen.o clm2xen.o s7.o
: libsndlib.a
Metronome.cpp
Syntax.cpp
src/Syntax.cpp: In member function 'virtual void SalSyntax::eval(juce::CodeDocument&, 
juce::CodeDocument::Position, juce::CodeDocument::Position, bool, bool)':
src/Syntax.cpp:1632: warning: 'swapWithArray' is deprecated (declared at 
juce/modules/juce_audio_basics/../juce_core/containers/juce_OwnedArray.h:882)
CmSupport.cpp
In file included from src/MidiPlaybackThread.h:12,
                 from src/Plot.h:12,
                 from src/CmSupport.cpp:16:
src/Transport.h: In constructor 'Transport::Transport(Transport::Listener*, Transport::TempoConfig*, 
bool)':
src/Transport.h:222: error: no matching function for call to 'juce::Slider::setValue(double&, bool, 
bool)'
juce/modules/juce_audio_processors/../juce_gui_basics/widgets/juce_Slider.h:348: note: candidates 
are: void juce::Slider::setValue(double, juce::NotificationType)
src/Transport.h: In member function 'void Transport::setPlaybackPosition(double, bool)':
src/Transport.h:312: error: no matching function for call to 'juce::Slider::setValue(double&, bool&, 
bool)'
juce/modules/juce_audio_processors/../juce_gui_basics/widgets/juce_Slider.h:348: note: candidates 
are: void juce::Slider::setValue(double, juce::NotificationType)
src/Transport.h: In member function 'void Transport::setPlaybackTempo(double, bool)':
src/Transport.h:346: error: no matching function for call to 'juce::Slider::setValue(double&, bool&, 
bool)'
juce/modules/juce_audio_processors/../juce_gui_basics/widgets/juce_Slider.h:348: note: candidates 
are: void juce::Slider::setValue(double, juce::NotificationType)
src/Transport.h: In member function 'void Transport::printTempo(double)':
src/Transport.h:545: error: no matching function for call to 'juce::Label::setText(juce::String, bool)'
juce/modules/juce_audio_processors/../juce_gui_basics/widgets/juce_Label.h:60: note: candidates 
are: void juce::Label::setText(const juce::String&, juce::NotificationType)
src/Transport.h:552: error: no matching function for call to 'juce::Label::setText(juce::String, bool)'
juce/modules/juce_audio_processors/../juce_gui_basics/widgets/juce_Label.h:60: note: candidates 
are: void juce::Label::setText(const juce::String&, juce::NotificationType)
make[1]: *** [obj/Grace/Release/CmSupport.o] Error 1
make: *** [Grace] Error 2


I think I prefer configure/make to premake/make -- at least I can
figure out what is happening in the old (horrible) case.



More information about the Cmdist mailing list