Jan Stary <h...@stare.cz> writes:

> On Aug 21 11:33:08, m...@mansr.com wrote:
>> Jan Stary <h...@stare.cz> writes:
>> 
>> >> Testing on OpenBSD 6.7-current/amd64.
>> >> It eventually fails with lpc10.h not being found.
>> >> Full log below, comments inline.
>> >
>> > Trying agsin with ./configure --prefix=$HOME --disable-lpc10
>> > to make it finosh without the lpc10 fail. Mysteriously,
>> > it fails with standard C funcrtions not bewing found
>> 
>> I installed OpenBSD in a VM and noticed the same thing.  It seems to
>> have something to do with linking shared libraries.  Is OpenBSD doing
>> something bizarre there?
>
> Full log attached; these is the failing line
> (can we please make make V=1 the default,
> so that the actual commands can be seen?)

No.  That makes warnings almost impossible to notice.  It's easy enough
to add V=1 (it's THREE characters) on those rare occasions where the
command is interesting.  You can set it in your own environment if you
want.

> libtool: link: gcc -shared  -fPIC -DPIC -o .libs/libsox.so.3.0        
> .libs/libsox_la-adpcms.o .libs/libsox_la-aiff.o .libs/libsox_la-cvsd.o 
> .libs/libsox_la-g711.o .libs/libsox_la-g721.o .libs/libsox_la-g723_24.o 
> .libs/libsox_la-g723_40.o .libs/libsox_la-g72x.o .libs/libsox_la-vox.o 
> .libs/libsox_la-raw.o .libs/libsox_la-formats.o .libs/libsox_la-formats_i.o 
> .libs/libsox_la-skelform.o .libs/libsox_la-xmalloc.o .libs/libsox_la-getopt.o 
> .libs/libsox_la-util.o .libs/libsox_la-libsox.o .libs/libsox_la-libsox_i.o 
> .libs/libsox_la-sox-fmt.o .libs/libsox_la-bend.o .libs/libsox_la-biquad.o 
> .libs/libsox_la-biquads.o .libs/libsox_la-chorus.o .libs/libsox_la-compand.o 
> .libs/libsox_la-compandt.o .libs/libsox_la-contrast.o 
> .libs/libsox_la-dcshift.o .libs/libsox_la-delay.o 
> .libs/libsox_la-dft_filter.o .libs/libsox_la-dither.o 
> .libs/libsox_la-divide.o .libs/libsox_la-downsample.o 
> .libs/libsox_la-earwax.o .libs/libsox_la-echo.o .libs/libsox_la-echos.o 
> .libs/libsox_la-effects.o .libs/libsox_la-effects_i.o 
> .libs/libsox_la-effects_i_dsp.o .libs/libsox_la-fade.o 
> .libs/libsox_la-fft4g.o .libs/libsox_la-fir.o .libs/libsox_la-firfit.o 
> .libs/libsox_la-flanger.o .libs/libsox_la-gain.o .libs/libsox_la-hilbert.o 
> .libs/libsox_la-input.o .libs/libsox_la-ladspa.o .libs/libsox_la-loudness.o 
> .libs/libsox_la-mcompand.o .libs/libsox_la-noiseprof.o 
> .libs/libsox_la-noisered.o .libs/libsox_la-output.o 
> .libs/libsox_la-overdrive.o .libs/libsox_la-pad.o .libs/libsox_la-phaser.o 
> .libs/libsox_la-rate.o .libs/libsox_la-remix.o .libs/libsox_la-repeat.o 
> .libs/libsox_la-reverb.o .libs/libsox_la-reverse.o .libs/libsox_la-silence.o 
> .libs/libsox_la-sinc.o .libs/libsox_la-skeleff.o .libs/libsox_la-speed.o 
> .libs/libsox_la-splice.o .libs/libsox_la-stat.o .libs/libsox_la-stats.o 
> .libs/libsox_la-stretch.o .libs/libsox_la-swap.o .libs/libsox_la-synth.o 
> .libs/libsox_la-tempo.o .libs/libsox_la-tremolo.o .libs/libsox_la-trim.o 
> .libs/libsox_la-upsample.o .libs/libsox_la-vad.o .libs/libsox_la-vol.o 
> .libs/libsox_la-raw-fmt.o .libs/libsox_la-s1-fmt.o .libs/libsox_la-s2-fmt.o 
> .libs/libsox_la-s3-fmt.o .libs/libsox_la-s4-fmt.o .libs/libsox_la-u1-fmt.o 
> .libs/libsox_la-u2-fmt.o .libs/libsox_la-u3-fmt.o .libs/libsox_la-u4-fmt.o 
> .libs/libsox_la-al-fmt.o .libs/libsox_la-la-fmt.o .libs/libsox_la-ul-fmt.o 
> .libs/libsox_la-lu-fmt.o .libs/libsox_la-8svx.o .libs/libsox_la-aiff-fmt.o 
> .libs/libsox_la-aifc-fmt.o .libs/libsox_la-au.o .libs/libsox_la-avr.o 
> .libs/libsox_la-cdr.o .libs/libsox_la-cvsd-fmt.o .libs/libsox_la-dvms-fmt.o 
> .libs/libsox_la-dat.o .libs/libsox_la-hcom.o .libs/libsox_la-htk.o 
> .libs/libsox_la-maud.o .libs/libsox_la-prc.o .libs/libsox_la-sf.o 
> .libs/libsox_la-smp.o .libs/libsox_la-sounder.o .libs/libsox_la-soundtool.o 
> .libs/libsox_la-sphere.o .libs/libsox_la-tx16w.o .libs/libsox_la-voc.o 
> .libs/libsox_la-vox-fmt.o .libs/libsox_la-ima-fmt.o .libs/libsox_la-adpcm.o 
> .libs/libsox_la-ima_rw.o .libs/libsox_la-wav.o .libs/libsox_la-wve.o 
> .libs/libsox_la-xa.o .libs/libsox_la-nulfile.o .libs/libsox_la-f4-fmt.o 
> .libs/libsox_la-f8-fmt.o .libs/libsox_la-gsrt.o .libs/libsox_la-flac.o 
> .libs/libsox_la-opus.o .libs/libsox_la-sndio.o .libs/libsox_la-vorbis.o   
> -L/usr/local/lib -lFLAC -lopusfile -lopus -lsndio -lvorbisenc -lvorbisfile 
> -lvorbis -logg -lm  -O2 -Wl,-z -Wl,defs -Wl,--as-needed   
> -Wl,-retain-symbols-file,.libs/libsox.exp
> ld: error: undefined symbol: free
> ld: error: undefined symbol: sprintf
> [etc]
>
> When I drop the "-Wl,-z -Wl,defs" from that line,
> the "gcc -shared" command goes through as expected,
> producing libsox.so

Apparently OpenBSD shared libraries aren't linked with libc.  That's a
quirk I haven't noticed before.

The simplest solution here is probably to just drop the -z defs option.
It doesn't actually do anything useful if everything is as it should.
What it does is prevent the link succeeding if something is accidentally
left unresolved.  This can be useful when working on something, but it's
not really worth the effort of trying to figure out when it's safe to use.

-- 
Måns Rullgård


_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

Reply via email to