live555: fix library installation
PATCH v2 1/1 live555: fix library installation
The manual target installation commands optionally copy 3 executables that demonstrate the library usage, but do not the library itself.
This results in the following errors at runtime:
# openRTSP
openRTSP: can't load library 'libliveMedia.so.38'
# live555MediaServer
live555MediaServer: can't load library 'libliveMedia.so.38' # MPEG2TransportStreamIndexer MPEG2TransportStreamIndexer: can't load library 'libliveMedia.so.38' #
Tested with the following defconfig, which is basically qemu_arm_versatile_defconfig plus C++ and live555:
BR2_arm=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="4.0" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.0" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-4.0.config" BR2_LINUX_KERNEL_ZIMAGE=y
BR2_PACKAGE_LIVE555=y
BR2_TARGET_ROOTFS_EXT2=y
Fix the whole installation step by using the 'make install' step provided by the upstream package, similar to what was done in commit 44d15563c706dce48f84 for the staging installation.
Note: this change has the effect of installing unconditionally all the test and demo executables produced by the live555 compilation process, and that were previously not (or optionally) copied. This increases the uncompressed target filesystem size by roughly 300 kB (tested for a 32-bit ARM target). Undesired files can be deleted in a post-build script.
---
Changes v1 -> v2:
- removal of the per-program options, just install everything, and leave it to post-build scripts to clean up what's needed (suggested by Thomas Petazzoni);
- slightly improve commit message.
--- package/live555/Config.in | 23 ----------------------- package/live555/live555.mk | 9 +-------- 2 files changed, 1 insertion(+), 31 deletions(-)
package/live555/Config.in +0 -23
@@ -7,28 +7,5 @@ config BR2_PACKAGE_LIVE555 http://www.live555.com/liveMedia/ -if BR2_PACKAGE_LIVE555 - -config BR2_PACKAGE_LIVE555_OPENRTSP - bool "OpenRTSP" - default y - help - Live555 RTSP Client. - -config BR2_PACKAGE_LIVE555_MEDIASERVER - bool "live555MediaServer" - default y - help - RTSP Server. Supports numerous media formats such as H.264 and MPEG2. - -config BR2_PACKAGE_LIVE555_MPEG2_INDEXER - bool "MPEG2TransportStreamIndexer" - default y - help - MPEG2 Transport Stream Indexer. Provides indexes allowing 'trick play' - operation in the Live555MediaServer. - -endif - comment "live555 needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP
package/live555/live555.mk +1 -8
@@ -44,19 +44,12 @@ define LIVE555_BUILD_CMDS $(MAKE) -C $(@D) all endef -LIVE555_FILES_TO_INSTALL-y = -LIVE555_FILES_TO_INSTALL-$(BR2_PACKAGE_LIVE555_OPENRTSP) += testProgs/openRTSP -LIVE555_FILES_TO_INSTALL-$(BR2_PACKAGE_LIVE555_MEDIASERVER) += mediaServer/live555MediaServer -LIVE555_FILES_TO_INSTALL-$(BR2_PACKAGE_LIVE555_MPEG2_INDEXER) += testProgs/MPEG2TransportStreamIndexer - define LIVE555_INSTALL_STAGING_CMDS $(MAKE) DESTDIR=$(STAGING_DIR) -C $(@D) install endef define LIVE555_INSTALL_TARGET_CMDS - for i in $(LIVE555_FILES_TO_INSTALL-y); do \ - $(INSTALL) -D -m 0755 $(@D)/$$i $(TARGET_DIR)/usr/bin/`basename $$i` || exit 1; \ - done + $(MAKE) DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D) install endef $(eval $(generic-package))
Signature · 1 line
1.9.1
PATCH v2 1/1 live555: fix library installation
Dear Luca Ceresoli,
Quoted 12 lines · Luca Ceresoli
package/live555/Config.in +0
-12-if BR2_PACKAGE_LIVE555 - -config BR2_PACKAGE_LIVE555_OPENRTSP - bool "OpenRTSP" - default y - help - Live555 RTSP Client. - -config BR2_PACKAGE_LIVE555_MEDIASERVER - bool "live555MediaServer" - default y - help
package/live555/Config.in config BR2_PACKAGE_LIVE555 · line 31
Quoted 10 lines
package/live555/Config.in +0
-10- RTSP Server. Supports numerous media formats such as H.264 and MPEG2. - -config BR2_PACKAGE_LIVE555_MPEG2_INDEXER - bool "MPEG2TransportStreamIndexer" - default y - help - MPEG2 Transport Stream Indexer. Provides indexes allowing 'trick play' - operation in the Live555MediaServer. - -endif
Config.in.legacy handling?
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v2 1/1 live555: fix library installation
Quoted 20 lines · Thomas Petazzoni
Dear Luca Ceresoli,
Quoted 16 lines · Luca Ceresoli
package/live555/Config.in +0
-16-if BR2_PACKAGE_LIVE555 - -config BR2_PACKAGE_LIVE555_OPENRTSP - bool "OpenRTSP" - default y - help - Live555 RTSP Client. - -config BR2_PACKAGE_LIVE555_MEDIASERVER - bool "live555MediaServer" - default y - help - RTSP Server. Supports numerous media formats such as H.264 and MPEG2. - -config BR2_PACKAGE_LIVE555_MPEG2_INDEXER - bool "MPEG2TransportStreamIndexer"
Quoted 8 lines
package/live555/Config.in config BR2_PACKAGE_LIVE555 · line 31
Quoted 6 lines
package/live555/Config.in +0
-6- default y - help - MPEG2 Transport Stream Indexer. Provides indexes allowing 'trick play' - operation in the Live555MediaServer. - -endifConfig.in.legacy handling?
Don't really see the point... It defaults to y anyway, so only someone who
explicitly disabled it in their config would care. But in that case, it won't even show up on the legacy screen. So actually, it's better _not_ to have legacy handling for this one IMHO.
Regards,
Arnout
Quoted 5 lines
Thanks!
Thomas
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v2 1/1 live555: fix library installation
Arnout,
Quoted 4 lines · Arnout Vandecappelle
Don't really see the point... It defaults to y anyway, so only someone who
explicitly disabled it in their config would care. But in that case, it won't even show up on the legacy screen. So actually, it's better _not_ to have legacy handling for this one IMHO.
Ah, indeed absolutely correct, I missed that. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Thomas Petazzoni
AppliedPATCH v2 1/1 live555: fix library installation
In reply to Luca CeresoliDear Luca Ceresoli,
Quoted 41 lines · Luca Ceresoli
The manual target installation commands optionally copy 3 executables that demonstrate the library usage, but do not the library itself.
This results in the following errors at runtime:
# openRTSP
openRTSP: can't load library 'libliveMedia.so.38'
# live555MediaServer
live555MediaServer: can't load library 'libliveMedia.so.38' # MPEG2TransportStreamIndexer MPEG2TransportStreamIndexer: can't load library 'libliveMedia.so.38' #Tested with the following defconfig, which is basically
qemu_arm_versatile_defconfigplus C++ and live555:BR2_arm=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="4.0" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.0" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-4.0.config" BR2_LINUX_KERNEL_ZIMAGE=y
BR2_PACKAGE_LIVE555=y
BR2_TARGET_ROOTFS_EXT2=yFix the whole installation step by using the 'make install' step provided by the upstream package, similar to what was done in commit
44d15563c706dce48f84for the staging installation.Note: this change has the effect of installing unconditionally all the test and demo executables produced by the live555 compilation process, and that were previously not (or optionally) copied. This increases the uncompressed target filesystem size by roughly 300 kB (tested for a 32-bit ARM target). Undesired files can be deleted in a post-build script.
Quoted 5 lines
Signed-off-by Luca Ceresoli <[email protected]>Cc Baruch Siach <[email protected]>Cc Thomas Petazzoni <[email protected]>---
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com