A linkdir z/lib linkdir z/include.6 - compiling the bzip2 library (1.0.1) source : m/bzip2/ Before starting the compile phase, we need to remove some linux-specific options from the makefile : cp makefile-libbz2_so makefile-libbz2_so. Orig sed 's/-Wl,-soname -wl,.1.0 makefile-libbz2_so. Orig makefile-libbz2_so As the current makefile ignores our ldflags settings, we link the shared library with our own command. We also must install the files ourselves as the makefile is unable to. Mk -f makefile-libbz2_so gcc -shared -o.1.0.1 ldflags *.o - install the shared library and the include file mkdir -p blib/bz2/include blib/bz2/lib cp bzlib. H blib/bz2/include.1.0.1 blib/bz2/lib/.1.0.1 ln -s.1.0.1 blib/bz2/lib/.1.0 ln -s .1.0 blib/bz2/lib/.1 ln -s.1 blib/bz2/lib/ linkdir bz2/lib linkdir bz2/include.7 - compiling the Openssl library (0.9.8j) source : http www. Openssl.org/source/ Web site : http www.
Sap Basis/hana Administrator Resume Profile - hire
2.4 - compiling the stdc library (4.1.1) source :. Org Here, you need to download gcc-core and file gcc-g. Uncompress/untar them in the same directory. Note that you will need gnu tar to read the gcc-core source package. If you get errors in this part, and if you use a pre-built gcc compiler, you should first try to rebuild your gcc compiler from source code. It is not guaranteed to solve your problems but it generally did for. On aix, we must compile in two steps, with different values for the object_mode variable (the first step ends with an error). We assignment also run configure through bash, because the default /bin/sh is excessively slow here. Cd libstdc-v3 - work in a build sub-directory mkdir build cd build - configure, build, install cxx'gcc' cppflags bash./configure -prefixblib/g CF_opts mk : Ignore error object_mode64 mk mk install "install pwd/././install-sh -c" cd blib/g /bin/rm -rf include - remove the 64-bit code and the. 2.5 - compiling zlib (1.2.3) source : t/ The zlib library provides the gzip (gnu zip) compression/decompression features./configure -shared -prefixblib/z mk "ldshared gcc -shared ldflags" test install - cleanup rm -rf blib/z/share blib/z/lib.
Every time we build and install a library we need to reference in a subsequent build, we call this script to register the files in the common structure. This is done through the linkdir environment variable. Note that the link creation script is not in the common path. This way, it cannot conflict with another file. - declare the variable we use to call the script export linkdirblib/common/linkdir - create the script echo 'cd blib/1 - if second argument is unset, default to the last element of target dir (usual case) cdir2 -z "2" cdirbasename "1" - directory to contain links. Create common subdirectory when needed tdirblib/common/cdir -d tdir mkdir -p tdir for i in * do "Xi" "x break - empty directory "Xi" Xpkgconfig continue - pkgconfig is a special case -h tdir/i continue no override echo "Linking i" ln -s././1/i tdir/i done. It means that this library must writings be present on the target host. In accordance with our 'black box' approach, we embed a libgcc_s library in the package and we force everyone to reference this copy. Mkdir -p blib/gcc/lib cp -p /usr/local/lib/libgcc_s.a blib/gcc/lib linkdir gcc/lib If you don't have a libgcc_s shared library on your system, the best solution is to rebuild gcc ( gmake bootstrap builds the shared gcc lib we need).
Using a common directory populated with symbolic links brings first several benefits : it allows to set a single path in the dynamic lib search path (ldflags). It also allows to set a single path in the include file search path (cppflags) Putting a common 'bin' subdirectory as first element of the path ensures that anything we put in this directory will be found first when searching for an executable command. Last, it allows to set a single path in the pkg_config_path variable. Thanks to this directory structure, we don't have to modify the environment variables each time we add a library to the package. It becomes also easier to ensure that the compilation will reference our embedded library/include files, and not the ones that can be installed elsewhere in the system. First, we create the base common directory. Mkdir -p blib/common Then, we create the script to populate the common directories.
For more info about parallel make, see the gnu make manual. Gnu make is mandatory as several packages absolutely require. On Linux, gnu make is native but, on non-Linux systems, you are strongly advised not to use the native make. Export make'gmake' export smk"make" export MK"make" we also un-localize the shell environment : unset lang lc_monetary lc_time lc_messages lc_ctype lc_collate lc_numeric : we now set the variables specific to this operating system : If the -brtl option is not set, the linker (ld) ignores the. So' suffix (and searches for '. Export ldflags"-lblib/common/lib -Wl,-brtl" On aix, using /bin/sh to execute the configure scripts can be very slow, due to the huge number of useless temporary files that get created during the execution. To work around this problem, we will use bash : export config_shellwhich bash.2 - creating the target structure every libraries and auxiliary software are installed under 'base/libs'. There, each software/library is assigned a subdirectory, and we populate a 'common' subdirectory with symbolic links to the actual file locations.
George's, resume - cactus
But, when you read this : dirbase you copy and paste it asis into your environment. 1.5 - context Host model : pl 820 os : aix.2 Hardware platform : Power hitler's pc shell : /bin/ksh93.5.1 - software.1 - environment First, we define the install (target) base directory : export base your install directory we ensure that the libpath. Only one of them applies to this system but it is simpler to unset them all on every os : unset libpath ld_library_path shlib_path : If the shell environment contains aliases for cp, rm, or mv, it is time to unalias them : unalias. Among others, we ensure that /usr/local/bin is in the path : export blibbase/libs export export CCgcc export export CF_opts"-enable-shared -disable-static" export c compilers can have such different behaviors that I strongly recommend using gcc. If you are using another compiler, please don't ask for support. Now, we set the 'make' commands we'll use in the rest of the document.
The difference between mk and smk is that, in mk, you can add options for a 'parallel make' -j '-l.). Smk stands for 'serial make' and is used where parallel builds are known to fail. Mileage varies concerning parallel make. Depending on your host characteristics and the options you set, the build can be faster or slower. Personnally, after trying several options, i did not observe a noticeable gain in performance and reverted to the default 'serial' make. Please note that parallel make can cause essay compilation failures. So, if you get unexpected results while parallel make options are active, the first thing to do is to retry the same without the parallel options.
1.2 - getting the source packages Some readers sometimes ask why i don't provide copies of the source packages I list below. Sure, it would be easier for you, but I won't do it as you must get your source packages from a repository you can trust! You don't know me, you cannot trust source code downloaded from my site (except for my own projects). So, once again, always get your software from a trusted source and, when a package signature is provided, check it to make sure you get the official code. I insist on this because compiling some modified source code or installing some corrupted precompiled binaries would give hackers everything they need to take control on your site (remember that most software we compile here runs as root).
In every chapter below, you will find a link to the best place to get the source package from. So, remain a good, slightly paranoid, system administrator, and everything will go well. 1.3 - software dependencies The following diagram displays the libraries rpm depends upon and their relationships. Yum has a very complex dependency diagram, that you'll find in the table below. If someone builds a readable graphical representation from this, i'll be glad to include it : Module.uses / depends. Zlib none bzip2 none openssl zlib, iconv iconv none beecrypt stdc expat none ncurses none gettext iconv glib gettext, iconv, pcre popt gettext, iconv libffi none sqlite3 none gnupg bzip2, zlib, gettext, iconv libgpg-error gettext, iconv gpgme gnupg, libgpg-error gdbm none python libffi, sqlite3, bz2. Everything written in red and between ' ' and ' ' symbols must be replaced by a value corresponding to your environment. Example : when you read this : dir base you must replace base with your base directory path in the line you will actually type.
Resumes: Computer skills Section, resume and cover
It will bring you the admiration of your and, who knows, an appreciable boost in your career. 1.1 - intended audience, this document can be used in two different ways : In order to apply the procedure and build pdf the software exactly as it is described here, you don't need to be an expert : it just requires some basic Unix and. At this level, the procedure given below can be splitted in two main steps : you first set a limited number of environment variables (essentially the installation directory) and the rest is just a suite of copy/paste operations from the document to your shell environment. Now, if you want to understand everything that is explained below, or if you want to adapt it to your specific needs, it requires of course more knowledge on different domains, mostly : build mechanisms in general, compile and link operations (with a strong focus. So, to resume, most people will just apply the procedure described below, which is relatively easy and just requires a basic working knowledge of the Unix shell environment. Don't hesitate to post comments on issues you may have with this document. Each time you do it, you help me and the community in general to make book the procedure more robust and reliable. I promise to reply to every question asked in comments. Please prefer comments to direct mail as they may benefit others.
We didn't consider other Linux package formats, like apt, because the only linux distribution we use is RedHat's rhel. Once the decision is made, we 'just' had to build rpm/yum packages for all the environments. Although rpm is quite portable since version 5 (version 4 was very linux-specific this is not the case for yum, whose port wright took a lot of time. This is due to several factors like poor documentation, complex dependencies, the need for a dedicated python interpreter. Actually, i wouldn't be surprised if it was the first time somebody builds it on a non-Linux system. Well, the work is over now. Just follow the rest of this document and you too will be able to provide unified package installation/management procedures on all your Linux and non-Linux environments.
would use. Each os provides its native package format, which are incompatible. So, using the native package format for each os would have forced the development and system teams to learn how to build and use all these formats, which is quite impractical. Having eliminated this option, we searched for a format to be used everywhere. Only two of the native package formats exist outside of their native os : sd-ux (hp-ux) and rpm (rpm is not really available in precompiled form on every non-Linux systems but, as it is open-source, it can be compiled). Sd-ux was discarded for several reasons, the main ones being that it is closed-source, expensive, and its future is not clear. Rpm remained alone with several benefits : It is easy to teach to the development and system administration teams, It is widely used and known. Most people we hire already know it, combined with yum, it makes installation procedures very easy.
Added aix version.2-1, fEB entry 2009, component upgrade to the latest stable version. Why would you want to use rpm on a non-Linux system? It may seem strange as all these environments already provide a native package format. Let me just explain how we got such an exotic idea. I am a unix system engineer. The platform i am working on contains some hp-ux, solaris, aix, and Linux servers. Historically, on this platform, the developers delivered their software in the form of a gzipped tar file.
Ibm, careers - india
Welcome to our Administrator telecommuting jobs! The job listings at FlexJobs are updated daily, with hundreds of new job listings being added every week. Currently we don't have any active job listings about Administrator on our site; however, below are some past telecommuting jobs. Document history,.0-1, oct 2006, first release, essays hp-ux.11 only. V.0-4, nOV 2006, build native sd-ux package on hp-ux. Added hp-ux.00 version,.0-1, mAR 2008, switch to rpm.0.2. Added native solaris package,.1-1, jUL 2008, added yum createrepo.