VirtualBox

Changeset 61591 in vbox


Ignore:
Timestamp:
Jun 8, 2016 8:07:23 PM (9 years ago)
Author:
vboxsync
Message:

Solaris: Ship libgcc_s.so.1 and libstdc++.so.6 (32-bit and 64-bit) for legacy systems which don't have there libraries. The binaries will find them in the package directory and need to have RPATH set accordingly.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r61565 r61591  
    44534453TEMPLATE_VBoxR3Dll-x86_DEFS           = $(filter-out HC_ARCH_BITS%,$(TEMPLATE_VBoxR3Dll_DEFS)) \
    44544454        HC_ARCH_BITS=32 ARCH_BITS=32
     4455ifeq ($(KBUILD_TARGET),solaris)
     4456 ifdef VBOX_WITH_RUNPATH
     4457  TEMPLATE_VBoxR3Dll-x86_LDFLAGS = \
     4458        $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)',$(TEMPLATE_VBoxR3Dll_LDFLAGS)) \
     4459        '$(VBOX_GCC_RPATH_OPT)$(VBOX_PATH_APP_PRIVATE)' \
     4460        '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)'
     4461 endif
     4462endif
    44554463
    44564464
     
    46454653 TEMPLATE_VBOXR3HARDENEDEXE_LIBS.x86       = $(NOT_SUCH_VARIABLE)
    46464654 TEMPLATE_VBOXR3HARDENEDEXE_LIBS.amd64     = $(NOT_SUCH_VARIABLE)
    4647 else ifn1of ($(KBUILD_TARGET), os2)
     4655else ifn1of ($(KBUILD_TARGET), os2 solaris)
     4656 # We want to keep the RPATH on Solaris to be able to find libgcc_1/libstdc++ within $(VBOX_WITH_RUNPATH)
    46484657 TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS       = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS))
    46494658 TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux))
     
    52355244        $(subst $(LIB_XPCOM),$(VBOX_LIB_XPCOM_X86),\
    52365245        $(TEMPLATE_VBOXMAINCOMP_LIBS))))
     5246ifeq ($(KBUILD_TARGET),solaris)
     5247 ifdef VBOX_WITH_RUNPATH
     5248  TEMPLATE_VBoxMainComp-x86_LDFLAGS = \
     5249        $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)',$(TEMPLATE_VBOXMAINCOMP_LDFLAGS)) \
     5250        '$(VBOX_GCC_RPATH_OPT)$(VBOX_PATH_APP_PRIVATE)' \
     5251        '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)'
     5252 endif
     5253endif
    52375254
    52385255
  • trunk/src/VBox/Installer/solaris/Makefile.kmk

    r61379 r61591  
    251251SOLARIS_COMMON = \
    252252        LICENSE
     253
    253254## @def SOLARIS_COMMON_EXES
    254255# List of executable script (and VBoxISAExec) files that are copied directly from INST_BIN to /opt/VirtualBox/.
     
    266267SOLARIS_FILE_LIST_VARS += SOLARIS_COMMON_STRIP_BINS
    267268SOLARIS_COMMON_STRIP_BINS.SUBDIRS := yes
    268 SOLARIS_COMMON_STRIP_BINS.STRIP   := no
     269SOLARIS_COMMON_STRIP_BINS.STRIP   := yes
    269270SOLARIS_COMMON_STRIP_BINS.MODE    := 0644
    270271SOLARIS_COMMON_STRIP_BINS.SRC     := $(PATH_STAGE_BIN)
     
    567568                $(if-expr !defined(VBOX_OSE) && defined(VBOX_WITH_VBOXSDL),$(PATH_DEVTOOLS_TRG)/libsdl/v1.2.13/lib/libSDL-1.2.so.0.11.2,) \
    568569                \
     570                $(foreach arch, x86 amd64, $(foreach lib, libgcc_s.so.1 libstdc++.so.6, $(PATH_DEVTOOLS)/solaris.$(arch)/s10libs/$(lib))) \
     571                \
    569572                $(foreach var, $(SOLARIS_FILE_LIST_VARS),$(foreach file, $($(var)), $($(var).SRC)/$(file))) \
    570573                \
     
    583586                $(VBOX_PATH_SI_SCRATCH_PKG)/opt/ \
    584587                $(VBOX_PATH_SI_SCRATCH_PKG)/opt/VirtualBox/ \
     588                $(VBOX_PATH_SI_SCRATCH_PKG)/opt/VirtualBox/legacy \
     589                $(VBOX_PATH_SI_SCRATCH_PKG)/opt/VirtualBox/amd64/ \
     590                $(VBOX_PATH_SI_SCRATCH_PKG)/opt/VirtualBox/amd64/legacy/ \
    585591                $(VBOX_PATH_SI_SCRATCH_PKG)/platform/ \
    586592                $(VBOX_PATH_SI_SCRATCH_PKG)/platform/i86pc/ \
     
    637643
    638644        $(if-expr !defined(VBOX_OSE) && defined(VBOX_WITH_VBOXSDL) \
    639         ,$(INSTALL) -m 0644 $(PATH_DEVTOOLS_TRG)/libsdl/v1.2.13/lib/libSDL-1.2.so.0.11.2 \
     645        ,$(INSTALL) -s -m 0644 $(PATH_DEVTOOLS_TRG)/libsdl/v1.2.13/lib/libSDL-1.2.so.0.11.2 \
    640646                $(VBOX_PATH_SI_SCRATCH_PKG)/opt/VirtualBox/$(VBOX_SI_ARCH)/libSDL-1.2.so.0,)
     647
     648        $(foreach arch, x86 amd64, $(foreach lib, libgcc_s.so.1 libstdc++.so.6 \
     649                ,$(NLTAB)$(INSTALL) -s -m 0644 $(PATH_DEVTOOLS)/solaris.$(arch)/s10libs/$(lib) \
     650                $(VBOX_PATH_SI_SCRATCH_PKG)/opt/VirtualBox/$(if-expr $(arch) == "amd64",amd64/,)legacy/$(lib)))
    641651
    642652        $(if-expr defined(VBOX_WITH_EFIFW_PACKING) \
  • trunk/src/VBox/Installer/solaris/vboxconfig.sh

    r58687 r61591  
    11511151    stop_process "VBoxNetNAT"
    11521152
    1153    # Stop VBoxSVC quickly using SIGUSR1
     1153    # Stop VBoxSVC quickly using SIGUSR1
    11541154    procname="VBoxSVC"
    11551155    procpid=`ps -eo pid,fname | grep $procname | grep -v grep | awk '{ print $1 }'`
     
    11821182        fi
    11831183    fi
     1184
     1185    # remove the S10 legacy library links
     1186    for l in `find /opt/VirtualBox -name "lib*" -type l`; do rm $l; done
    11841187}
    11851188
     
    12481251                subprint "Skipped for targetted installs."
    12491252            fi
     1253        fi
     1254
     1255        # Install the S10 legacy library links if necessary
     1256        if ldd /opt/VirtualBox/amd64/VBoxRT-x86.so | grep "not found" > /dev/null; then
     1257            for lib in `ls -1 /opt/VirtualBox/legacy/`; do
     1258                ln -sf legacy/$lib /opt/VirtualBox/$lib
     1259            done
     1260        fi
     1261        if ldd /opt/VirtualBox/amd64/VBoxRT.so | grep "not found" > /dev/null; then
     1262            for lib in `ls -1 /opt/VirtualBox/amd64/legacy/`; do
     1263                ln -sf legacy/$lib /opt/VirtualBox/amd64/$lib
     1264            done
    12501265        fi
    12511266
  • trunk/src/libs/xpcom18a4/Config.kmk

    r60949 r61591  
    290290TEMPLATE_XPCOM-x86_DEFS             = $(TEMPLATE_XPCOM_DEFS) VBOX_IN_32_ON_64_MAIN_API
    291291TEMPLATE_XPCOM-x86_LIBS             = $(subst $(LIB_RUNTIME),$(VBOX_LIB_RUNTIME_X86),$(TEMPLATE_XPCOM_LIBS))
     292ifeq ($(KBUILD_TARGET),solaris)
     293 ifdef VBOX_WITH_RUNPATH
     294  TEMPLATE_XPCOM-x86_LDFLAGS = \
     295        $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)',$(TEMPLATE_XPCOM_LDFLAGS)) \
     296        '$(VBOX_GCC_RPATH_OPT)$(VBOX_PATH_APP_PRIVATE)' \
     297        '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)'
     298 endif
     299endif
    292300
    293301
  • trunk/src/libs/xpcom18a4/Makefile.kmk

    r60975 r61591  
    11061106TEMPLATE_XPCOMIPC-x86_BLD_TRG_ARCH = x86
    11071107TEMPLATE_XPCOMIPC-x86_LIBS         = $(VBoxXPCOM-x86_1_TARGET) $(TEMPLATE_XPCOM-x86_LIBS)
    1108 
     1108ifeq ($(KBUILD_TARGET),solaris)
     1109 ifdef VBOX_WITH_RUNPATH
     1110  TEMPLATE_XPCOMIPC-x86_LDFLAGS = \
     1111        $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)',$(TEMPLATE_XPCOMIPC_LDFLAGS)) \
     1112        '$(VBOX_GCC_RPATH_OPT)$(VBOX_PATH_APP_PRIVATE)' \
     1113        '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)'
     1114 endif
     1115endif
    11091116
    11101117TEMPLATE_XPCOMIPCEXE               = XPCOM IPC executables
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette