mirror of
https://github.com/nix-community/hpe-ltfs.git
synced 2026-09-01 13:46:56 +00:00
211 lines
9.2 KiB
Plaintext
211 lines
9.2 KiB
Plaintext
=======================================================================
|
|
HPE StoreOpen Software (HPE-SOS) - Version 3.4.2
|
|
=======================================================================
|
|
|
|
Files in this download contain Licensed Materials, property of HPE,
|
|
(C) Copyright 2015-2018 Hewlett Packard Enterprise Development LP
|
|
|
|
Files in this download also contain Licensed Materials, property of OSR,
|
|
Copyright (C) 2012 OSR Open Systems Resources, Inc.
|
|
|
|
Files in this download also contain Licensed Materials, property of IBM,
|
|
(C) Copyright IBM Corp. 2010, 2014
|
|
|
|
See the Licensing agreement (COPYING.LIB) when LTFS is downloaded.
|
|
|
|
The LTFS software application is an open-source tape file system
|
|
implemented on dual partition tape drives.
|
|
|
|
Further details on HPE's LTFS implementation can be found at
|
|
www.hpe.com/storage/storeopen/
|
|
|
|
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!====================!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
! IMPORTANT NOTE !
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!====================!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
To build LTFS on a Windows platform, there are a number of steps
|
|
which must be followed carefully to set up the required build
|
|
environment. The result is the complex build procedure set out below.
|
|
HPE cannot support customers who choose to attempt to build
|
|
their own version of LTFS for Windows.
|
|
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!====================!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
! IMPORTANT NOTE !
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!====================!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
|
|
|
=======================================================================
|
|
Building HPE-SOS from source code (Windows)
|
|
=======================================================================
|
|
|
|
1. Creating an LTFS Build Machine
|
|
----------------------------------
|
|
|
|
The following installation instructions are meant to be used with Windows 7 SP1
|
|
x64. While other versions of the O/S should also be sufficient for building the
|
|
code, it is critical that an x64 release of the O/S is used as the MinGW tools
|
|
do not support building x64 binaries from x86 hosts. However, x86 binaries can
|
|
be built on x64 hosts, thus an x64 version of the O/S can be used to build both
|
|
x86 and x64 binaries.
|
|
|
|
The build machine must have a copy of Microsoft Visual Studio 2010 Ultimate
|
|
installed.
|
|
|
|
The build procedure relies on three separate MinGW packages:
|
|
MinGW, MinGW64 Win64 Tools, and MinGW64 Win32 Tools.
|
|
These may be found here:
|
|
http://www.mingw.org
|
|
http://mingw-w64.sourceforge.net
|
|
|
|
MinGW is installed to provide a shell environment for use in building the code,
|
|
while the other packages are used as the actual build tool chains for x64 and
|
|
x86.
|
|
|
|
To install the MinGW packages:
|
|
a) Install MinGW to its default location, C:\MinGW. Be sure to install
|
|
all features of MinGW, including the MSYS environment.
|
|
|
|
b) Download the MinGW64 Win64 Tools and extract them to C:\MinGW\MinGW64
|
|
|
|
c) Download the MinGW64 Win32 Tools and extract them to C:\MinGW\MinGW64-32
|
|
|
|
d) Copy the provided MinGW overlay directory (located at
|
|
dependencies\mingw) over the directory C:\MinGW to place necessary
|
|
build files not provided by MinGW.
|
|
|
|
The LTFS for Windows source code has no binary dependencies on the FUSE package.
|
|
However, the include files provided with FUSE must be available for proper
|
|
compilation. Extract the following files from fuse-2.8.7.tar.gz (located in
|
|
dependencies\fuse directory) to C:\MinGW\inc.external:
|
|
Fuse.h Fuse_common.h Fuse_compat.h Fuse_opt.h
|
|
|
|
It is necessary to install the ICU library in order to support the existing
|
|
Linux build procedure in MinGW. Note that the ICU library files are also
|
|
required to be present at runtime. There are 64-bit and 32-bit versions of ICU
|
|
and they must be installed individually into the MinGW64 and MinGW64-32
|
|
environments. In addition, there is a common include directory that is to be
|
|
shared amongst both environments. ICU for Windows can be found here:
|
|
http://site.icu-project.org/download/48
|
|
|
|
64-bit icu Installation:
|
|
a) Extract contents of bin64 subdirectory of icu4c-50_1_2-Win64-msvc10.zip
|
|
to C:\MinGW\MinGW64\bin
|
|
|
|
b) Copy C:\MinGW\MinGW64\bin\icuuc50.dll to
|
|
C:\MinGW\MinGW64\x86_64-w64-mingw32\lib\libicuuc.dll
|
|
|
|
32-bit icu Installation:
|
|
a) Extract contents of bin subdirectory of icu4c-50_1_2-Win32-msvc10.zip to
|
|
C:\MinGW\MinGW64-32\bin
|
|
|
|
b) Copy C:\MinGW\MinGW64-32\bin\icuuc50.dll to
|
|
C:\MinGW\MinGW64-32\i686-w64-mingw32\lib\libicuuc.dll
|
|
|
|
Extract include subdirectory of either icu4c-50_1_2-Win32-msvc10.zip or
|
|
icu4c-50_1_2-Win64-msvc10.zip to C:\MinGW\inc.external. Note that the include
|
|
directory of both ZIP files should be identical.
|
|
|
|
It is necessary to install the LibXML library in order to support the existing
|
|
Linux build procedure in MinGW. Note that the LibXML library files are also
|
|
required to be present at runtime. LibXML source can be found here:
|
|
http://xmlsoft.org/.
|
|
|
|
a) Copy 64-bit libxml2.dll to C:\MinGW\MinGW64\x86_64-w64-mingw32\lib\libxml2.dll
|
|
|
|
b) Copy 32-bit libxml2.dll to C:\MinGW\MinGW64-32\i686-w64-mingw32\lib\libxml2.dll
|
|
|
|
c) Extract include subdirectory of libxml2-2.7.8.tar.gz to C:\MinGW\inc.external
|
|
|
|
d) Copy C:\MinGW\include\iconv.h to C:\MinGW\inc.external
|
|
|
|
It is necessary to install pkg-config in order to support the existing Linux
|
|
build procedure in MinGW. There are 64-bit and 32-bit versions of pkg-config
|
|
and they must be installed individually into the MinGW64 and MinGW64-32
|
|
environments. Pkg-config for Windows can be found here:
|
|
http://www.gtk.org/download/index.php
|
|
|
|
64-bit pkg-config Installation:
|
|
a) Extract pkg-config_0.23-2_win64.zip to C:\MinGW\MinGW64
|
|
|
|
b) Extract glib_2.26.1-1_win64.zip to C:\MinGW\MinGW64
|
|
|
|
c) Extract gettext-runtime_0.17-3_win64.zip to C:\MinGW\MinGW64
|
|
|
|
32-bit pkg-config Installation:
|
|
a) Extract pkg-config_0.23-3_win32.zip to C:\MinGW\MinGW64-32
|
|
|
|
b) Extract glib_2.26.1-1_win32.zip to C:\MinGW\MinGW64-32
|
|
|
|
c) Copy C:\MinGW\bin\libintl-8.dll to C:\MinGW\MinGW64-32\bin\intl.dll
|
|
|
|
It is necessary to install the pthreads library in order to support the existing
|
|
Linux build procedure in MinGW. Note that the pthreads library files are also
|
|
required to be present at runtime. There are 64-bit and 32-bit versions of
|
|
pthreads and they must be installed individually into the MinGW64 and MinGW64-32
|
|
environments. Be sure to delete any existing pthreads library files from the
|
|
MinGW64 and/or MinGW64-32 directories before extracting the required files to
|
|
avoid linking to an incorrect version of the pthreads library. When properly
|
|
linked, the resulting binaries have a dependency on pthreadGC2-w64.dll or
|
|
pthreadGC2-w32.dll. Pthreads for Windows can be found here:
|
|
http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20(Win64%20hosted)/pthreads/
|
|
|
|
a) Extract pthreads-w64.zip to C:\MinGW\MinGW64
|
|
|
|
b) Extract pthreads-w32.zip to C:\MinGW\MinGW64-32
|
|
|
|
It is necessary to install the UMFSDK library in order to support the LTFS
|
|
for Windows build procedure in MinGW. Note that the UMFSDK library files are
|
|
also required to be present at runtime. The UMFSDK components are located in
|
|
dependencies\umfsdk\
|
|
|
|
a) Copy 64-bit FUSE4Win.dll to
|
|
C:\MinGW\MinGW64\x86_64-w64-mingw32\lib\libFUSE4Win.dll
|
|
|
|
b) Copy 32-bit FUSE4Win.dll to
|
|
C:\MinGW\MinGW64-32\i686-w64-mingw32\lib\libFUSE4Win.dll
|
|
|
|
c) Copy FUSE4Win_nonstd.h to C:\UMFSDK\Inc\
|
|
|
|
2. Building LTFS Binaries (64-bit)
|
|
----------------------------------
|
|
|
|
The following steps are performed from within a MinGW Shell environment.
|
|
They assume that the latest LTFS source tree is located in C:\LTFS and that
|
|
the Microsoft Visual Studio software has been installed in C:\MVS10
|
|
|
|
a. Change path to prioritize x64 build utilities:
|
|
export PATH=/C/MinGW/MinGW64/bin:/C/MVS10/VC/bin/amd64:$PATH
|
|
|
|
b. cd to /C/LTFS and execute the following command:
|
|
./configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 \
|
|
CFLAGS="-Dmingw_PLATFORM=1 -DHPE_mingw_BUILD=1 \
|
|
-I/C/MinGW/inc.external -I/C/UMFSDK/inc"
|
|
|
|
c. Build the source code by executing make.
|
|
If you get a libtool error during this step, run autoreconf and rebuild.
|
|
|
|
d. Resulting executable binary files are located in the .libs subdirectory of
|
|
each directory containing a Makefile. Do not use the binaries generated
|
|
outside of these directories as they are simply intermediate files.
|
|
|
|
3. Building LTFS Binaries (32-bit)
|
|
----------------------------------
|
|
|
|
a. Change path to prioritize x86 build utilities:
|
|
export PATH=/C/MinGW/MinGW64-32/bin:/C/MVS10/VC/bin:/C/MVS10/Common7/IDE:$PATH
|
|
|
|
b. cd to /C/LTFS and execute the following command:
|
|
./configure --host= i686-w64-mingw32 --build= i686-w64-mingw32 \
|
|
CFLAGS="-Dmingw_PLATFORM=1 -DHPE_mingw_BUILD=1 -I/C/MinGW/inc.external \
|
|
-I/C/UMFSDK/inc -D __MINGW_USE_VC2005_COMPAT=1"
|
|
|
|
c. Build the source code by executing make.
|
|
If you get a libtool error during this step, run autoreconf and rebuild.
|
|
|
|
d. Resulting executable binary files are located in the .libs subdirectory of
|
|
each directory containing a Makefile. Do not use the binaries generated
|
|
outside of these directories as they are simply intermediate files.
|
|
|