On 03/06/2016 20:21, Steven Franke wrote:
> Trying to build the latest on Ubuntu 14.04. This is the machine that is 
> connected to my rig, and I’ve been regularly building recent revisions 
> without any problems. The latest successful build on this machine was of 
> r6711. Now, on r6722 I’m seeing this:
>
> [ 87%] Built target debian
> Linking CXX executable wsjtx
> /usr/bin/ld: Warning: size of symbol `table' changed from 4 in 
> libwsjt_cxx.a(dec.c.o) to 408 in 
> //usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so
> /usr/bin/ld: libwsjt_cxx.a(dec.c.o): undefined reference to symbol 'table'
> //usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so: error adding 
> symbols: DSO missing from command line
> collect2: error: ld returned 1 exit status
> make[2]: *** [wsjtx] Error 1
> make[1]: *** [CMakeFiles/wsjtx.dir/all] Error 2
> make: *** [all] Error 2
>
> I have recently let the Updater do its thing on this machine, which may be 
> what initiated the problem. Has anyone else encountered this and identified 
> the fix?

Hi Steve,

the issue is that the symbols exported from lib/ldpc/dec.c are too 
generically named and have clashed with something equally generically 
named in some pulseaudio module.

I suggest prepending the exported names with something likely to be 
unique like ldpc_dec_. Like:

typedef enum

{ Enum_block, Enum_bit, Prprp

} decoding_method;

extern decoding_method ldpc_dec_method; /* Decoding method to use */

extern int ldpc_dec_table;    /* Trace option, 2 for a table of decoding 
details */

extern int ldpc_dec_block_no;    /* Number of current block, from zero */

extern int ldpc_dec_max_iter;    /* Maximum number of iteratons of decoding to 
do */

extern char *ldpc_dec_gen_file;    /* Generator file for Enum_block and 
Enum_bit */

/* PROCEDURES RELATING TO DECODING METHODS. */

void ldpc_dec_enum_decode_setup (void);

unsigned ldpc_dec_enum_decode (double *, char *, double *, int);

void ldpc_dec_prprp_decode_setup (void);

unsigned ldpc_dec_prprp_decode (mod2sparse *, double *, char *, char *, double 
*);

void ldpc_dec_initprp (mod2sparse *, double *, char *, double *);

void ldpc_dec_iterprp (mod2sparse *, double *, char *, double *);


73
Bill
G4WJS.


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to