From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH/next v9 01/28] package/freeswitch: new package
Date: Mon, 29 Feb 2016 22:21:27 +0100 [thread overview]
Message-ID: <20160229222127.27db4013@free-electrons.com> (raw)
In-Reply-To: <1456586838-21197-2-git-send-email-bernd.kuhls@t-online.de>
Dear Bernd Kuhls,
On Sat, 27 Feb 2016 16:26:51 +0100, Bernd Kuhls wrote:
> This commit adds freeswitch without any configured modules and with a
> minimal set of non-optional dependencies. All other dependencies and
> modules will be added by further patches in this series.
>
> PLease note that freeswitch source repo bundles some libraries which are
> also available as buildroot packages. The freeswitch build system does
> not allow to use system libraries in these cases:
>
> apr, apr-util, libsrtp, sofia-sip, tiff
>
> The reason are patches to these packages by the freeswitch project which
> are not yet upstream. There is an open JIRA report for this situation:
> https://freeswitch.org/jira/si/jira.issueviews:issue-html/FS-353/FS-353.html
The number of libs they bundle is quite unfortunate. But well, there's
no much you can about this besides following this bug report.
>
> More historic infos can be found here:
> http://article.gmane.org/gmane.comp.telephony.freeswitch.devel/2715
> https://freeswitch.org/the-missing-link/
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
This patch unfortunately does not build here. With the following
defconfig:
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2015.11-rc1-71-g90d1299.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_4_7=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_FREESWITCH=y
# BR2_TARGET_ROOTFS_TAR is not set
I get:
CCLD fs_ivrd
libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemWipe':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:69: undefined reference to `zrtp_memset'
libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemAlloc':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:78: undefined reference to `zrtp_sys_alloc'
libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemFree':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:87: undefined reference to `zrtp_sys_free'
collect2: error: ld returned 1 exit status
Makefile:1462: recipe for target 'fs_cli' failed
make[4]: *** [fs_cli] Error 1
make[4]: *** Waiting for unfinished jobs....
libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemWipe':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:69: undefined reference to `zrtp_memset'
libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemAlloc':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:78: undefined reference to `zrtp_sys_alloc'
libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemFree':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:87: undefined reference to `zrtp_sys_free'
collect2: error: ld returned 1 exit status
Makefile:1470: recipe for target 'fs_ivrd' failed
make[4]: *** [fs_ivrd] Error 1
*** Warning: Linking the shared library libfreeswitch.la against the
*** static library libs/libzrtp/libzrtp.a is not portable!
> diff --git a/package/freeswitch/0001-jpeg.patch b/package/freeswitch/0001-jpeg.patch
> new file mode 100644
> index 0000000..8fc3052
> --- /dev/null
> +++ b/package/freeswitch/0001-jpeg.patch
> @@ -0,0 +1,31 @@
> +Fix jpeg detection
> +
> +libyuv has an optional jpeg dependency, freeswitch configure misses -ljpeg
> +when searching for libyuv and therefore assumes libyuv is missing. When
> +freeswitch first searches for libjpeg, -ljpeg will be added to
> +PKG_CHECK_MODULES([YUV].
> +
> +Patch sent upstream: https://freeswitch.org/jira/browse/FS-8745
Can you follow-up on this bug report by doing a pull request, as they
suggested?
> diff --git a/package/freeswitch/0002-zrtp.patch b/package/freeswitch/0002-zrtp.patch
> new file mode 100644
> index 0000000..c1cdeed
> --- /dev/null
> +++ b/package/freeswitch/0002-zrtp.patch
> @@ -0,0 +1,33 @@
> +Fix PowerPC detection (needs __linux__) and add aarch64 support.
> +
> +Patch sent upstream: https://freeswitch.org/jira/browse/FS-8746
Ditto.
(Note that I find it weird to fix a bug and add support for a new
architecture in the same patch. Two separate patches would have
definitely been better here.)
> diff --git a/package/freeswitch/0003-FS-8736-resolve-Missing-MEMMOVE-macro-in-spandsp-aut.patch b/package/freeswitch/0003-FS-8736-resolve-Missing-MEMMOVE-macro-in-spandsp-aut.patch
> new file mode 100644
> index 0000000..88cb390
> --- /dev/null
> +++ b/package/freeswitch/0003-FS-8736-resolve-Missing-MEMMOVE-macro-in-spandsp-aut.patch
> @@ -0,0 +1,71 @@
> +From 10df60039322b3903e62b001971c195d5ce48943 Mon Sep 17 00:00:00 2001
> +From: Anthony Minessale <anthm@freeswitch.org>
> +Date: Fri, 15 Jan 2016 13:14:07 -0600
> +Subject: [PATCH 05/99] FS-8736 #resolve [Missing MEMMOVE macro in spandsp
> + autoconf]
Not sure why there is a 05/99 here.
> diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk
> new file mode 100644
> index 0000000..3c527fe
> --- /dev/null
> +++ b/package/freeswitch/freeswitch.mk
> @@ -0,0 +1,85 @@
> +################################################################################
> +#
> +# freeswitch
> +#
> +################################################################################
> +
> +FREESWITCH_VERSION = 1.6.6
> +FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz
> +FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases
> +FREESWITCH_LICENSE = MPL v1.1
This should be MPLv1.1
> +FREESWITCH_LICENSE_FILES = COPYING
> +
> +# required dependencies
> +FREESWITCH_DEPENDENCIES = \
> + host-autoconf host-automake host-libtool host-pkgconf jpeg \
> + libcurl openssl pcre speex sqlite zlib
> +
> +# remove an unneeded script which scans /usr/lib/freeswitch/mod
> +define FREESWITCH_REMOVE_MODCHECK
> + $(SED) "/modcheck.sh/d" $(@D)/build/Makefile.am
> +endef
> +FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_REMOVE_MODCHECK
Shouldn't this hook be rather handled by a patch ?
> +
> +# autoreconf now is necessary to avoid broken autoreconf after configure
> +# we also patch configure.ac twice
What do you mean by "patch configure.ac twice" ? Do you mean that there
are two patches touching it.
You should also explain in a comment why the normal
FREESWITCH_AUTORECONF = YES incantation doesn't work.
Other than that looks good. I would probably have applied if I didn't
encounter the build failure :-)
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2016-02-29 21:21 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-27 15:26 [Buildroot] [PATCH/next v9 00/28] package/freeswitch: new package Bernd Kuhls
2016-02-27 15:26 ` [Buildroot] [PATCH/next v9 01/28] " Bernd Kuhls
2016-02-29 21:21 ` Thomas Petazzoni [this message]
2016-03-01 6:22 ` Bernd Kuhls
2016-03-01 9:18 ` Thomas Petazzoni
2016-03-01 21:02 ` Bernd Kuhls
2016-02-27 15:26 ` [Buildroot] [PATCH/next v9 02/28] package/freeswitch: enable optional modules Bernd Kuhls
2016-02-27 15:26 ` [Buildroot] [PATCH/next v9 03/28] package/freeswitch: add optional dependency to libuuid Bernd Kuhls
2016-02-27 15:26 ` [Buildroot] [PATCH/next v9 04/28] package/freeswitch: add optional dependency to libedit Bernd Kuhls
2016-02-27 15:26 ` [Buildroot] [PATCH/next v9 05/28] package/freeswitch: enable mod_enum, add optional dependency to libldns Bernd Kuhls
2016-02-27 15:26 ` [Buildroot] [PATCH/next v9 06/28] package/freeswitch: add optional dependency to libpng Bernd Kuhls
2016-02-27 15:26 ` [Buildroot] [PATCH/next v9 07/28] package/freeswitch: add optional dependency to unixodbc Bernd Kuhls
2016-02-27 15:26 ` [Buildroot] [PATCH/next v9 08/28] package/freeswitch: add optional dependency to freetype Bernd Kuhls
2016-02-27 15:26 ` [Buildroot] [PATCH/next v9 09/28] package/freeswitch: enable mod_yaml, add optional dependency to libyaml Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 10/28] package/freeswitch: enable mod_lua, add optional dependency to lua Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 11/28] package/freeswitch: enable mod_fsv, add optional dependencies to libvpx & libyuv Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 12/28] package/freeswitch: enable mod_av, add optional dependencies to ffmpeg, " Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 13/28] package/freeswitch: enable mod_vpx, add optional dependency to libvpx Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 14/28] package/freeswitch: enable mod_bv, add optional dependency to libbroadvoice Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 15/28] package/freeswitch: enable mod_codec2, add optional dependency to libcodec2 Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 16/28] package/freeswitch: add optional dependency to libg7221 Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 17/28] package/freeswitch: enable mod_ilbc, add optional dependency to libilbc Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 18/28] package/freeswitch: enable mod_isac Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 19/28] package/freeswitch: enable mod_opus, add optional dependency to opus Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 20/28] package/freeswitch: enable mod_portaudio, add optional dependency to portaudio Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 21/28] package/freeswitch: enable mod_silk, add optional dependency to libsilk Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 22/28] package/freeswitch: enable mod_sndfile, add optional dependency to libsndfile Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 23/28] package/freeswitch: enable mod_alsa, add optional dependency to alsa-lib Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 24/28] package/freeswitch: enable mod_soundtouch, add optional dependency to libsoundtouch Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 25/28] package/freeswitch: enable mod_xml_rpc Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 26/28] package/freeswitch: enable mod_imagick, add optional dependencies to imagemagick, libvpx & libyuv Bernd Kuhls
2016-02-29 21:31 ` Thomas Petazzoni
2016-03-01 21:46 ` Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 27/28] package/freeswitch: enable mod_memcache, add optional dependency to libmemcached Bernd Kuhls
2016-02-27 15:27 ` [Buildroot] [PATCH/next v9 28/28] package/freeswitch: add optional dependency to xz Bernd Kuhls
2016-02-29 21:33 ` [Buildroot] [PATCH/next v9 00/28] package/freeswitch: new package Thomas Petazzoni
2016-02-29 21:59 ` Romain Naour
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160229222127.27db4013@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.