link with --as-needed and circular deps of pjmedia*

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux