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

Build failure on Mac #22

Open
danielbair opened this issue Jun 29, 2020 · 4 comments
Open

Build failure on Mac #22

danielbair opened this issue Jun 29, 2020 · 4 comments

Comments

@danielbair
Copy link
Contributor

Undefined symbols for architecture x86_64:
"_fftw_destroy_plan", referenced from:
_sonicAddPitchPeriodToSpectrogram in spectrogram.o
"_fftw_execute", referenced from:
_sonicAddPitchPeriodToSpectrogram in spectrogram.o
"_fftw_plan_dft_r2c_1d", referenced from:
_sonicAddPitchPeriodToSpectrogram in spectrogram.o
ld: symbol(s) not found for architecture x86_64

I had to run make with USE_SPECTROGRAM=0 to get it to build on Mac, but I don't know what functionality this will impact.

@dosentmatter
Copy link

dosentmatter commented Dec 23, 2020

Are you on the latest version of sonic? Are you possibly on the espeak-ng fork?

This repo made a fix in 2018 to link in libfftw3. The espeak repo fork is out of date and doesn't have that fix.

The build works for me after that fix. Before the fix, you can see that it failed on

gcc -Wall -Wno-unused-function -O3 -ansi -fPIC -pthread -DSONIC_SPECTROGRAM -shared -Wl,-install_name,libsonic.so.0 sonic.o spectrogram.o -o libsonic.so.0.3.0

because it was missing -lfftw3.

You can also try make CC=gcc -lfftw3. It worked for me, but the arguments to gcc might be out of order.

@waywardgeek
Copy link
Owner

waywardgeek commented Dec 27, 2020 via email

@dosentmatter
Copy link

Hey Bill @waywardgeek, thanks for the response and the insight on Espeak! Not a big deal, but minor correction - you actually missed Daniel's message from June. I, Kevin, only commented on this issue a few days ago.

So if Espeak-ng doesn't use the spectrogram feature, will you be disabling the spectrogram in this upstream or in the Espeak-ng fork? Do you have maintainer access to the Espeak-ng forked repo?

@dosentmatter
Copy link

Oh nevermind. I see you've made a commit to this repo. I guess somebody needs to fast-forward the Espeak-ng fork to be in sync with this upstream repo.

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

3 participants