Closed gwald closed 8 years ago
@gwald It appears as if you don't have SVN support on your Linux machine. I'll change this dependency later tonight.
@gwald I should have fixed this problem with the latest commit, make sure you are running CMake 3.0.2 as that is the minimum version required to build the software properly.
Hey that's cool of you, thanks! I've upgraded cmake to 3.x I have espeak and PortAudio dev libs installed, not sure why it needs to be cloned?
cmake .. -- The C compiler identification is GNU 4.8.4 -- The CXX compiler identification is GNU 4.8.4 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Error at /usr/share/cmake-3.2/Modules/ExternalProject.cmake:1696 (message): error: could not find git for clone of PortAudio Call Stack (most recent call first): /usr/share/cmake-3.2/Modules/ExternalProject.cmake:2321 (_ep_add_download_command) CMakeLists.txt:13 (ExternalProject_Add)
-- Configuring incomplete, errors occurred!
@gwald What is the directory that libportaudio is stored in?
Hey, I reinstalled it, and cmake worked. But didn't compile :/
xp@XP-Desktop ~/Downloads/tritium-master/build/src $ make clean
xp@XP-Desktop ~/Downloads/tritium-master/build/src $ make
[ 0%] Building C object src/audio/CMakeFiles/audio.dir/auclient.c.o
[ 2%] Building C object src/audio/CMakeFiles/audio.dir/auserver.c.o
[ 4%] Building C object src/audio/CMakeFiles/audio.dir/audio.c.o
/home/xp/Downloads/tritium-master/src/audio/audio.c:185:7: error: unknown type name ‘PaStreamCallbackTimeInfo’
const PaStreamCallbackTimeInfo* timeInfo,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:186:7: error: unknown type name ‘PaStreamCallbackFlags’
PaStreamCallbackFlags statusFlags,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c: In function ‘play_wave’:
/home/xp/Downloads/tritium-master/src/audio/audio.c:220:2: error: unknown type name ‘PaStreamParameters’
PaStreamParameters outputParameters;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:225:18: error: request for member ‘device’ in something not a structure or union
outputParameters.device = Pa_GetDefaultOutputDevice();
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:225:2: warning: implicit declaration of function ‘Pa_GetDefaultOutputDevice’ [-Wimplicit-function-declaration]
outputParameters.device = Pa_GetDefaultOutputDevice();
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:226:22: error: request for member ‘device’ in something not a structure or union
if (outputParameters.device == paNoDevice)
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:232:18: error: request for member ‘channelCount’ in something not a structure or union
outputParameters.channelCount = cst_wave_num_channels(w);
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:233:18: error: request for member ‘sampleFormat’ in something not a structure or union
outputParameters.sampleFormat = paInt16;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:234:21: error: request for member ‘suggestedLatency’ in something not a structure or union
outputParameters.suggestedLatency = Pa_GetDeviceInfo( outputParameters.device )->defaultLowOutputLatency;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:234:75: error: request for member ‘device’ in something not a structure or union
outputParameters.suggestedLatency = Pa_GetDeviceInfo( outputParameters.device )->defaultLowOutputLatency;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:235:21: error: request for member ‘hostApiSpecificStreamInfo’ in something not a structure or union
outputParameters.hostApiSpecificStreamInfo = NULL;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:242:7: error: ‘playCallback’ undeclared (first use in this function)
playCallback,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:242:7: note: each undeclared identifier is reported only once for each function it appears in
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: warning: passing argument 2 of ‘Pa_OpenStream’ makes integer from pointer without a cast [enabled by default]
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: expected ‘PaDeviceID’ but argument is of type ‘void *’
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: warning: passing argument 3 of ‘Pa_OpenStream’ makes integer from pointer without a cast [enabled by default]
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: expected ‘int’ but argument is of type ‘int *’
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: warning: passing argument 5 of ‘Pa_OpenStream’ makes pointer from integer without a cast [enabled by default]
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: expected ‘void *’ but argument is of type ‘unsigned int’
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: warning: passing argument 8 of ‘Pa_OpenStream’ makes integer from pointer without a cast [enabled by default]
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: expected ‘PaSampleFormat’ but argument is of type ‘struct cst_wave *’
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: error: too few arguments to function ‘Pa_OpenStream’
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: declared here
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:250:9: warning: implicit declaration of function ‘Pa_IsStreamActive’ [-Wimplicit-function-declaration]
while((err = Pa_IsStreamActive(stream)) == 1) Pa_Sleep(100);
^
make[2]: *** [src/audio/CMakeFiles/audio.dir/audio.c.o] Error 1
make[1]: *** [src/audio/CMakeFiles/audio.dir/all] Error 2
make: *** [all] Error 2
@gwald What is the directory that libportaudio is stored in? Also, where is the header file stored?
/usr/include
/usr/include/portaudio.h
/usr/lib
/usr/lib/libportaudio.a
/usr/lib/libportaudio.la
/usr/lib/libportaudio.so
/usr/share
/usr/share/doc
/usr/share/doc/libportaudio-dev
/usr/share/doc/libportaudio-dev/changelog.Debian.gz
/usr/share/doc/libportaudio-dev/copyright
/.
/usr
/usr/lib
/usr/lib/libportaudio.so.0
/usr/lib/libportaudio.so.0.0.18
/usr/share
/usr/share/doc
/usr/share/doc/libportaudio0
/usr/share/doc/libportaudio0/changelog.Debian.gz
/usr/share/doc/libportaudio0/copyright
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/libportaudio.so.2
/usr/lib/i386-linux-gnu/libportaudio.so.2.0.0
/usr/share
/usr/share/doc
/usr/share/doc/libportaudio2
/usr/share/doc/libportaudio2/changelog.Debian.gz
/usr/share/doc/libportaudio2/copyright
@gwald I've pushed a new version for you to try out, PortAudio dependencies should be handled better by tritium now.
mkdir build
xp@XP-Desktop ~/Downloads/tritium-master $ cd build/
xp@XP-Desktop ~/Downloads/tritium-master/build $ cmake ..
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Portaudio: /usr/lib/libportaudio.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/xp/Downloads/tritium-master/build
xp@XP-Desktop ~/Downloads/tritium-master/build $ make
Scanning dependencies of target cmu_us_slt
[ 1%] Building C object lang/cmu_us_slt/CMakeFiles/cmu_us_slt.dir/cmu_us_slt.c.o
[ 2%] Building C object lang/cmu_us_slt/CMakeFiles/cmu_us_slt.dir/cmu_us_slt_cg_single_mcep_trees.c.o
[ 3%] Building C object lang/cmu_us_slt/CMakeFiles/cmu_us_slt.dir/cmu_us_slt_cg.c.o
[ 4%] Building C object lang/cmu_us_slt/CMakeFiles/cmu_us_slt.dir/cmu_us_slt_cg_single_params.c.o
[ 4%] Building C object lang/cmu_us_slt/CMakeFiles/cmu_us_slt.dir/cmu_us_slt_cg_durmodel.c.o
[ 5%] Building C object lang/cmu_us_slt/CMakeFiles/cmu_us_slt.dir/cmu_us_slt_cg_phonestate.c.o
[ 6%] Building C object lang/cmu_us_slt/CMakeFiles/cmu_us_slt.dir/cmu_us_slt_cg_f0_trees.c.o
[ 6%] Built target cmu_us_slt
Scanning dependencies of target audio
[ 6%] Building C object src/audio/CMakeFiles/audio.dir/auclient.c.o
[ 7%] Building C object src/audio/CMakeFiles/audio.dir/auserver.c.o
[ 8%] Building C object src/audio/CMakeFiles/audio.dir/audio.c.o
/home/xp/Downloads/tritium-master/src/audio/audio.c:185:7: error: unknown type name ‘PaStreamCallbackTimeInfo’
const PaStreamCallbackTimeInfo* timeInfo,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:186:7: error: unknown type name ‘PaStreamCallbackFlags’
PaStreamCallbackFlags statusFlags,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c: In function ‘play_wave’:
/home/xp/Downloads/tritium-master/src/audio/audio.c:220:2: error: unknown type name ‘PaStreamParameters’
PaStreamParameters outputParameters;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:225:18: error: request for member ‘device’ in something not a structure or union
outputParameters.device = Pa_GetDefaultOutputDevice();
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:225:2: warning: implicit declaration of function ‘Pa_GetDefaultOutputDevice’ [-Wimplicit-function-declaration]
outputParameters.device = Pa_GetDefaultOutputDevice();
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:226:22: error: request for member ‘device’ in something not a structure or union
if (outputParameters.device == paNoDevice)
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:232:18: error: request for member ‘channelCount’ in something not a structure or union
outputParameters.channelCount = cst_wave_num_channels(w);
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:233:18: error: request for member ‘sampleFormat’ in something not a structure or union
outputParameters.sampleFormat = paInt16;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:234:21: error: request for member ‘suggestedLatency’ in something not a structure or union
outputParameters.suggestedLatency = Pa_GetDeviceInfo( outputParameters.device )->defaultLowOutputLatency;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:234:75: error: request for member ‘device’ in something not a structure or union
outputParameters.suggestedLatency = Pa_GetDeviceInfo( outputParameters.device )->defaultLowOutputLatency;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:235:21: error: request for member ‘hostApiSpecificStreamInfo’ in something not a structure or union
outputParameters.hostApiSpecificStreamInfo = NULL;
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:242:7: error: ‘playCallback’ undeclared (first use in this function)
playCallback,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:242:7: note: each undeclared identifier is reported only once for each function it appears in
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: warning: passing argument 2 of ‘Pa_OpenStream’ makes integer from pointer without a cast [enabled by default]
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: expected ‘PaDeviceID’ but argument is of type ‘void *’
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: warning: passing argument 3 of ‘Pa_OpenStream’ makes integer from pointer without a cast [enabled by default]
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: expected ‘int’ but argument is of type ‘int *’
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: warning: passing argument 5 of ‘Pa_OpenStream’ makes pointer from integer without a cast [enabled by default]
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: expected ‘void *’ but argument is of type ‘unsigned int’
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: warning: passing argument 8 of ‘Pa_OpenStream’ makes integer from pointer without a cast [enabled by default]
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: expected ‘PaSampleFormat’ but argument is of type ‘struct cst_wave *’
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:243:7: error: too few arguments to function ‘Pa_OpenStream’
w);
^
In file included from /home/xp/Downloads/tritium-master/src/audio/audio.c:5:0:
/usr/include/portaudio.h:325:9: note: declared here
PaError Pa_OpenStream( PortAudioStream** stream,
^
/home/xp/Downloads/tritium-master/src/audio/audio.c:250:9: warning: implicit declaration of function ‘Pa_IsStreamActive’ [-Wimplicit-function-declaration]
while((err = Pa_IsStreamActive(stream)) == 1) Pa_Sleep(100);
^
make[2]: *** [src/audio/CMakeFiles/audio.dir/audio.c.o] Error 1
make[1]: *** [src/audio/CMakeFiles/audio.dir/all] Error 2
make: *** [all] Error 2
xp@XP-Desktop ~/Downloads/tritium-master/build $
@gwald So for some reason it's not finding portaudio.h
at /usr/include/portaudio.h
. Can you add MESSAGE(STATUS ${PORTAUDIO_INCLUDE_DIRS})
within the if (${PORTAUDIO_FOUND})
conditional in CMakeLists.txt
(between lines 10 and 12)? If you add that and re-run CMake, it should post where it's trying to search for that header and give me a better idea of how to fix that, since I can't replicate this behavior on any of my build machines.
I'm on MintLinux 17.1 , it's old now I guess. Don't stress too much about it.
xp@XP-Desktop ~/Downloads/tritium-master/build $ cmake .. -- The C compiler identification is GNU 4.8.4 -- The CXX compiler identification is GNU 4.8.4 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Portaudio: /usr/lib/libportaudio.so -- /usr/include -- Configuring done -- Generating done -- Build files have been written to: /home/xp/Downloads/tritium-master/build
@gwald Well, that didn't help like I was hoping it would. It looks like it should be doing everything correctly, and I'm confused since it's still breaking. I may try downloading Mint 17.1 this weekend to try and replicate the behavior.
In the meantime, you could try debugging it yourself (it should be a problem within the CMake scripts). Another possible "fix" may be to uninstall PortAudio from your system and let my CMake script try to handle it.
Hi trying to build on Mint Linux 17.1 but fails. Not sure how to proceed. I'm running cmake version 2.8.12.2 Also, just wondering if it supports fixed point hardware?