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

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

 



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



[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