FDH2 / UxPlay

AirPlay Unix mirroring server
GNU General Public License v3.0
1.35k stars 72 forks source link

I get an error when building I need help #171

Closed DevUreak closed 1 year ago

DevUreak commented 1 year ago

hello. An error occurred while building uxplay. I also installed all the dependencies files needed for the build

The current os version is Ubuntu 18.04.6 LTS 64bit.

The error after the 'make' command is:

[ 66%] Building C object lib/CMakeFiles/airplay.dir/raop.c.o In file included from /home/kbi/remoteIphone/UxPlay/lib/raop.c:83:0: /home/kbi/remoteIphone/UxPlay/lib/raop_handlers.h: In function ‘raop_handler_setup’: /home/kbi/remoteIphone/UxPlay/lib/raop_handlers.h:429:27: warning: implicit declaration of function ‘plist_get_string_ptr’; did you mean ‘plist_get_string_val’? [-Wimplicit-function-declaration] timing_protocol = plist_get_string_ptr(req_timing_protocol_node, &string_len); ^~~~~~~~ plist_get_string_val /home/kbi/remoteIphone/UxPlay/lib/raop_handlers.h:429:25: warning: assignment makes pointer from integer without a cast [-Wint-conversion] timing_protocol = plist_get_string_ptr(req_timing_protocol_node, &string_len); ^ [ 69%] Building C object lib/CMakeFiles/airplay.dir/raop_buffer.c.o [ 72%] Building C object lib/CMakeFiles/airplay.dir/raop_ntp.c.o [ 75%] Building C object lib/CMakeFiles/airplay.dir/raop_rtp.c.o [ 78%] Building C object lib/CMakeFiles/airplay.dir/raop_rtp_mirror.c.o [ 81%] Building C object lib/CMakeFiles/airplay.dir/utils.c.o [ 84%] Linking C static library libairplay.a [ 84%] Built target airplay [ 87%] Building C object renderers/CMakeFiles/renderers.dir/audio_renderer_gstreamer.c.o [ 90%] Building C object renderers/CMakeFiles/renderers.dir/video_renderer_gstreamer.c.o [ 93%] Linking C static library librenderers.a [ 93%] Built target renderers [ 96%] Building CXX object CMakeFiles/uxplay.dir/uxplay.cpp.o [100%] Linking CXX executable uxplay lib/libairplay.a(raop.c.o): In function raop_handler_setup': raop.c:(.text+0x15c2): undefined reference to plist_get_string_ptr' collect2: error: ld returned 1 exit status CMakeFiles/uxplay.dir/build.make:105: recipe for target 'uxplay' failed make[2]: [uxplay] Error 1 CMakeFiles/Makefile2:102: recipe for target 'CMakeFiles/uxplay.dir/all' failed make[1]: [CMakeFiles/uxplay.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2

fduncanh commented 1 year ago

I think you are using an old libplist < 2.0.0 From the README, it seems that Ubuntu 18.04 has the newer one as "libplist3"

try

sudo apt install libplist3

The README says:

Building libplist >= 2.0.0 from source.

(Note: on Debian 9 "Stretch" or Ubuntu 16.04 LTS editions, you can avoid this step by installing libplist-dev and libplist3 from Debian 10 or Ubuntu 18.04.) As well as the usual build tools (autoconf, automake, libtool), you may need to also install some libpython-dev package. Download the latest source from https://github.com/libimobiledevice/libplist: get libplist-master.zip, then ("unzip libplist-master.zip ; cd libplist-master"), build/install ("./autogen.sh ; make ; sudo make install"). This will probably install libplist-2.0. in /usr/local/lib.

fduncanh commented 1 year ago

The UxPlay README has been updated to address your Debian 10 (Ubuntu-18.04) issue.