Link error - cannot find avahi_qt_poll_get

Bug #504466 reported by Ken Emerson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Remote Input
Invalid
Medium
Chase Douglas

Bug Description

Platform: ubuntu 9.04 32bit

Output from make:

ken@mythtv:~/rinputd_1.0.1$ make VERBOSE=1
/usr/bin/cmake -H/home/ken/rinputd_1.0.1 -B/home/ken/rinputd_1.0.1 --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/ken/rinputd_1.0.1/CMakeFiles /home/ken/rinputd_1.0.1/CMakeFiles/progress.make
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/ken/rinputd_1.0.1'
make -f common/CMakeFiles/common.dir/build.make common/CMakeFiles/common.dir/depend
make[2]: Entering directory `/home/ken/rinputd_1.0.1'
cd /home/ken/rinputd_1.0.1 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/ken/rinputd_1.0.1 /home/ken/rinputd_1.0.1/common /home/ken/rinputd_1.0.1 /home/ken/rinputd_1.0.1/common /home/ken/rinputd_1.0.1/common/CMakeFiles/common.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/ken/rinputd_1.0.1'
make -f common/CMakeFiles/common.dir/build.make common/CMakeFiles/common.dir/build
make[2]: Entering directory `/home/ken/rinputd_1.0.1'
make[2]: Nothing to be done for `common/CMakeFiles/common.dir/build'.
make[2]: Leaving directory `/home/ken/rinputd_1.0.1'
/usr/bin/cmake -E cmake_progress_report /home/ken/rinputd_1.0.1/CMakeFiles 1 2 3
[ 18%] Built target common
make -f rinputd/CMakeFiles/rinputd.dir/build.make rinputd/CMakeFiles/rinputd.dir/depend
make[2]: Entering directory `/home/ken/rinputd_1.0.1'
cd /home/ken/rinputd_1.0.1 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/ken/rinputd_1.0.1 /home/ken/rinputd_1.0.1/rinputd /home/ken/rinputd_1.0.1 /home/ken/rinputd_1.0.1/rinputd /home/ken/rinputd_1.0.1/rinputd/CMakeFiles/rinputd.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/ken/rinputd_1.0.1'
make -f rinputd/CMakeFiles/rinputd.dir/build.make rinputd/CMakeFiles/rinputd.dir/build
make[2]: Entering directory `/home/ken/rinputd_1.0.1'
Linking CXX executable rinputd
cd /home/ken/rinputd_1.0.1/rinputd && /usr/bin/cmake -E cmake_link_script CMakeFiles/rinputd.dir/link.txt --verbose=1
/usr/bin/c++ -O2 -g CMakeFiles/rinputd.dir/main.cpp.o CMakeFiles/rinputd.dir/InputDevice.cpp.o CMakeFiles/rinputd.dir/Server.cpp.o CMakeFiles/rinputd.dir/LinuxInputDevice.cpp.o CMakeFiles/rinputd.dir/AvahiBroadcaster.cpp.o CMakeFiles/rinputd.dir/moc_InputDevice.cxx.o CMakeFiles/rinputd.dir/moc_Server.cxx.o CMakeFiles/rinputd.dir/moc_LinuxInputDevice.cxx.o CMakeFiles/rinputd.dir/moc_AvahiBroadcaster.cxx.o -o rinputd -rdynamic -L/home/ken/rinputd_1.0.1/common ../common/libcommon.a -lQtNetwork -lQtCore -lpthread -ldl -lsasl2 -lavahi-common -lavahi-client -Wl,-rpath,/home/ken/rinputd_1.0.1/common
CMakeFiles/rinputd.dir/AvahiBroadcaster.cpp.o: In function `AvahiBroadcaster':
/home/ken/rinputd_1.0.1/rinputd/AvahiBroadcaster.cpp:58: undefined reference to `avahi_qt_poll_get'
/home/ken/rinputd_1.0.1/rinputd/AvahiBroadcaster.cpp:58: undefined reference to `avahi_qt_poll_get'
collect2: ld returned 1 exit status
make[2]: *** [rinputd/rinputd] Error 1
make[2]: Leaving directory `/home/ken/rinputd_1.0.1'
make[1]: *** [rinputd/CMakeFiles/rinputd.dir/all] Error 2
make[1]: Leaving directory `/home/ken/rinputd_1.0.1'
make: *** [all] Error 2

Revision history for this message
Chase Douglas (chasedouglas) wrote :

I see that the linker command is missing -lavahi-qt4. Can you attach the CMakeCache.txt file that is generated when you run `cmake .`.

Thanks

Changed in rinput:
assignee: nobody → Chase (chasedouglas)
importance: Undecided → Medium
Revision history for this message
Ken Emerson (kenneth-emerson) wrote :

Attaching CMakeCache.txt

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Your CMakeCache.txt indicates that the avahi-qt4 library was not found:

AVAHI_QT4_FOUND:INTERNAL=

In my CMakeCache.txt I have:

AVAHI_QT4_FOUND:INTERNAL=1

The rest of the AVAHI_QT4 variables in your CMakeCache.txt are also blank, which leads to the linker error. I have a check for a working avahi-qt4 library package in the CMakeLists.txt, so it should have caught the issue during the cmake phase. Can you reply with your cmake version?

Perhaps your pkgconfig file for avahi-qt4 isn't quite right? Can you find it and attach it? It can be found on my system at /usr/lib/pkgconfig/avahi-qt4.pc.

Thanks

Revision history for this message
Ken Emerson (kenneth-emerson) wrote : Re: [Bug 504466] Re: Link error - cannot find avahi_qt_poll_get

On Fri, Jan 8, 2010 at 9:08 AM, Chase <email address hidden> wrote:

> Your CMakeCache.txt indicates that the avahi-qt4 library was not found:
>
> AVAHI_QT4_FOUND:INTERNAL=
>
> In my CMakeCache.txt I have:
>
> AVAHI_QT4_FOUND:INTERNAL=1
>
> The rest of the AVAHI_QT4 variables in your CMakeCache.txt are also
> blank, which leads to the linker error. I have a check for a working
> avahi-qt4 library package in the CMakeLists.txt, so it should have
> caught the issue during the cmake phase. Can you reply with your cmake
> version?
>

cmake version 2.6-patch 2

>
> Perhaps your pkgconfig file for avahi-qt4 isn't quite right? Can you
> find it and attach it? It can be found on my system at
> /usr/lib/pkgconfig/avahi-qt4.pc.
>

avahi-qt4.pc=

prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib
includedir=${prefix}/include

Name: avahi-qt4
Description: Avahi Multicast DNS Responder (QT4 Support)
Version: 0.6.23
Requires.private: QtCore >= 4.0.0
Libs: -L${libdir} -lavahi-qt4
Cflags: -D_REENTRANT -I${includedir}

>
> Thanks
>
> -
>
Thanks for looking into this. I'm glad you put the effort into this
project. It will be great not to have to pull out my IR keyboard and mouse
for those times where the remote isn't just enough.

-- Ken E.

Revision history for this message
Chase Douglas (chasedouglas) wrote :

I'm currently at a loss as to why it's failing to properly set and check the pkconfig cmake variables. Is it possible for you to update to the latest 2.6 cmake (or 2.8 for that matter)?

Thanks

Revision history for this message
Ken Emerson (kenneth-emerson) wrote :

I installed cmake version 2.8 and all is well. You might want to add a README file to warn others that may not be running karmic. I downloaded the source tarball from www.cmake.org (wget http://www.cmake.org/files/v2.8/cmake-2.8.0.tar.gz). Thanks again for the help. I'll work on configuring it this weekend.

Revision history for this message
Chase Douglas (chasedouglas) wrote :

I'm glad to see you've got it working, though I'm not sure how I can go about making it easier for others. I don't know what versions of CMake have the issue, or even if it's cmake itself (it could be your packager changing things). I don't expect you to go through the trouble of debugging and following up with more details, but without more information I'm not sure what there is to do. I don't like putting notes about things like this into a separate project, so we'll see if anyone else hits the same issue. If they do, I'll revisit the issue and consider making a note of it. Otherwise I'll just leave it as it is.

Thanks

Changed in rinput:
status: New → Invalid
Revision history for this message
Chase Douglas (chasedouglas) wrote :

As another datapoint, I see you are running jaunty 32-bit. I originally developed on jaunty 64-bit and moved to karmic very late in the development process after I had coded the Avahi CMake tests. I didn't have any issues when I was running jaunty, so there must be something fishy going on.

Revision history for this message
Ken Emerson (kenneth-emerson) wrote :

On Fri, Jan 8, 2010 at 2:56 PM, Chase <email address hidden> wrote:

> I'm glad to see you've got it working, though I'm not sure how I can go
> about making it easier for others. I don't know what versions of CMake
> have the issue, or even if it's cmake itself (it could be your packager
> changing things). I don't expect you to go through the trouble of
> debugging and following up with more details, but without more
> information I'm not sure what there is to do. I don't like putting notes
> about things like this into a separate project, so we'll see if anyone
> else hits the same issue. If they do, I'll revisit the issue and
> consider making a note of it. Otherwise I'll just leave it as it is.
>
> Thanks
>

> Chase:

> Well, having it working really means "I was able to compile and install".
> I'm still trying to get the Apple app to connect to rinputd. I'm thinking
> that I'm missing some steps not having a package to install. Here is what I
> have done:
>
> On the server:
> Create ssl user/password: sudo saslpasswd2 -c -u rinput mythtv
> Created a certificate: sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf
> rinput.cert
> Created a key file: sudo openssl genrsa -des3 -out server.key 1024
> Copied these files to /etc/rinput/
> Run the rinputd: ~/rinputd_1.0.1/rinputd/rinputd --verbose
> The output is:
> Enter PEM passphrase: {entered passphrase from genrsa}
> Listening on port 8771
> Avahi service _rinput._tcp with name 'mythtv Remote Input'
> established
>
> On the iPod:
> Add target: Name: mythtv
> Username: mythtv
> Password: Ask
> Address: 192.168.1.12
> Port: Default
> Connect using above target. Response is "Connecting to target mythtv
> Please wait"
>
> I apologize for being so dense, but my area of expertise is not in web
> security. Can you tell me what I'm missing?
>
> Regards,
>
> Ken E.
>
>
>

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Try running rinputd with the version "-v" option. When Remotux tries to connect to rinputd we should see some output one way or another. If not, then you have some networking/firewall issues.

Thanks

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.