Hi, I just upgraded my box to Ubuntu 11.10 and successfully compiled GNURadio 3.4.2, however I'm unable to build osmo-tetra (output below). I had it working on my Ubuntu 10.10 box with GNURadio 3.1 or 3.2 (can't remember exactly now). The latest libosmocore has been compiled and installed. Trying to get closer to the issue I also experimented with the libosmocore/osmo-tetra source versions available when I made the successful install, but I'm getting the same error.
I'm not sure whether I'm simply missing some step or I'm facing an incompatibility. Any hint?
Thanks S
sinager@SIRAD:~/osmo-tetra/src$ make cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c conv_enc_test.c -o conv_enc_test.o conv_enc_test.c: In function âmainâ: conv_enc_test.c:310:11: warning: unused variable âoutâ [-Wunused-variable] conv_enc_test.c:309:6: warning: unused variable âerrâ [-Wunused-variable] cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c testpdu.c -o testpdu.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c phy/tetra_burst_sync.c -o phy/tetra_burst_sync.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c phy/tetra_burst.c -o phy/tetra_burst.o phy/tetra_burst.c: In function âtetra_burst_rx_cbâ: phy/tetra_burst.c:316:2: warning: enumeration value âTETRA_TRAIN_NORM_3â not handled in switch [-Wswitch] phy/tetra_burst.c:316:2: warning: enumeration value âTETRA_TRAIN_EXTâ not handled in switch [-Wswitch] ar r libosmo-tetra-phy.a phy/tetra_burst_sync.o phy/tetra_burst.o ar: creating libosmo-tetra-phy.a cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/tetra_conv_enc.c -o lower_mac/tetra_conv_enc.o lower_mac/tetra_conv_enc.c:34:14: warning: âdump_stateâ defined but not used [-Wunused-function] cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/tch_reordering.c -o lower_mac/tch_reordering.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_tdma.c -o tetra_tdma.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/tetra_scramb.c -o lower_mac/tetra_scramb.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/tetra_rm3014.c -o lower_mac/tetra_rm3014.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/tetra_interleave.c -o lower_mac/tetra_interleave.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/crc_simple.c -o lower_mac/crc_simple.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_common.c -o tetra_common.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/viterbi.c -o lower_mac/viterbi.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/viterbi_cch.c -o lower_mac/viterbi_cch.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/viterbi_tch.c -o lower_mac/viterbi_tch.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c lower_mac/tetra_lower_mac.c -o lower_mac/tetra_lower_mac.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_upper_mac.c -o tetra_upper_mac.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_mac_pdu.c -o tetra_mac_pdu.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_llc_pdu.c -o tetra_llc_pdu.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_llc.c -o tetra_llc.o tetra_llc.c: In function âtllc_defrag_outâ: tetra_llc.c:95:3: warning: implicit declaration of function âtun_allocâ [-Wimplicit-function-declaration] tetra_llc.c:106:1: warning: no return statement in function returning non-void [-Wreturn-type] tetra_llc.c: In function ârx_tm_sduâ: tetra_llc.c:121:2: warning: enumeration value âTLLC_PDUT_DEC_UNKNOWNâ not handled in switch [-Wswitch] tetra_llc.c:121:2: warning: enumeration value âTLLC_PDUT_DEC_ALX_ACKâ not handled in switch [-Wswitch] tetra_llc.c:121:2: warning: enumeration value âTLLC_PDUT_DEC_ALX_RNRâ not handled in switch [-Wswitch] cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_mle_pdu.c -o tetra_mle_pdu.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_mm_pdu.c -o tetra_mm_pdu.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_cmce_pdu.c -o tetra_cmce_pdu.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_sndcp_pdu.c -o tetra_sndcp_pdu.o cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tetra_gsmtap.c -o tetra_gsmtap.o tetra_gsmtap.c: In function âtetra_gsmtap_sendmsgâ: tetra_gsmtap.c:66:3: warning: implicit declaration of function âgsmtap_sendmsgâ [-Wimplicit-function-declaration] tetra_gsmtap.c: In function âtetra_gsmtap_initâ: tetra_gsmtap.c:75:2: warning: implicit declaration of function âgsmtap_source_initâ [-Wimplicit-function-declaration] tetra_gsmtap.c:75:8: warning: assignment makes pointer from integer without a cast [enabled by default] tetra_gsmtap.c:78:2: warning: implicit declaration of function âgsmtap_source_add_sinkâ [-Wimplicit-function-declaration] tetra_gsmtap.c:73:6: warning: unused variable âfdâ [-Wunused-variable] cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. -c tuntap.c -o tuntap.o ar r libosmo-tetra-mac.a lower_mac/tetra_conv_enc.o lower_mac/tch_reordering.o tetra_tdma.o lower_mac/tetra_scramb.o lower_mac/tetra_rm3014.o lower_mac/tetra_interleave.o lower_mac/crc_simple.o tetra_common.o lower_mac/viterbi.o lower_mac/viterbi_cch.o lower_mac/viterbi_tch.o lower_mac/tetra_lower_mac.o tetra_upper_mac.o tetra_mac_pdu.o tetra_llc_pdu.o tetra_llc.o tetra_mle_pdu.o tetra_mm_pdu.o tetra_cmce_pdu.o tetra_sndcp_pdu.o tetra_gsmtap.o tuntap.o ar: creating libosmo-tetra-mac.a cc -g -O0 -Wall `pkg-config --cflags libosmocore 2> /dev/null` -I. `pkg-config --libs libosmocore 2> /dev/null` -losmocore -o conv_enc_test conv_enc_test.o testpdu.o libosmo-tetra-phy.a libosmo-tetra-mac.a conv_enc_test.o: In function `decode_schf': /home/sinager/osmo-tetra/src/conv_enc_test.c:59: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:62: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:65: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:69: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:71: undefined reference to `osmo_ubit_dump' conv_enc_test.o:/home/sinager/osmo-tetra/src/conv_enc_test.c:84: more undefined references to `osmo_ubit_dump' follow conv_enc_test.o: In function `build_ndb_schf': /home/sinager/osmo-tetra/src/conv_enc_test.c:106: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:110: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:115: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:125: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:129: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:134: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:140: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:147: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:149: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:153: undefined reference to `osmo_ubit_dump' conv_enc_test.o: In function `decode_sb1': /home/sinager/osmo-tetra/src/conv_enc_test.c:166: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:169: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:172: undefined reference to `osmo_ubit_dump' conv_enc_test.o:/home/sinager/osmo-tetra/src/conv_enc_test.c:176: more undefined references to `osmo_ubit_dump' follow conv_enc_test.o: In function `build_sb': /home/sinager/osmo-tetra/src/conv_enc_test.c:222: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:226: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:231: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:241: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:245: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:250: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:257: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:262: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:267: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:277: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:281: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:289: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:296: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:298: undefined reference to `osmo_ubit_dump' /home/sinager/osmo-tetra/src/conv_enc_test.c:302: undefined reference to `osmo_ubit_dump' conv_enc_test.o: In function `main': /home/sinager/osmo-tetra/src/conv_enc_test.c:338: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:339: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:342: undefined reference to `osmo_pbit2ubit' /home/sinager/osmo-tetra/src/conv_enc_test.c:343: undefined reference to `osmo_pbit2ubit' testpdu.o: In function `testpdu_init': /home/sinager/osmo-tetra/src/testpdu.c:43: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:44: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:45: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:46: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:47: undefined reference to `bitvec_set_uint' testpdu.o:/home/sinager/osmo-tetra/src/testpdu.c:48: more undefined references to `bitvec_set_uint' follow testpdu.o: In function `testpdu_init': /home/sinager/osmo-tetra/src/testpdu.c:50: undefined reference to `bitvec_set_bit' /home/sinager/osmo-tetra/src/testpdu.c:51: undefined reference to `bitvec_set_bit' /home/sinager/osmo-tetra/src/testpdu.c:52: undefined reference to `bitvec_set_bit' /home/sinager/osmo-tetra/src/testpdu.c:54: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:55: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:56: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:57: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:58: undefined reference to `bitvec_set_bit' /home/sinager/osmo-tetra/src/testpdu.c:59: undefined reference to `osmo_hexdump' /home/sinager/osmo-tetra/src/testpdu.c:67: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:68: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:69: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:70: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:71: undefined reference to `bitvec_set_uint' testpdu.o:/home/sinager/osmo-tetra/src/testpdu.c:72: more undefined references to `bitvec_set_uint' follow testpdu.o: In function `testpdu_init': /home/sinager/osmo-tetra/src/testpdu.c:73: undefined reference to `bitvec_set_bit' /home/sinager/osmo-tetra/src/testpdu.c:74: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:75: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:76: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:77: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:78: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:79: undefined reference to `bitvec_set_bit' /home/sinager/osmo-tetra/src/testpdu.c:80: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:81: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:82: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:84: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:85: undefined reference to `bitvec_set_uint' testpdu.o:/home/sinager/osmo-tetra/src/testpdu.c:86: more undefined references to `bitvec_set_uint' follow testpdu.o: In function `testpdu_init': /home/sinager/osmo-tetra/src/testpdu.c:87: undefined reference to `osmo_hexdump' /home/sinager/osmo-tetra/src/testpdu.c:93: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:95: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:96: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:97: undefined reference to `bitvec_set_uint' /home/sinager/osmo-tetra/src/testpdu.c:98: undefined reference to `osmo_hexdump' libosmo-tetra-mac.a(viterbi_cch.o): In function `conv_cch_decode': /home/sinager/osmo-tetra/src/lower_mac/viterbi_cch.c:63: undefined reference to `osmo_conv_decode_init' /home/sinager/osmo-tetra/src/lower_mac/viterbi_cch.c:65: undefined reference to `osmo_conv_decode_scan' /home/sinager/osmo-tetra/src/lower_mac/viterbi_cch.c:66: undefined reference to `osmo_conv_decode_finish' /home/sinager/osmo-tetra/src/lower_mac/viterbi_cch.c:68: undefined reference to `osmo_conv_decode_get_output' /home/sinager/osmo-tetra/src/lower_mac/viterbi_cch.c:70: undefined reference to `osmo_conv_decode_deinit' collect2: ld returned 1 exit status make: *** [conv_enc_test] Errore 1
Hi, I eventually managed to build,In case anyone else is affected by the same issue, here is how I modified the Makefile. All the bestStefano -----cut here-----CFLAGS=-g -O0 -WallCPIPPO=-I/usr/local/include/osmocom/core/ -I/usr/local/include/ -I.#LDFLAGS=-L/usr/local/lib -losmocoreall: conv_enc_test crc_test tetra-rx float_to_bits tunctl%.o: %.c $(CC) $(CFLAGS) -c $^ -o $@ $(CPIPPO)libosmo-tetra-phy.a: phy/tetra_burst_sync.o phy/tetra_burst.o $(AR) r $@ $^libosmo-tetra-mac.a: lower_mac/tetra_conv_enc.o lower_mac/tch_reordering.o tetra_tdma.o lower_mac/tetra_scramb.o lower_mac/tetra_rm3014.o lower_mac/tetra_interleave.o lower_mac/crc_simple.o tetra_common.o lower_mac/viterbi.o lower_mac/viterbi_cch.o lower_mac/viterbi_tch.o lower_mac/tetra_lower_mac.o tetra_upper_mac.o tetra_mac_pdu.o tetra_llc_pdu.o tetra_llc.o tetra_mle_pdu.o tetra_mm_pdu.o tetra_cmce_pdu.o tetra_sndcp_pdu.o tetra_gsmtap.o tuntap.o $(AR) r $@ $^float_to_bits: float_to_bits.ocrc_test: crc_test.o tetra_common.o libosmo-tetra-mac.a $(CC) $(CFLAGS) -o $@ $^ -L/usr/local/lib -losmocore $(CPIPPO)tetra-rx: tetra-rx.o libosmo-tetra-phy.a libosmo-tetra-mac.a $(CC) $(CFLAGS) -o $@ $^ -L/usr/local/lib -losmocore $(CPIPPO)conv_enc_test: conv_enc_test.o testpdu.o libosmo-tetra-phy.a libosmo-tetra-mac.a $(CC) $(CFLAGS) -o $@ $^ -L/usr/local/lib -losmocore $(CPIPPO)tunctl: tunctl.oclean: @rm -f tunctl float_to_bits crc_test tetra-rx conv_enc_test *.o phy/*.o lower_mac/*.o *.a-----cut here--- Da: "Sylvain Munaut" 246tnt@gmail.com A: "sinager@tarapippo.net" sinager@tarapippo.net Cc: tetra@lists.osmocom.org Data: Mon, 24 Oct 2011 21:22:21 +0200 Oggetto: Re: osmo-tetra make error
I'm not sure whether I'm simply missing some step or I'm facing an incompatibility. Any hint?
They messed with the linker in 11.10 ... search the net, there is a bunch of report.
Cheers,
Sylvain
Hi,
I don't use Ubuntu myself, but from what I got told in the last days I got the impression that what happens is just an "enforcement" of what should have been done ever since. -> put libraries after objects after sources when using gcc. I tried the attached patch in a ubuntu 11.10 amd64 VM and got executables. No more testing was done though.
Kind regards, -Alexander Huemer
On Sun, Oct 30, 2011 at 04:36:11PM +0100, Alexander Huemer wrote:
I tried the attached patch in a ubuntu 11.10 amd64 VM and got executables. No more testing was done though.
thanks, merged.