audioscience / avdecc-lib

Simple C++ library for implementing IEEE1722.1 (AVB Device Enumeration, Discovery and Control)
MIT License
79 stars 45 forks source link

Trouble Compiling #134

Closed mberthold closed 10 years ago

mberthold commented 10 years ago

Hello, for my thesis I am trying to set up an AVB endpoint on a Linux system. I have been trying to compile the library. But I keep getting an error message:

Linking CXX executable avdecccmdline ../../lib/libcontroller.so: undefined reference to jdksavdecc_frame_read' ../../lib/libcontroller.so: undefined reference tojdksavdecc_multicast_adp_acmp' ../../lib/libcontroller.so: undefined reference to jdksavdecc_frame_write' ../../lib/libcontroller.so: undefined reference tojdksavdecc_common_control_header_write' ../../lib/libcontroller.so: undefined reference to `jdksavdecc_common_control_header_read' collect2: error: ld returned 1 exit status make[2]: * [controller/app/cmdline/avdecccmdline] Error 1 make[1]: * [controller/app/cmdline/CMakeFiles/avdecccmdline.dir/all] Error 2 make: *\ [all] Error 2

I am using Linux Ubuntu 14.04 Not knowing too much about prgramming I googled and found that it is most likely a linker problem. Is this a common issue (which may very well be caused by a mistake of my own)? Does anyone know what I can do to solve this?

What I did so far: Installed the jdksavdecc-c library. (cmake -> make -> make install) No error messages there. Installed libpcap-dev Installed libreadline-gplv2-dev

Then I tried cmake for the avdecc-lib. That also worked fine. Then make the build process goes to (almost) 100% and then the above error message is thrown.

I would be incredibly grateful if anyone could help me with this.

Max

andrew-elder commented 10 years ago

avdecc-lib is an AVDECC controller. It does not contain endpoint code at all. Is that what you are looking for?

On 8/15/2014 7:57 AM, mberthold wrote:

Hello, for my thesis I am trying to set up an AVB endpoint on a Linux system. I have been trying to compile the library. But I keep getting an error message:

Linking CXX executable avdecccmdline ../../lib/libcontroller.so: undefined reference to |jdksavdecc_frame_read' ../../lib/libcontroller.so: undefined reference to|jdksavdecc_multicast_adp_acmp' ../../lib/libcontroller.so: undefined reference to |jdksavdecc_frame_write' ../../lib/libcontroller.so: undefined reference to|jdksavdecc_common_control_header_write' ../../lib/libcontroller.so: undefined reference to `jdksavdecc_common_control_header_read' collect2: error: ld returned 1 exit status make[2]: * [controller/app/cmdline/avdecccmdline] Error 1 make[1]: * [controller/app/cmdline/CMakeFiles/avdecccmdline.dir/all] Error 2 make: *\ [all] Error 2

I am using Linux Ubuntu 14.04 Not knowing too much about prgramming I googled and found that it is most likely a linker problem. Is this a common issue (which may very well be caused by a mistake of my own)? Does anyone know what I can do to solve this?

What I did so far: Installed the jdksavdecc-c library. (cmake -> make -> make install) No error messages there. Installed libpcap-dev Installed libreadline-gplv2-dev

Then I tried cmake for the avdecc-lib. That also worked fine. Then make the build process goes to (almost) 100% and then the above error message is thrown.

I would be incredibly grateful if anyone could help me with this.

Max

— Reply to this email directly or view it on GitHub https://github.com/audioscience/avdecc-lib/issues/134.

Andrew Elder AudioScience, Inc. +1-585-271-8870 www.audioscience.com

mberthold commented 10 years ago

yes... i would need a way to control my endpoint. Discover other decives, manage streams and so on.

andrew-elder commented 10 years ago

How did you update the jdksavdecc-c submodule?

You are correct, I think the output points to a linker issue. But I do think the current repo should build cleanly.

On 8/15/2014 8:12 AM, mberthold wrote:

yes... i would need a way to control my endpoint. Discover other decives, manage streams and so on.

— Reply to this email directly or view it on GitHub https://github.com/audioscience/avdecc-lib/issues/134#issuecomment-52299504.

Andrew Elder AudioScience, Inc. +1-585-271-8870 www.audioscience.com

mberthold commented 10 years ago

So far I am afraid not at all. I chekced again in the instructions.

git submoduke init returns: "no git repository"

I downloaded the whole thing as a .ZIP-archive

andrew-elder commented 10 years ago

What dir were you in when you went git submodule init ?

You've seen these instructions, right https://github.com/audioscience/avdecc-lib/blob/master/README.md ?

On 8/15/2014 8:37 AM, mberthold wrote:

So far I am afraid not at all. I chekced again in the instructions.

git submoduke init returns: "no git repository"

I downloaded the whole thing as a .ZIP-archive

— Reply to this email directly or view it on GitHub https://github.com/audioscience/avdecc-lib/issues/134#issuecomment-52301089.

Andrew Elder AudioScience, Inc. +1-585-271-8870 www.audioscience.com

mberthold commented 10 years ago

Yes I have seen them. We are especially talking about the "Depenecies"-Part, right?

I tried /home/max/Documents/avdecc-lib-master (to where I extracted the .zip) and .... /Documents/Audiosience-AVDECC (outputfolder from cmake)

andrew-elder commented 10 years ago

Don't use the .zip file. You need to get git submodules working correctly (the jdksavdecc-c submodule is tagged to a specific "tested" commit in the jdksavdecc-c repo). No-one else in the world is compiling jdksavdecc-c from a .zip archive. It is an unsupported operation.

On 8/15/2014 8:50 AM, mberthold wrote:

Yes I have seen them. We are especially talking about the "Depenecies"-Part, right?

I tried /home/max/Documents/avdecc-lib-master (to where I extracted the .zip) and .... /Documents/Audiosience-AVDECC (outputfolder from cmake)

— Reply to this email directly or view it on GitHub https://github.com/audioscience/avdecc-lib/issues/134#issuecomment-52302002.

Andrew Elder AudioScience, Inc. +1-585-271-8870 www.audioscience.com

mberthold commented 10 years ago

okay... I tried that... it seems to work now. Thank you so much!