On Thu, 6 Jun 2013, Curt, WE7U wrote:

> On Thu, 6 Jun 2013, Curt, WE7U wrote:
>
>> A few more things (as I get further along):
>> 
>> I tried cmake and get all kinds of nasty error messages.  Nothing really 
>> happens.  Looks like maybe the OpenSuSE cmake package is broken, or there's 
>> additional setup I need to do before I can use it the first time on the 
>> system.
>> 
>> So...  Using "./configure;make;make install", which I'm very familiar with, 
>> I got further.
>> 
>> codec2 wasn't an issue.  "./configure;make;make install" worked fine for 
>> it, from the codec2-dev directory.
>> 
>> In the fdmdv2/src directory:  "make -f Makefile.linux" got to libctb and 
>> quit.
>> 
>> I did some searching and found the site for libctb distribution, but 
>> couldn't easily find how to download just the libctb sources.
>> 
>> In Makefile.linux I found "wget 
>> https://iftools.com/download/ctb/0.16/libctb-0.16.tar.gz";, so did that in 
>> another directory and got libctb installed from libctb-0.16/build/ using 
>> "make -f GNUmakefile" and "make -f GNUmakefile install".
>> 
>> Then "make -f Makefile.linux" in the fdmdv2/src directory still errored out 
>> on libctb.  Turned out the "kbhit.h" file didn't get installed by the 
>> libctb make install, so I manually copied that file to the installed area 
>> ("/usr/local/include/ctb-0.16/").  That must be a bug in the libctb 
>> Makefile.
>> 
>> Then had to go into freetel-code/fdmdv2/src/wxWidgets-2.9.4 and type 
>> "./configure;make;make install"
>> 
>> Then back to fdmdv2/src and "make -f Makefile.linux".  Errored out after 
>> successfully compiling sox:
>> 
>> 
>> make[2]: Leaving directory 
>> `/home/src/we7u/freetel-code/freetel-code/fdmdv2/src/sox-14.4.0'
>> make[1]: Leaving directory 
>> `/home/src/we7u/freetel-code/freetel-code/fdmdv2/src/sox-14.4.0'
>> cd codec2-dev && ./configure && make && touch .built
>> configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
>> checking for a BSD-compatible install... /usr/bin/install -c
>> checking whether build environment is sane... yes
>> checking for gawk... gawk
>> checking whether make sets $(MAKE)... yes
>> checking for gcc... gcc
>> checking whether the C compiler works... yes
>> checking for C compiler default output file name... a.out
>> checking for suffix of executables... checking whether we are cross 
>> compiling... no
>> checking for suffix of object files... o
>> checking whether we are using the GNU C compiler... yes
>> checking whether gcc accepts -g... yes
>> checking for gcc option to accept ISO C89... none needed
>> checking for style of include used by make... GNU
>> checking dependency style of gcc... none
>> configure: error: cannot run /bin/sh ./../../config.sub
>> make: *** [codec2-dev/.built] Error 127
>
>
> I found out this was being generated by "./configure" in 
> "freetel-code/fdmdv2/src/codec2-dev/", as I see it in the config.log file 
> there.
>
> That's interesting because running "./configure;make;make install" in 
> "freetel-code/codec2-dev/" (a different directory entirely) worked for me 
> just fine!  Same for the parallel directory called "codec2".
>
> So why do we have yet another codec2-dev directory under fdmdv2/src?  That's 
> the one that isn't compiling for me, and the one evidently used by the fdmdv2 
> build.

I looked up the nasty-grams that cmake was giving me.  Turns out I just needed 
to delete the CMakeCache.txt file to make them go away, then I churned through 
installing various libraries until it was able to finish.  The only difference 
between my library names and what the cmake messages told me to install was 
with samplerate-devel:  I need to install libsamplerate-devel on OpenSuSE.

Now when I type "make" I see the "golay23.h" error which I remember reading 
about lately.  That file is present in both the codec2-dev/src/ and 
fdmdv2/src/codec2-dev/src/ directories.  I copied the file from the latter 
directory to /usr/local/include/ and the "make" continued, then blew up at the 
"Linking CXX executable freedv" stage:


Linking CXX executable freedv
CMakeFiles/freedv.dir/fdmdv2_main.cpp.o: In function 
`per_frame_rx_processing(FIFO*, int*, FIFO*, int*, int*, CODEC2*)':
fdmdv2_main.cpp:(.text+0x190a): undefined reference to `golay23_decode'
fdmdv2_main.cpp:(.text+0x191a): undefined reference to `golay23_count_errors'
fdmdv2_main.cpp:(.text+0x1cdd): undefined reference to `golay23_decode'
fdmdv2_main.cpp:(.text+0x1ced): undefined reference to `golay23_count_errors'
fdmdv2_main.cpp:(.text+0x1e2d): undefined reference to `golay23_decode'
fdmdv2_main.cpp:(.text+0x1e3d): undefined reference to `golay23_count_errors'
CMakeFiles/freedv.dir/fdmdv2_main.cpp.o: In function 
`per_frame_tx_processing(short*, short*, CODEC2*)':
fdmdv2_main.cpp:(.text+0x224a): undefined reference to `golay23_encode'
fdmdv2_main.cpp:(.text+0x23f4): undefined reference to `golay23_encode'
fdmdv2_main.cpp:(.text+0x2466): undefined reference to `golay23_encode'
CMakeFiles/freedv.dir/fdmdv2_main.cpp.o: In function `txRxProcessing()':
fdmdv2_main.cpp:(.text+0x2db9): undefined reference to `golay23_decode'
fdmdv2_main.cpp:(.text+0x2dc9): undefined reference to `golay23_count_errors'
fdmdv2_main.cpp:(.text+0x33e7): undefined reference to `golay23_decode'
fdmdv2_main.cpp:(.text+0x33f7): undefined reference to `golay23_count_errors'
fdmdv2_main.cpp:(.text+0x35a1): undefined reference to `golay23_decode'
fdmdv2_main.cpp:(.text+0x35b1): undefined reference to `golay23_count_errors'
CMakeFiles/freedv.dir/fdmdv2_main.cpp.o: In function 
`MainFrame::MainFrame(wxWindow*)':
fdmdv2_main.cpp:(.text+0x7e6a): undefined reference to `golay23_init'
collect2: ld returned 1 exit status
make[2]: *** [src/freedv] Error 1
make[1]: *** [src/CMakeFiles/freedv.dir/all] Error 2
make: *** [all] Error 2

-- 
Curt, WE7U.        http://wetnet.net/~we7u
APRS Wiki:  http://info.aprs.net/

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to