Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile Breaks on "make examples" #2

Open
Godtec opened this issue Nov 15, 2016 · 6 comments
Open

Compile Breaks on "make examples" #2

Godtec opened this issue Nov 15, 2016 · 6 comments

Comments

@Godtec
Copy link

Godtec commented Nov 15, 2016

Hi Brian:

So I was able to compile the quiet-lwip correctly, but when I try to compile the examples, as noted on your wiki. I get this error? It's a Linker error actually.

mikek@mike-M6700:/Documents/Mike_Play_Learn/SDR_Radio/quiet/quiet-lwip-master/build$ make examples
[ 1%] Built target lwip_netif
[ 3%] Built target lwip_sys
[ 19%] Built target lwip_api
[ 50%] Built target lwip_core
[ 65%] Built target lwip_ipv4
[ 73%] Built target quiet_lwip
[ 75%] Building C object examples/CMakeFiles/kv_server.dir/src/kv_server.c.o
[ 76%] Linking C executable ../bin/kv_server
//usr/local/lib/libquiet.so: undefined reference to ofdmflexframesync_is_frame_open' //usr/local/lib/libquiet.so: undefined reference to ofdmflexframesync_set_header_len'
//usr/local/lib/libquiet.so: undefined reference to ofdmflexframegen_set_header_len' //usr/local/lib/libquiet.so: undefined reference to gmskframesync_set_header_len'
//usr/local/lib/libquiet.so: undefined reference to flexframesync_set_header_len' //usr/local/lib/libquiet.so: undefined reference to gmskframegen_set_header_len'
//usr/local/lib/libquiet.so: undefined reference to flexframegen_set_header_len' //usr/local/lib/libquiet.so: undefined reference to flexframesync_is_frame_open'
//usr/local/lib/libquiet.so: undefined reference to gmskframesync_is_frame_open' //usr/local/lib/libquiet.so: undefined reference to resamp_rrrf_execute_output_block'
collect2: error: ld returned 1 exit status
examples/CMakeFiles/kv_server.dir/build.make:95: recipe for target 'bin/kv_server' failed
make[3]: *** [bin/kv_server] Error 1
CMakeFiles/Makefile2:760: recipe for target 'examples/CMakeFiles/kv_server.dir/all' failed
make[2]: *** [examples/CMakeFiles/kv_server.dir/all] Error 2
CMakeFiles/Makefile2:607: recipe for target 'examples/CMakeFiles/examples.dir/rule' failed
make[1]: *** [examples/CMakeFiles/examples.dir/rule] Error 2
Makefile:261: recipe for target 'examples' failed
make: *** [examples] Error 2
mikek@mike-M6700:
/Documents/Mike_Play_Learn/SDR_Radio/quiet/quiet-lwip-master/build$


Any idea's

Thanks.
MikeK

@Godtec
Copy link
Author

Godtec commented Nov 15, 2016

Pasting Again:

mikek@mike-M6700:~/Documents/Mike_Play_Learn/SDR_Radio/quiet/quiet-lwip-master/build$ make examples [ 1%] Built target lwip_netif [ 3%] Built target lwip_sys [ 19%] Built target lwip_api [ 50%] Built target lwip_core [ 65%] Built target lwip_ipv4 [ 73%] Built target quiet_lwip [ 75%] Building C object examples/CMakeFiles/kv_server.dir/src/kv_server.c.o [ 76%] Linking C executable ../bin/kv_server //usr/local/lib/libquiet.so: undefined reference toofdmflexframesync_is_frame_open'
//usr/local/lib/libquiet.so: undefined reference to ofdmflexframesync_set_header_len' //usr/local/lib/libquiet.so: undefined reference toofdmflexframegen_set_header_len'
//usr/local/lib/libquiet.so: undefined reference to gmskframesync_set_header_len' //usr/local/lib/libquiet.so: undefined reference toflexframesync_set_header_len'
//usr/local/lib/libquiet.so: undefined reference to gmskframegen_set_header_len' //usr/local/lib/libquiet.so: undefined reference toflexframegen_set_header_len'
//usr/local/lib/libquiet.so: undefined reference to flexframesync_is_frame_open' //usr/local/lib/libquiet.so: undefined reference togmskframesync_is_frame_open'
//usr/local/lib/libquiet.so: undefined reference to resamp_rrrf_execute_output_block' collect2: error: ld returned 1 exit status examples/CMakeFiles/kv_server.dir/build.make:95: recipe for target 'bin/kv_server' failed make[3]: *** [bin/kv_server] Error 1 CMakeFiles/Makefile2:760: recipe for target 'examples/CMakeFiles/kv_server.dir/all' failed make[2]: *** [examples/CMakeFiles/kv_server.dir/all] Error 2 CMakeFiles/Makefile2:607: recipe for target 'examples/CMakeFiles/examples.dir/rule' failed make[1]: *** [examples/CMakeFiles/examples.dir/rule] Error 2 Makefile:261: recipe for target 'examples' failed make: *** [examples] Error 2 mikek@mike-M6700:~/Documents/Mike_Play_Learn/SDR_Radio/quiet/quiet-lwip-master/build$

@brian-armstrong
Copy link
Member

Hey Mike,

Thanks for trying out quiet.

Did you happen to already have liquid dsp installed before trying it out?The linker error appears to reference just the functions that quiet has added on top of liquid but which haven't been merged back to liquid yet. Quiet's cmake build process is supposed to detect this and report an error but it's possible it failed somehow.

@Godtec
Copy link
Author

Godtec commented Nov 16, 2016

So I actually had liquid-dsp installed before I installed quiet or quiet-lwip.
After trying it again, I noticed a few things. There are 2 examples directories.
One at the quiet-lwip-master level and another at the quiet-lwip-master/build level.
But I think this is a red herring because I think when I did the cmake .. it just created the extra examples directories.

Anyway, I did want to ask you a few questions about your quiet project. What would be a good Forum to pose these questions/discussions.

So at the 20000 foot level, I am looking to make a "high speed" radio link over amateur radio frequencies using OFDM/GMSK modulation schemes, I understand that there is a lot to this, but I found a few projects (such as this one) that have already have started exploring. What I am VERY impressed about is your Quiet.js project in the web browser where I was able to get 1024 bit QAM and decoded over and audio signal cable looped back with a symbol decode rate at ~60ms with 40 to 50% cpu usage. I have tried another project called "amodem" which is python based but does not seem to be multi-threaded.

My next steps are to get your software communicating over a "over the air" radio link using the Audio frequencies of my sound card interconnected to my transmit and receive radio's. I completely understand that I will not get anywhere close to QAM 1024 over a radio link. I would be even lucky to get QAM 16 or QAM 8.

Sorry for being long winded. But my final goal is to use the software to create multiple QAM carriers, 4 or 8 in a row to get the desired bit rate that I am after. ~ 128K or 512K. depends on the fequency usage.

More to discuss.

Thanks for now.
MikeK

@brian-armstrong
Copy link
Member

That sounds like an interesting use of quiet. I hadn't considered that you could actually use it that way, but that's essentially the same as psk31 or similar modes. Neat!

If your build is still broken, try cloning my version of liquid and building it. You can check it out with git clone https://github.com/quiet/liquid-dsp.git -b devel --single-branch which will checkout the devel branch, which is where all my extra work is done. You'll probably need to rebuild libquiet before you try building quiet-lwip again. I'm not quite sure why you have two build directories, unless you mean one for quiet and one for quiet-lwip?

If you want to talk more over email, feel free to use the address on my github profile. And good luck with your project, it sounds interesting 👍

@cegea
Copy link

cegea commented Oct 26, 2017

Hi Brian,

Firstly, congratulations for your work. I´m sure I´ll have fun with quiet.
Similar problem here. I´ve tried what you explained to Godtec but I am having similar results and I don´t know what I´m doing wrong.

Additionally to be able to build quiet-liwp I had to copy two include files from libquiet.

# Copy files to avoid make errors
cp -n ~/quiet/quiet/include/quiet.h ~/quiet/quiet-lwip/include
cp -n ~/quiet/quiet/include/quiet-portaudio.h ~/quiet/quiet-lwip/include

I attach the scripts I am writing to install the dependencies and quiet-lwip. Note that I needed to install some packages to run the installation from a clean Ubuntu machine. It would be helpful for others to mention it I guess.

The message I get is the following:

[ 65%] Built target lwip_ipv4
[ 73%] Built target quiet_lwip
Scanning dependencies of target kv_server
[ 75%] Building C object examples/CMakeFiles/kv_server.dir/src/kv_server.c.o
[ 76%] Linking C executable ../bin/kv_server
/usr/bin/ld: cannot find -lquiet
collect2: error: ld returned 1 exit status
examples/CMakeFiles/kv_server.dir/build.make:95: recipe for target 'bin/kv_server' failed
make[3]: *** [bin/kv_server] Error 1
CMakeFiles/Makefile2:760: recipe for target 'examples/CMakeFiles/kv_server.dir/all' failed
make[2]: *** [examples/CMakeFiles/kv_server.dir/all] Error 2
CMakeFiles/Makefile2:607: recipe for target 'examples/CMakeFiles/examples.dir/rule' failed
make[1]: *** [examples/CMakeFiles/examples.dir/rule] Error 2
Makefile:261: recipe for target 'examples' failed
make: *** [examples] Error 2

Thank you,
Carlos

@cegea
Copy link

cegea commented Oct 27, 2017

Hi again,

I´ve got it to work. I was missing libsndfile so quiet wasn't building correctly. Duh!

I have the script here:
https://github.com/cegea/set_enviroment/blob/master/quiet-lwip
https://github.com/cegea/set_enviroment/blob/master/quiet_dependencies

If you think that shouldn't be there, tell me.

Regards,
Carlos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants