make error fix Ubuntu 11.10

Status
Not open for further replies.

Sinager

Member
Joined
Dec 8, 2005
Messages
40
Hi All,
whoever wants to upgrade to Ubuntu 11.10 has two problems to face:

1- missing /dev/dsp devices since Ubuntu 10.10: a patch was submitted in another thread (http://forums.radioreference.com/digital-voice-decoding-software/220493-fix-ubuntu-10-10-a.html) to route your audio via padsp however I prefer to recompile my kernel with OSS support in order to run other old software (MultiMon to name one). Feel free to ask if you need guidance.

2- structure of the Makefile now has to be more precise, putting libraries to be included in the script at the end of each compiling command. This is what leads to errors like the ones described here: http://forums.radioreference.com/digital-voice-decoding-software/224276-dsd-install-error.html
I've made a few changes to the MBE and DSD Makefiles to follow the new rules and now they compile fine: I'm attaching them below. Just in case here's also an alternative download on my website:
http://www.tarapippo.net/linux/dsd-makefiles.tar.gz
Usage:
- remove "Makefile" from both the DSD and MBE directories
- replace them with the ones provided, renaming both to "Makefile", each in its own directory

Thank to DSDAuthor for the fine tool!
 

Attachments

Ashaneen

Newbie
Joined
Dec 3, 2011
Messages
2
I was change files Makefile and I add audio patch for file dsd_audio.c

Now working that:

root@monia-radiohost:~/dsd# make
gcc -O2 -Wall -c dsd_audio.c -o dsd_audio.o -I. -I/usr/local/include -I/usr/include
dsd_audio.c: In function ‘writeSynthesizedVoice’:
dsd_audio.c:160:11: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
dsd_audio.c: In function ‘playSynthesizedVoice’:
dsd_audio.c:188:11: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
gcc -O2 -Wall -o dsd dsd_main.o dsd_symbol.o dsd_dibit.o dsd_frame_sync.o dsd_file.o dsd_audio.o dsd_serial.o dsd_frame.o dsd_mbe.o dsd_upsample.o p25p1_hdu.o p25p1_ldu1.o p25p1_ldu2.o p25p1_tdulc.o p25_lcw.o x2tdma_voice.o x2tdma_data.o dstar.o nxdn_voice.o nxdn_data.o dmr_voice.o dmr_data.o provoice.o -L/usr/local/lib -lm -lmbe
/usr/local/lib/libmbe.so: undefined reference to `powf'
/usr/local/lib/libmbe.so: undefined reference to `cosf'
/usr/local/lib/libmbe.so: undefined reference to `exp'
/usr/local/lib/libmbe.so: undefined reference to `sqrtf'
/usr/local/lib/libmbe.so: undefined reference to `log'
collect2: ld returned 1 exit status
make: *** [dsd] Error 1

Its on Ubuntu 11.10. Any ideas yet?
 

Sinager

Member
Joined
Dec 8, 2005
Messages
40
Just to rule out the obvious: did you compile and install MBElib before getting to DSD?
 

corbintechboy

Member
Joined
Aug 12, 2005
Messages
421
Location
Corbin, KY
If Ubuntu has OSS available, install it. Else:

Code:
 sudo ln -s /where/ever/sound/card/is/located /dev/dsp
Fixed without patch!
 

Ashaneen

Newbie
Joined
Dec 3, 2011
Messages
2
Yes, i have installed mbelib, it instalation an compilation was absolute succesfull.

I dont have oss stricte, i have packet "pulse-oss" only, it receiving calls to oss from programs and
redirecting it to pulseaudio system
 

Sinager

Member
Joined
Dec 8, 2005
Messages
40
I'm positive OSS has nothing to do here (btw you can't just install OSS in the latest Ubuntus as the support is disabled in kernel).

It's the math lib not properly linked in at MBE compiling time: it won't fail but any error will surface only at the time you build DSD.

I think I fixed it in my build after reading this thread, however don't know why it didn't get into my makefile: "Undefined Reference" to pow and sqrt even though math.h header is there

I'm not at home with my "radio" pc at the moment, so I can't check hand-on.
Try changing
CFLAGS = -O2 -fPIC
into
CFLAGS = -O2 -fPIC -lm

All the best.
S
 

Sinager

Member
Joined
Dec 8, 2005
Messages
40
Hi,
to check the process I've just recompiled DSD on my netbook using the attached Makefiles and everything went fine. No need for further changes.
Again just in case, may I suggest to try again following these steps:
- get into MBE directory
- "make clean"
- "make"
- "sudo make install"
- "sudo ldconfig"
- get into DSD directory
- "make clean"
- "make"
- "sudo make install"
 
Status
Not open for further replies.
Top