I need to compile the latest git version for my TP-Link TL-WDR3600 v1. Nativ compiling isnt possible because of missing cmake (with is force rebooting my device while compiling) so i have modified the Makefile from your default opkg repo to crosscompile it with your SDK.
This is my Makefile
fleixi@melli:~/lede/lede-sdk-ar71xx-generic_gcc-5.4.0_musl.Linux-x86_64$ cat feeds/packages/multimedia/tvheadend/Makefile
#
# Copyright (C) 2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=tvheadend
PKG_VERSION:=9.9.9
PKG_RELEASE:=1
PKG_SOURCE_SUBDIR:=$(PKG_NAME)
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
#PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=http://192.168.1.122/
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=LICENSE.md
PKG_FIXUP:=autoreconf
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/tvheadend
SECTION:=multimedia
CATEGORY:=Multimedia
TITLE:=Tvheadend is a TV streaming server for Linux
DEPENDS:=+libopenssl +librt +zlib +TVHEADEND_AVAHI_SUPPORT:libavahi-client $(ICONV_DEPENDS)
URL:=https://tvheadend.org
MAINTAINER:=Jan Čermák <jan.cermak@nic.cz>
endef
define Package/tvheadend/description
Tvheadend is a TV streaming server and recorder for Linux, FreeBSD and Android
supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, SAT>IP and HDHomeRun as input sources.
Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming.
endef
define Package/tvheadend/config
menu "Configuration"
depends on PACKAGE_tvheadend
source "$(SOURCE)/Config.in"
endmenu
endef
ifeq ($(CONFIG_TVHEADEND_CWC_SUPPORT),)
CONFIGURE_ARGS += --disable-cwc
endif
ifeq ($(CONFIG_TVHEADEND_LINUXDVB_SUPPORT),)
CONFIGURE_ARGS += --disable-linuxdvb
endif
ifeq ($(CONFIG_TVHEADEND_DVBSCAN_SUPPORT),)
CONFIGURE_ARGS += --disable-dvbscan
endif
ifeq ($(CONFIG_TVHEADEND_AVAHI_SUPPORT),)
CONFIGURE_ARGS += --disable-avahi
else
CONFIGURE_ARGS += --enable-avahi
endif
CONFIGURE_ARGS += \
--arch=$(ARCH) \
--disable-dbus_1 \
--disable-libav \
--disable-ffmpeg_static \
--enable-bundle
define Build/Prepare
$(call Build/Prepare/Default)
echo 'Tvheadend $(shell echo $(PKG_SOURCE_VERSION) | sed "s/^v//")~openwrt$(PKG_RELEASE)' \
> $(PKG_BUILD_DIR)/debian/changelog
endef
define Package/conffiles
/etc/config/tvheadend
endef
define Package/tvheadend/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/tvheadend.init $(1)/etc/init.d/tvheadend
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/tvheadend.config $(1)/etc/config/tvheadend
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build.linux/tvheadend $(1)/usr/bin/
endef
$(eval $(call BuildPackage,tvheadend))
the package is compiled fine and could installed without problems but if i trying to start tvheadend i get a segmentation fault.
Some outputs:
ldd /usr/bin/tvheadend
/lib/ld-musl-mips-sf.so.1 (0x564e4000)
libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x77156000)
libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x76f7c000)
libz.so.1 => /usr/lib/libz.so.1 (0x76f5c000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x76f38000)
libc.so => /lib/ld-musl-mips-sf.so.1 (0x564e4000)
strace /usr/bin/tvheadend
execve("/usr/bin/tvheadend", ["/usr/bin/tvheadend"], [/* 14 vars */]) = 0
set_thread_area(0x77f0dd48) = 0
set_tid_address(0x77f06cac) = 24198
open("/etc/ld-musl-mips-sf.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/libssl.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libssl.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libssl.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0555, st_size=456396, ...}) = 0
read(3, "\177ELF\1\2\1\0\5\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\334P\0\0\0004"..., 936) = 936
mmap2(NULL, 458752, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x77df2000
mmap2(0x77e5c000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x5a000) = 0x77e5c000
close(3) = 0
open("/lib/libcrypto.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libcrypto.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libcrypto.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0555, st_size=2220120, ...}) = 0
read(3, "\177ELF\1\2\1\0\5\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\3\331\340\0\0\0004"..., 936) = 936
mmap2(NULL, 1937408, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x77c18000
mmap2(0x77dd7000, 106496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1af000) = 0x77dd7000
mmap2(0x77dee000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x77dee000
close(3) = 0
open("/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0755, st_size=61720, ...}) = 0
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\24\200\0\0\0004"..., 936) = 936
mmap2(NULL, 131072, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x77bf8000
mmap2(0x77c16000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xe000) = 0x77c16000
close(3) = 0
open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=77040, ...}) = 0
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0(\20\0\0\0004"..., 936) = 936
mmap2(NULL, 143360, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x77bd4000
mmap2(0x77bf6000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x12000) = 0x77bf6000
close(3) = 0
mprotect(0x77c16000, 4096, PROT_READ) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x5650fd88} ---
+++ killed by SIGSEGV +++
Segmentation fault
I have no idea whats wrong.Any idea?