Am Samstag, den 15.12.2012, 17:37 +1000 schrieb Ross Finlayson: > Benjamin, > > > I've now installed a new release - 2012.12.15 - that adds a new > configuration file "config.linux-with-shared-libraries".
Thanks. > Please verify that this works properly for you (i.e., after first > running "genMakefiles linux-with-shared-libraries"). (Unfortunately > I'm traveling for the rest of the month, and don't have access to a > Linux system for testing). If there are problems with this, then > please let me know ASAP. I tested linux-with-shared-libraries by creating a shared library packages and building vlc against it. I found some issues: 1) We need symbolic links on Linux for shared libraries. For example, libfoo.so.1.2.3 would required these symlinks: libfoo.so.1 -> libfoo.so.1.2.3 libfoo.so -> libfoo.so.1.2.3 libfoo.so.1.2.3 and libfoo.so.1 will be shipped in the library package and libfoo.so will be shipped in the development package. I have created an install target (patch attached). PREFIX and LIBDIR needs to be defined in the other config.* files. The ln commands create the symbolic link described above, but they should be not run for other system (for example, config.linux). The solution with the additional SHORT_LIB_SUFFIX variable is a bit hacky. 2) The *_VERSION_CURRENT, *_VERSION_REVISION, *_VERSION_AGE variables should be put into a separate file, because they are not Linux specific. They should be used on other systems (e.g. BSD) too. 3) Some symbols used by the shared libraries are not found in none of the libraries (build.log attached). -- Benjamin Drung Debian & Ubuntu Developer
Description: Add an install target to the build system. Author: Benjamin Drung <bdr...@debian.org> --- a/Makefile.tail +++ b/Makefile.tail @@ -28,3 +28,12 @@ cd $(TESTPROGS_DIR) ; $(MAKE) clean cd $(MEDIA_SERVER_DIR) ; $(MAKE) clean cd $(PROXY_SERVER_DIR) ; $(MAKE) clean + +install: + cd $(LIVEMEDIA_DIR) ; $(MAKE) install + cd $(GROUPSOCK_DIR) ; $(MAKE) install + cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) install + cd $(BASIC_USAGE_ENVIRONMENT_DIR) ; $(MAKE) install + cd $(TESTPROGS_DIR) ; $(MAKE) install + cd $(MEDIA_SERVER_DIR) ; $(MAKE) install + cd $(PROXY_SERVER_DIR) ; $(MAKE) install --- a/BasicUsageEnvironment/Makefile.tail +++ b/BasicUsageEnvironment/Makefile.tail @@ -31,4 +31,11 @@ clean: -rm -rf *.$(OBJ) $(ALL) core *.core *~ include/*~ +install: libBasicUsageEnvironment.$(LIB_SUFFIX) + install -d $(DESTDIR)$(PREFIX)/include/BasicUsageEnvironment $(DESTDIR)$(LIBDIR) + install -m 644 include/*.hh $(DESTDIR)$(PREFIX)/include/BasicUsageEnvironment + install -m 644 libBasicUsageEnvironment.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR) + ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).$(SHORT_LIB_SUFFIX) + ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).so + ##### Any additional, platform-specific rules come here: --- a/groupsock/Makefile.tail +++ b/groupsock/Makefile.tail @@ -34,4 +34,11 @@ clean: -rm -rf *.$(OBJ) $(ALL) core *.core *~ include/*~ +install: libgroupsock.$(LIB_SUFFIX) + install -d $(DESTDIR)$(PREFIX)/include/groupsock $(DESTDIR)$(LIBDIR) + install -m 644 include/*.hh include/*.h $(DESTDIR)$(PREFIX)/include/groupsock + install -m 644 libgroupsock.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR) + ln -s libgroupsock.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/libgroupsock.$(SHORT_LIB_SUFFIX) + ln -s libgroupsock.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/libgroupsock.so + ##### Any additional, platform-specific rules come here: --- a/UsageEnvironment/Makefile.tail +++ b/UsageEnvironment/Makefile.tail @@ -25,4 +25,11 @@ clean: -rm -rf *.$(OBJ) $(ALL) core *.core *~ include/*~ +install: $(USAGE_ENVIRONMENT_LIB) + install -d $(DESTDIR)$(PREFIX)/include/UsageEnvironment $(DESTDIR)$(LIBDIR) + install -m 644 include/*.hh $(DESTDIR)$(PREFIX)/include/UsageEnvironment + install -m 644 $(USAGE_ENVIRONMENT_LIB) $(DESTDIR)$(LIBDIR) + ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).$(SHORT_LIB_SUFFIX) + ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).so + ##### Any additional, platform-specific rules come here: --- a/liveMedia/Makefile.tail +++ b/liveMedia/Makefile.tail @@ -354,4 +354,11 @@ clean: -rm -rf *.$(OBJ) $(ALL) core *.core *~ include/*~ +install: $(LIVEMEDIA_LIB) + install -d $(DESTDIR)$(PREFIX)/include/liveMedia $(DESTDIR)$(LIBDIR) + install -m 644 include/*.hh $(DESTDIR)$(PREFIX)/include/liveMedia + install -m 644 $(LIVEMEDIA_LIB) $(DESTDIR)$(LIBDIR) + ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).$(SHORT_LIB_SUFFIX) + ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).so + ##### Any additional, platform-specific rules come here: --- a/testProgs/Makefile.tail +++ b/testProgs/Makefile.tail @@ -129,4 +129,8 @@ clean: -rm -rf *.$(OBJ) $(ALL) core *.core *~ include/*~ +install: $(ALL) + install -d $(DESTDIR)$(PREFIX)/bin + install -m 755 $(ALL) $(DESTDIR)$(PREFIX)/bin + ##### Any additional, platform-specific rules come here: --- a/mediaServer/Makefile.tail +++ b/mediaServer/Makefile.tail @@ -34,4 +34,8 @@ clean: -rm -rf *.$(OBJ) $(ALL) core *.core *~ include/*~ +install: $(MEDIA_SERVER) + install -d $(DESTDIR)$(PREFIX)/bin + install -m 755 $(MEDIA_SERVER) $(DESTDIR)$(PREFIX)/bin + ##### Any additional, platform-specific rules come here: --- a/proxyServer/Makefile.tail +++ b/proxyServer/Makefile.tail @@ -31,4 +31,8 @@ clean: -rm -rf *.$(OBJ) $(ALL) core *.core *~ include/*~ +install: $(PROXY_SERVER) + install -d $(DESTDIR)$(PREFIX)/bin + install -m 755 $(PROXY_SERVER) $(DESTDIR)$(PREFIX)/bin + ##### Any additional, platform-specific rules come here: --- a/config.linux-with-shared-libraries +++ b/config.linux-with-shared-libraries @@ -18,6 +18,9 @@ libgroupsock_VERSION_AGE=0 libgroupsock_LIB_SUFFIX=so.$(shell expr $(libgroupsock_VERSION_CURRENT) - $(libgroupsock_VERSION_AGE)).$(libgroupsock_VERSION_AGE).$(libgroupsock_VERSION_REVISION) +PREFIX ?= /usr/local +LIBDIR ?= $(PREFIX)/lib + COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -fPIC C = c C_COMPILER = cc @@ -32,6 +35,7 @@ LIBRARY_LINK = gcc -o LIBRARY_LINK_OPTS = -shared -Wl,-soname,$(NAME).so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE)) LIB_SUFFIX = so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE)).$($(NAME)_VERSION_AGE).$($(NAME)_VERSION_REVISION) +SHORT_LIB_SUFFIX = so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE)) LIBS_FOR_CONSOLE_APPLICATION = LIBS_FOR_GUI_APPLICATION = EXE =
dpkg-shlibdeps: warning: symbol _ZN16UsageEnvironmentC2ER13TaskScheduler used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN16UsageEnvironment13internalErrorEv used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN9HashTableD2Ev used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol __cxa_pure_virtual used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN16UsageEnvironmentD2Ev used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _Z6strDupPKc used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZTI13TaskScheduler used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN13TaskScheduler13internalErrorEv used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN13TaskScheduler21rescheduleDelayedTaskERPvlPFvS0_ES0_ used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN9HashTable8IteratorD2Ev used by debian/libbasicusageenvironment0/usr/lib/x86_64-linux-gnu/libBasicUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: 14 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: symbol __cxa_pure_virtual used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _Z6strDupPKc used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol __gxx_personality_v0 used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZdaPv used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZdlPv used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _Znam used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN9HashTable8Iterator6createERKS_ used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZTVN10__cxxabiv120__si_class_type_infoE used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _Znwm used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN9HashTable6createEi used by debian/libgroupsock0/usr/lib/x86_64-linux-gnu/libgroupsock.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: 1 similar warning has been skipped (use -v to see it) dpkg-shlibdeps: warning: symbol _Z10strDupSizePKc used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN9Groupsock17multicastSendOnlyEv used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN9HashTable8Iterator6createERKS_ used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol ReceivingInterfaceAddr used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _Z23increaseReceiveBufferToR16UsageEnvironmentij used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol our_random used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN22AddressPortLookupTable8IteratorD1Ev used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _Z20increaseSendBufferToR16UsageEnvironmentij used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN10NetAddressaSERKS_ used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN9Groupsock27changeDestinationParametersERK7in_addr4Porti used by debian/liblivemedia0/usr/lib/x86_64-linux-gnu/libliveMedia.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: 53 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: symbol _ZdlPv used by debian/libusageenvironment0/usr/lib/x86_64-linux-gnu/libUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _Znam used by debian/libusageenvironment0/usr/lib/x86_64-linux-gnu/libUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZTVN10__cxxabiv117__class_type_infoE used by debian/libusageenvironment0/usr/lib/x86_64-linux-gnu/libUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol __cxa_pure_virtual used by debian/libusageenvironment0/usr/lib/x86_64-linux-gnu/libUsageEnvironment.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _ZN9HashTable8Iterator6createERKS_ used by debian/libusageenvironment0/usr/lib/x86_64-linux-gnu/libUsageEnvironment.so.0.0.0 found in none of the libraries
_______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel