Hi Tzafrir, If the problem is that the libraries include too many run-time dependencies, won't it be better to specifically disable these unwanted dependencies instead? For example, by specifying --disable-video (or disable-ffmpeg, disable-ssl, disable-v4l2, etc) and --disable-opencore. Best regards, Ming On Sun, Dec 27, 2015 at 4:00 PM, Tzafrir Cohen <tzafrir.cohen at xorcom.com> wrote: > Hi, > > > Short version: unless I made a mistake, I think that the shared > libraries pjmedia, pjmedia-audiodev and pjmedia-videodev should be > merged to a single shared library. > > Long version: > > I'm the maintainer of the pjproject (pjsip) packages for Debian[1]. > Currently the package includes a single source package that builds > multiple binary packages, one per shared library, as per the Debian > Policy Manual[2]. > > One problem with the package is that the libraries include too many > run-time dependencies: I originally packaged it for Asterisk (which uses > pjsip and a few other componenets, but not pjmedia and such). > > However the way the current build system works, all libraries are linked > with any library that is needed for any other library. > > This is not an issue with static linking. But it is an issue with shared > libraries built in a generic configuration. Specifically, when I start > getting bug reports about Asterisk linking with -SDL[3]. > > Originally we tried to fix this by an increasingly intrusive set of > changes to the build system to avoid passing unneccesary build flags. > Current master has them[4]. But this didn't seem to be a useful > direction. > > So I realised that what I needed was not linking libraries that are not > really needed. So what I really needed was linking with --as-needed[5]. > > This resulted in quite a few linking errors. Most were fixed by changes > to ldflags ordering[6]. > > Sadly I failed to make pjmedia and the rest of the pjmedia* libraries > link. It seems pjpedia needs symbols from pjmedia-audiodev and > pjmedia-videodev and vice-versa (See traces below). So I guess this > means the three libraries cannot be separated and need to be merged to a > single shared library. > > > [1] https://tracker.debian.org/pkg/pjproject > > [2] > https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-runtime > > [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=795825 > > [4] > http://anonscm.debian.org/cgit/pkg-voip/pjproject.git/tree/debian/patches?id=a11437c9fd622f311ba9f21651af9be1db52cc65 > > [5] > http://anonscm.debian.org/cgit/pkg-voip/pjproject.git/commit/?h=master-broken-2&id=a4fcee15ceb9adeca66825b148407289744c40d6 > > [6] Almost all of the following: > > http://anonscm.debian.org/cgit/pkg-voip/pjproject.git/commit/?h=master-broken-2&id=09439f0f520ad37b90d2b5d0774e1fc68e9398f0 > all besides the changes to pjmedia/build/Makefile, except the first > hunk that is included. > > > With pjmedia/build/Makefile changes removed: > ============================================ > ... > > ranlib ../lib/libpjmedia-videodev-x86_64-pc-linux-gnu.a > make[4]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build' > make -f > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/build/rules.mak > APP=PJMEDIA_VIDEODEV app=pjmedia-videodev ../lib/libpjmedia-videodev.so > make[4]: Entering directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build' > if test ! -d ../lib; then mkdir -p ../lib; fi > gcc -o ../lib/libpjmedia-videodev.so.2 \ > output/pjmedia-videodev-x86_64-pc-linux-gnu/sdl_dev.o > output/pjmedia-videodev-x86_64-pc-linux-gnu/errno.o > output/pjmedia-videodev-x86_64-pc-linux-gnu/videodev.o > output/pjmedia-videodev-x86_64-pc-linux-gnu/avi_dev.o > output/pjmedia-videodev-x86_64-pc-linux-gnu/ffmpeg_dev.o > output/pjmedia-videodev-x86_64-pc-linux-gnu/colorbar_dev.o > output/pjmedia-videodev-x86_64-pc-linux-gnu/v4l2_dev.o > output/pjmedia-videodev-x86_64-pc-linux-gnu/opengl_dev.o > output/pjmedia-videodev-x86_64-pc-linux-gnu/util.o -lpj -lsrtp -lgsm > -lspeex -lspeexdsp -lportaudio -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro > -lssl -lcrypto -luuid -lm -lrt -lpthread -lasound > -L/usr/lib/x86_64-linux-gnu -lSDL2 -lavformat-ffmpeg -lavcodec-ffmpeg > -lswscale-ffmpeg -lavutil-ffmpeg -lv4l2 -lopencore-amrnb -lopencore-amrwb > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjlib/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjlib-util/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjnath/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjsip/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/third_party/lib > -L/usr/lib/x86_64-linux-gnu -lSDL2 -lavformat-ffmpeg -lavcodec-ffmpeg > -lswscale-ffmpeg -lavutil-ffmpeg -lv4l2 -L/usr/lib/x86_64-linux-gnu > -lSDL2 -lavformat-ffmpeg -lavcodec-ffmpeg -lswscale-ffmpeg -lavutil-ffmpeg > -lv4l2 -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,defs > -Wl,--as-needed -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -lSDL2 > -lavformat-ffmpeg -lavcodec-ffmpeg -lswscale-ffmpeg -lavutil-ffmpeg -lv4l2 > -shared -Wl,-soname,libpjmedia-videodev.so.2 > output/pjmedia-videodev-x86_64-pc-linux-gnu/sdl_dev.o: In function > `find_stream': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:322: > undefined reference to `pjmedia_event_init' > output/pjmedia-videodev-x86_64-pc-linux-gnu/sdl_dev.o: In function > `handle_event': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:369: > undefined reference to `pjmedia_event_publish' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:389: > undefined reference to `pjmedia_event_init' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:391: > undefined reference to `pjmedia_event_publish' > output/pjmedia-videodev-x86_64-pc-linux-gnu/sdl_dev.o: In function > `sdl_create_rend': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:685: > undefined reference to `pjmedia_video_format_mgr_instance' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:685: > undefined reference to `pjmedia_get_video_format_info' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:685: > undefined reference to `pjmedia_video_format_mgr_instance' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:685: > undefined reference to `pjmedia_get_video_format_info' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:695: > undefined reference to `pjmedia_format_get_video_format_detail' > output/pjmedia-videodev-x86_64-pc-linux-gnu/sdl_dev.o: In function > `change_format': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:865: > undefined reference to `pjmedia_format_copy' > output/pjmedia-videodev-x86_64-pc-linux-gnu/sdl_dev.o: In function > `sdl_factory_init': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/sdl_dev.c:512: > undefined reference to `pjmedia_format_init_video' > output/pjmedia-videodev-x86_64-pc-linux-gnu/avi_dev.o: In function > `avi_dev_strm_get_frame': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:626: > undefined reference to `pjmedia_port_get_frame' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:633: > undefined reference to `pjmedia_port_get_frame' > output/pjmedia-videodev-x86_64-pc-linux-gnu/avi_dev.o: In function > `reset_dev_info': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:262: > undefined reference to `pjmedia_avi_streams_get_num_streams' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:266: > undefined reference to `pjmedia_avi_streams_get_stream' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:270: > undefined reference to `pjmedia_port_destroy' > output/pjmedia-videodev-x86_64-pc-linux-gnu/avi_dev.o: In function > `avi_factory_create_stream': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:559: > undefined reference to `pjmedia_format_copy' > output/pjmedia-videodev-x86_64-pc-linux-gnu/avi_dev.o: In function > `pjmedia_avi_dev_alloc': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:407: > undefined reference to `pjmedia_avi_player_create_streams' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:413: > undefined reference to `pjmedia_avi_streams_get_stream_by_media' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:422: > undefined reference to `pjmedia_format_copy' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:423: > undefined reference to `pjmedia_get_video_format_info' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:432: > undefined reference to `pjmedia_vid_codec_mgr_get_codec_info2' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:438: > undefined reference to `pjmedia_vid_codec_mgr_get_default_param' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:444: > undefined reference to `pjmedia_vid_codec_mgr_alloc_codec' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:461: > undefined reference to `pjmedia_get_video_format_info' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/avi_dev.c:497: > undefined reference to `pjmedia_format_copy' > output/pjmedia-videodev-x86_64-pc-linux-gnu/colorbar_dev.o: In function > `cbar_factory_init': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/colorbar_dev.c:217: > undefined reference to `pjmedia_format_init_video' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/colorbar_dev.c:237: > undefined reference to `pjmedia_format_init_video' > output/pjmedia-videodev-x86_64-pc-linux-gnu/colorbar_dev.o: In function > `cbar_stream_destroy': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/colorbar_dev.c:700: > undefined reference to `pjmedia_clock_destroy' > output/pjmedia-videodev-x86_64-pc-linux-gnu/colorbar_dev.o: In function > `cbar_factory_create_stream': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/colorbar_dev.c:449: > undefined reference to `pjmedia_format_get_video_format_detail' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/colorbar_dev.c:450: > undefined reference to `pjmedia_get_video_format_info' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/colorbar_dev.c:500: > undefined reference to `pjmedia_clock_create2' > output/pjmedia-videodev-x86_64-pc-linux-gnu/colorbar_dev.o: In function > `cbar_stream_stop': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/colorbar_dev.c:684: > undefined reference to `pjmedia_clock_stop' > output/pjmedia-videodev-x86_64-pc-linux-gnu/colorbar_dev.o: In function > `cbar_stream_start': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/colorbar_dev.c:671: > undefined reference to `pjmedia_clock_start' > output/pjmedia-videodev-x86_64-pc-linux-gnu/v4l2_dev.o: In function > `v4l2_get_supported_size': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/v4l2_dev.c:269: > undefined reference to `pjmedia_format_init_video' > output/pjmedia-videodev-x86_64-pc-linux-gnu/v4l2_dev.o: In function > `vid4lin_factory_create_stream': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/v4l2_dev.c:605: > undefined reference to `pjmedia_get_video_format_info' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/v4l2_dev.c:610: > undefined reference to `pjmedia_format_get_video_format_detail' > output/pjmedia-videodev-x86_64-pc-linux-gnu/v4l2_dev.o: In function > `vid4lin_stream_init_fmt': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/v4l2_dev.c:483: > undefined reference to `pjmedia_format_get_video_format_detail' > output/pjmedia-videodev-x86_64-pc-linux-gnu/v4l2_dev.o: In function > `vid4lin_factory_default_param': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/v4l2_dev.c:469: > undefined reference to `pjmedia_format_copy' > output/pjmedia-videodev-x86_64-pc-linux-gnu/util.o: In function > `pjmedia_vid_dev_conv_create_converter': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:72: > undefined reference to `pjmedia_format_copy' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:73: > undefined reference to `pjmedia_format_copy' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:74: > undefined reference to `pjmedia_format_copy' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:155: > undefined reference to `pjmedia_converter_create' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:72: > undefined reference to `pjmedia_format_copy' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:73: > undefined reference to `pjmedia_format_copy' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:74: > undefined reference to `pjmedia_format_copy' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:162: > undefined reference to `pjmedia_get_video_format_info' > output/pjmedia-videodev-x86_64-pc-linux-gnu/util.o: In function > `pjmedia_vid_dev_conv_resize_and_rotate': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:236: > undefined reference to `pjmedia_converter_convert' > output/pjmedia-videodev-x86_64-pc-linux-gnu/util.o: In function > `pjmedia_vid_dev_conv_destroy_converter': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia-videodev/util.c:360: > undefined reference to `pjmedia_converter_destroy' > collect2: error: ld returned 1 exit status > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/build/rules.mak:112: > recipe for target '../lib/libpjmedia-videodev.so.2' failed > make[4]: *** [../lib/libpjmedia-videodev.so.2] Error 1 > make[4]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build' > Makefile:225: recipe for target 'libpjmedia-videodev.so' failed > make[3]: *** [libpjmedia-videodev.so] Error 2 > make[3]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build' > Makefile:14: recipe for target 'all' failed > make[2]: *** [all] Error 1 > make[2]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject' > dh_auto_build: make -j1 dep all returned exit code 2 > debian/rules:44: recipe for target 'override_dh_auto_build' failed > make[1]: *** [override_dh_auto_build] Error 2 > make[1]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject' > debian/rules:17: recipe for target 'build' failed > make: *** [build] Error 2 > > > With pjmedia/build/Makefile changes applied: > ============================================ > .... > > ranlib ../lib/libpjmedia-x86_64-pc-linux-gnu.a > make[4]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build' > make -f > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/build/rules.mak > APP=PJMEDIA app=pjmedia ../lib/libpjmedia.so > make[4]: Entering directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build' > if test ! -d ../lib; then mkdir -p ../lib; fi > gcc -o ../lib/libpjmedia.so.2 \ > output/pjmedia-x86_64-pc-linux-gnu/echo_speex.o > output/pjmedia-x86_64-pc-linux-gnu/alaw_ulaw.o > output/pjmedia-x86_64-pc-linux-gnu/alaw_ulaw_table.o > output/pjmedia-x86_64-pc-linux-gnu/avi_player.o > output/pjmedia-x86_64-pc-linux-gnu/bidirectional.o > output/pjmedia-x86_64-pc-linux-gnu/clock_thread.o > output/pjmedia-x86_64-pc-linux-gnu/codec.o > output/pjmedia-x86_64-pc-linux-gnu/conference.o > output/pjmedia-x86_64-pc-linux-gnu/conf_switch.o > output/pjmedia-x86_64-pc-linux-gnu/converter.o > output/pjmedia-x86_64-pc-linux-gnu/converter_libswscale.o > output/pjmedia-x86_64-pc-linux-gnu/converter_libyuv.o > output/pjmedia-x86_64-pc-linux-gnu/delaybuf.o > output/pjmedia-x86_64-pc-linux-gnu/echo_common.o > output/pjmedia-x86_64-pc-linux-gnu/echo_port.o > output/pjmedia-x86_64-pc-linux-gnu/echo_suppress.o > output/pjmedia-x86_64-pc-linux-gnu/endpoint.o > output/pjmedia-x86_64-pc-linux-gnu/errno.o > output/pjmedia-x86_64-pc-linux-gnu/event.o > output/pjmedia-x86_64-pc-linux-gnu/format.o > output/pjmedia-x86_64-pc-linux-gnu/ffmpeg_util.o > output/pjmedia-x86_64-pc-linux-gnu/g711.o > output/pjmedia-x86_64-pc-linux-gnu/jbuf.o > output/pjmedia-x86_64-pc-linux-gnu/master_port.o > output/pjmedia-x86_64-pc-linux-gnu/mem_capture.o > output/pjmedia-x86_64-pc-linux-gnu/mem_player.o > output/pjmedia-x86_64-pc-linux-gnu/null_port.o > output/pjmedia-x86_64-pc-linux-gnu/plc_common.o > output/pjmedia-x86_64-pc-linux-gnu/port.o > output/pjmedia-x86_64-pc-linux-gnu/splitcomb.o > output/pjmedia-x86_64-pc-linux-gnu/resample_resample.o > output/pjmedia-x86_64-pc-linux-gnu/resample_libsamplerate.o > output/pjmedia-x86_64-pc-linux-gnu/resample_speex.o > output/pjmedia-x86_64-pc-linux-gnu/resample_port.o > output/pjmedia-x86_64-pc-linux-gnu/rtcp.o > output/pjmedia-x86_64-pc-linux-gnu/rtcp_xr.o > output/pjmedia-x86_64-pc-linux-gnu/rtp.o > output/pjmedia-x86_64-pc-linux-gnu/sdp.o > output/pjmedia-x86_64-pc-linux-gnu/sdp_cmp.o > output/pjmedia-x86_64-pc-linux-gnu/sdp_neg.o > output/pjmedia-x86_64-pc-linux-gnu/session.o > output/pjmedia-x86_64-pc-linux-gnu/silencedet.o > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o > output/pjmedia-x86_64-pc-linux-gnu/sound_port.o > output/pjmedia-x86_64-pc-linux-gnu/stereo_port.o > output/pjmedia-x86_64-pc-linux-gnu/stream_common.o > output/pjmedia-x86_64-pc-linux-gnu/stream.o > output/pjmedia-x86_64-pc-linux-gnu/stream_info.o > output/pjmedia-x86_64-pc-linux-gnu/tonegen.o > output/pjmedia-x86_64-pc-linux-gnu/transport_adapter_sample.o > output/pjmedia-x86_64-pc-linux-gnu/transport_ice.o > output/pjmedia-x86_64-pc-linux-gnu/transport_loop.o > output/pjmedia-x86_64-pc-linux-gnu/transport_srtp.o > output/pjmedia-x86_64-pc-linux-gnu/transport_udp.o > output/pjmedia-x86_64-pc-linux-gnu/types.o > output/pjmedia-x86_64-pc-linux-gnu/vid_codec.o > output/pjmedia-x86_64-pc-linux-gnu/vid_codec_util.o > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o > output/pjmedia-x86_64-pc-linux-gnu/vid_stream.o > output/pjmedia-x86_64-pc-linux-gnu/vid_stream_info.o > output/pjmedia-x86_64-pc-linux-gnu/vid_tee.o > output/pjmedia-x86_64-pc-linux-gnu/wav_player.o > output/pjmedia-x86_64-pc-linux-gnu/wav_playlist.o > output/pjmedia-x86_64-pc-linux-gnu/wav_writer.o > output/pjmedia-x86_64-pc-linux-gnu/wave.o > output/pjmedia-x86_64-pc-linux-gnu/wsola.o -lpj -lpjlib-util -lpjnath > -lsrtp -lgsm -lspeex -lspeexdsp -lportaudio -Wl,-z,defs -Wl,--as-needed > -Wl,-z,relro -lssl -lcrypto -luuid -lm -lrt -lpthread -lasound > -L/usr/lib/x86_64-linux-gnu -lSDL2 -lavformat-ffmpeg -lavcodec-ffmpeg > -lswscale-ffmpeg -lavutil-ffmpeg -lv4l2 -lopencore-amrnb -lopencore-amrwb > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjlib/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjlib-util/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjnath/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjsip/lib > -L/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/third_party/lib > -L/usr/lib/x86_64-linux-gnu -lSDL2 -lavformat-ffmpeg -lavcodec-ffmpeg > -lswscale-ffmpeg -lavutil-ffmpeg -lv4l2 -L/usr/lib/x86_64-linux-gnu > -lSDL2 -lavformat-ffmpeg -lavcodec-ffmpeg -lswscale-ffmpeg -lavutil-ffmpeg > -lv4l2 -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,defs > -Wl,--as-needed -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -lSDL2 > -lavformat-ffmpeg -lavcodec-ffmpeg -lswscale-ffmpeg -lavutil-ffmpeg -lv4l2 > -shared -Wl,-soname,libpjmedia.so.2 > output/pjmedia-x86_64-pc-linux-gnu/conference.o: In function > `create_sound_port': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/conference.c:499: > undefined reference to `pjmedia_aud_stream_get_param' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/conference.c:505: > undefined reference to `pjmedia_aud_dev_get_info' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/conference.c:503: > undefined reference to `pjmedia_aud_dev_get_info' > output/pjmedia-x86_64-pc-linux-gnu/endpoint.o: In function > `pjmedia_endpt_create': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/endpoint.c:137: > undefined reference to `pjmedia_aud_subsys_init' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/endpoint.c:191: > undefined reference to `pjmedia_aud_subsys_shutdown' > output/pjmedia-x86_64-pc-linux-gnu/endpoint.o: In function > `pjmedia_endpt_destroy': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/endpoint.c:222: > undefined reference to `pjmedia_aud_subsys_shutdown' > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o: In function > `open_stream': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:135: > undefined reference to `pjmedia_aud_dev_default_param' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:161: > undefined reference to `pjmedia_aud_subsys_get_pool_factory' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:170: > undefined reference to `pjmedia_aud_stream_create' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:137: > undefined reference to `pjmedia_aud_dev_default_param' > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o: In function > `pjmedia_snd_get_dev_info': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:74: > undefined reference to `pjmedia_aud_dev_get_info' > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o: In function > `pjmedia_snd_stream_get_info': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:245: > undefined reference to `pjmedia_aud_stream_get_param' > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o: In function > `pjmedia_snd_stream_close': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:273: > undefined reference to `pjmedia_aud_stream_destroy' > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o: In function > `pjmedia_snd_init': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:54: > undefined reference to `pjmedia_aud_subsys_init' > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o: In function > `pjmedia_snd_deinit': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:59: > undefined reference to `pjmedia_aud_subsys_shutdown' > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o: In function > `pjmedia_snd_get_dev_count': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:64: > undefined reference to `pjmedia_aud_dev_count' > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o: In function > `pjmedia_snd_stream_start': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:231: > undefined reference to `pjmedia_aud_stream_start' > output/pjmedia-x86_64-pc-linux-gnu/sound_legacy.o: In function > `pjmedia_snd_stream_stop': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_legacy.c:236: > undefined reference to `pjmedia_aud_stream_stop' > output/pjmedia-x86_64-pc-linux-gnu/sound_port.o: In function > `stop_sound_device': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:347: > undefined reference to `pjmedia_aud_stream_stop' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:348: > undefined reference to `pjmedia_aud_stream_destroy' > output/pjmedia-x86_64-pc-linux-gnu/sound_port.o: In function > `pjmedia_snd_port_set_ec': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:627: > undefined reference to `pjmedia_aud_stream_get_param' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:577: > undefined reference to `pjmedia_aud_stream_get_cap' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:601: > undefined reference to `pjmedia_aud_stream_set_cap' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:608: > undefined reference to `pjmedia_aud_stream_set_cap' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:589: > undefined reference to `pjmedia_aud_stream_set_cap' > output/pjmedia-x86_64-pc-linux-gnu/sound_port.o: In function > `start_sound_device': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:285: > undefined reference to `pjmedia_aud_stream_create' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:330: > undefined reference to `pjmedia_aud_stream_destroy' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:327: > undefined reference to `pjmedia_aud_stream_start' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:246: > undefined reference to `pjmedia_aud_dev_get_info' > output/pjmedia-x86_64-pc-linux-gnu/sound_port.o: In function > `pjmedia_snd_port_create': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:386: > undefined reference to `pjmedia_aud_dev_default_param' > output/pjmedia-x86_64-pc-linux-gnu/sound_port.o: In function > `pjmedia_snd_port_create_rec': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:424: > undefined reference to `pjmedia_aud_dev_default_param' > output/pjmedia-x86_64-pc-linux-gnu/sound_port.o: In function > `pjmedia_snd_port_create_player': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:462: > undefined reference to `pjmedia_aud_dev_default_param' > output/pjmedia-x86_64-pc-linux-gnu/sound_port.o: In function > `pjmedia_snd_port_get_ec_tail': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:688: > undefined reference to `pjmedia_aud_stream_get_cap' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/sound_port.c:698: > undefined reference to `pjmedia_aud_stream_get_cap' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function > `vid_pasv_port_get_frame': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:1302: > undefined reference to `pjmedia_vid_dev_stream_get_frame' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function `enc_clock_cb': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:1058: > undefined reference to `pjmedia_vid_dev_stream_get_frame' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function > `client_port_event_cb': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:895: > undefined reference to `pjmedia_vid_dev_stream_get_param' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:937: > undefined reference to `pjmedia_vid_dev_stream_stop' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:958: > undefined reference to `pjmedia_vid_dev_stream_set_cap' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:986: > undefined reference to `pjmedia_vid_dev_stream_start' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function `dec_clock_cb': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:1100: > undefined reference to `pjmedia_vid_dev_stream_put_frame' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function > `vid_pasv_port_put_frame': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:1278: > undefined reference to `pjmedia_vid_dev_stream_put_frame' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function > `pjmedia_vid_port_start': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:773: > undefined reference to `pjmedia_vid_dev_stream_start' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function > `pjmedia_vid_port_destroy': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:822: > undefined reference to `pjmedia_vid_dev_stream_destroy' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function > `pjmedia_vid_port_create': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:519: > undefined reference to `pjmedia_vid_dev_get_info' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:521: > undefined reference to `pjmedia_vid_dev_get_info' > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:584: > undefined reference to `pjmedia_vid_dev_stream_create' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function > `pjmedia_vid_port_is_running': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:792: > undefined reference to `pjmedia_vid_dev_stream_is_running' > output/pjmedia-x86_64-pc-linux-gnu/vid_port.o: In function > `pjmedia_vid_port_stop': > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build/../src/pjmedia/vid_port.c:805: > undefined reference to `pjmedia_vid_dev_stream_stop' > collect2: error: ld returned 1 exit status > /home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/build/rules.mak:112: > recipe for target '../lib/libpjmedia.so.2' failed > make[4]: *** [../lib/libpjmedia.so.2] Error 1 > make[4]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build' > Makefile:216: recipe for target 'libpjmedia.so' failed > make[3]: *** [libpjmedia.so] Error 2 > make[3]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject/pjmedia/build' > Makefile:14: recipe for target 'all' failed > make[2]: *** [all] Error 1 > make[2]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject' > dh_auto_build: make -j1 dep all returned exit code 2 > debian/rules:44: recipe for target 'override_dh_auto_build' failed > make[1]: *** [override_dh_auto_build] Error 2 > make[1]: Leaving directory > '/home/tzafrir/Proj/Alioth/pkg-voip-git/pjproject/pjproject' > debian/rules:17: recipe for target 'build' failed > make: *** [build] Error 2 > > > > > -- > Tzafrir Cohen > icq#16849755 jabber:tzafrir.cohen at xorcom.com > +972-50-7952406 mailto:tzafrir.cohen at xorcom.com > http://www.xorcom.com > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20151229/88d9c93c/attachment.html>