disksim + sdd extension 64 bits - compilation

I am trying to use DiskSim with the SSD model in a 64 bits environment. I found out that Microsoft has created an SSD model for DiskSim 4.0. However, I couldn't compile it as my computer is 64 bits.
I saw that Western Digital released a modified version of DiskSim 4.0 that makes it 64 bits compliant but I couldn't make it work with the SSD model.
I also saw that MSR's SSD model which is not compatible with Western Digital release.
Could anyone tell me please if there is a way to compile DiskSim 4.0 + SSS model on a 64 bits environment?

unzip ssdmodel and patch ssd file
$ patch -p1 < ssdmodel/ssd-patch
patch file "modify-patch"
$ patch -p1 < modify-patch
if you just want it run in a 32 bit PC, directly perform make
patch the 64-bit patch file
$ patch -p1 < 64bit-patch
modify-patch:https://github.com/cighao/disksim-4.0-with-ssdmodel-patch
The most important thing was to patch the file "64bit-patch" which can be find at
https://github.com/cighao/disksim-4.0-with-ssdmodel-64bit-patch.

Related

How do we install gcc-go to AIX machine power-pc-7 bigendian 64 bit?

I have a AIX machine which runs on power-pc-7 bigendian 64 bit I understand installing Go compiler is easy for Windows,Linux and Mac but if we want to install it on AIX then it involves different steps.
I downloaded the tar file supported for my AIX machine "go1.14.1.linux-pcc64le.tar.gz" using the link "https://dl.google.com/go/go.1.14.1.linux-pcc64le.tar.gz" after downloading this not sure how to proceed also I am using the littleendian one as I didn't any reference for bigendian .
All I wanted to do first before i start my project is to run a hello world Go program on my AIX machine does anyone have any idea on this ?
A little-endian program will not work on a big-endian operating system and vice-versa.
Two alternatives:
Download golang from http://www.bullfreeware.com/?searching=true&package=golang&from=&to=&libraries=false&exact=false&version=5 but they only have go v1.14 and it only works on AIX 7.2.
Download the source and follow the instructions on https://golang.org/doc/install/source -- it's not trivial as go is written in go nowadays, so you need to install go 1.4 first.

Understanding RT patches organization for back porting

I want to backport RT patch from 3.0 to 2.6.35 kernel. Using README file trying to understand how RT patches are organized at https://www.kernel.org/pub/linux/kernel/projects/rt/3.0/. Can you help on the following.
I could see different -rt numbers for different kernel versions in older directotry.
Ex: patch-3.0.3-rt12.patch.bz2, patch-3.0.4-rt13.patch.bz2 ----> my doubht here is (a)rt changes for 3.0.3 is rt12 and the same rt changes for 3.0.4 kernel is rt13 or (b)while the kernel is changing from 3.0.3 to 3.0.4 the rt changes added from rt2 to rt3 without depending on the kernel changes).
In the incr directory I could see rt numbers are changing for the same kernel version.
Ex: patch-3.0.4-rt13-rt14.patch.bz2, patch-3.0.4-rt14-rt15.patch.bz2, patch-3.0.6-rt16-rt17.patch.bz2, patch-3.0.6-rt17-rt18.patch.bz2 ----> what exactly it means.
I could see following content in README for incr directory, can you help to understand?
The incr directory contains patches that will move you from one
version to the next.(here one version to next means rt version or
kernel version?)
It only includes patches moving between stable releases. (i.e 3.0.4, >3.0.6 ....)
The changes between vanilla Linux stable releases will not have an incremental patch.(not sure what it is?)
As per my understanding the kernel release follows as 3.0.rc1, 3.0.rc2,......,3.0.rcn and after all bug fixes it will be released as 3.0 . But I couldn't see any rt patch for 3.0 kernel in the top directory, only patch-3.0.101-rt130.patch.bz2 patch is available.

install libssh2.dll on windows

I want to install SSH on my PC (windows 7 64bits).
But I have a problem with the installation of libssh2.dll file
I saved in: C: \ Windows \ SysWOW64
and even in C: \ Windows \ System32
and when I execute this command "regsvr32 libssh2.dll" in cmd as administrator I get this error message:
Libssh2.dll "The module" "was loaded, but the DllRegisterServer entry point was not found.
Verify that "libssh2.dll" is a valid DLL or OCX file and try again. "
I downloaded from this site file:
http://windows.php.net/downloads/pecl/releases/ssh2/0.12/
The only good that contains the libssh2.dll is x86 (knowing that I have a 64bits), is what may be causing the problem?
If someone knows a solution, please, share it, it is very important that I find a solution as soon as possible and thank you.
You have to put that libssh2.dll somewhere on the %path% so then the PHP extension can find it. Logic were to put it into your PHP dir (if you use the standard zipball from windows.php.net).
well why have you downloaded a 32 bit file to a 64 bit system
am I missing something here
You can only run a 32bit type if your Apache PHP and MySQL have 32bit running versions or 64 bit in your case. So if you are running a 32bit OS on a 64bit system then this is fine, if you are running 64 bit script on a 64 bit system and are trying to use a 32 bit script which I suspect you are then this is not fine!
I would therefore suggest that if this is the case you may have a mix match of OS Versus Script.
There are a few brave people operating in the 64 bit world and you should only ever use the stable versions of the product and like Apache unless you do you will not get the support you want because you have not utilised a stable version only and Apache will not support 64 bit, hence Apache lounge.
If you are running off localhost or 127.0.0.1, then running a stable 32 bit OS and running the 32 bit stable version is the only way you will get support.

Can't load module XML::LibXML: libz.so.1: cannot open shared object file

I want to upgrade perl from 5.8 to 5.16 on Linux Machine(32 bit). I could easily upgrade them (using perlbrew and CPAN).They work perfectly on Linux 32 bit machine.I don't want to disturb the system perl henceforth i used perbrew and copied the required modules in another path and they work fine. The problem i had encountered when i copied the the same on Linux x86_64. 64 bit did not support the 32 bit XML::LibXML module. I wanted to upgrade perl in such a way that it supports both the machines. Please suggest a solution for this error.
Can't load /opt/data/Linux2.X/lib/perl5/site/lib/i686-linux/auto/XML/LibXML/LibXML.so' for module XML::LibXML: libz.so.1: cannot open shared object file: No such file or directory at /opt/data/Linux2.X/lib/perl5/lib/i686-linux/DynaLoader.pm line 190.
Thanks in Advance

32 bit builds on 64 bit CentOS 5 hosts

I am trying to build valgrind (3.7.0) on a 64 bit host (running CentOS 5.8). I need to use valgrind in examining the performance of a 32 bit program (built on a 32 bit host, I need 32 bit because the program needs to run on 32 bit and 64 bit hosts).
The problem is that my 64 bit host did not have gcc, so I installed gcc using "sudo yum install gcc" with the Stanford University repo mirror (the default repos for this 64 bit host were unavailable and thus yum was timing out). This allowed me to build valgrind, and it worked for local stuff (e.g. "valgrind ls -l"), but failed when trying to run it for the 32 bit program I have built on another host. I finally figured out that the configure script for valgrind was detecting that I did not have 32 bit build support on the host (by running "configure --enable-only32bit" which reported "checking for 32 bit build support... no").
So how do I get 32 bit support for gcc, etc? I tried "yum search gcc | grep i386" and then installing whatever looked like 32 bit C stuff ("sudo yum install compat-glibc.i386 compat-libgcc-296.i386 compat-libstdc++-296.i386 compat-libstdc++-33.i386 libgcc.i386 libstdc++.i386 libstdc++-devel.i386 libstdc++44-devel.i386 edac-utils.i386 edac-utils.x86_64 nspluginwrapper.i386") but "configure --enable-only32bit" still reports no 32 bit support.
PS: The yum.conf looks pretty minimal, i.e. no excludes. The only odd thing in it is "installonly_limit = 5"
OK, here is the scoop, thanks to Error "gnu/stubs-32.h: No such file or directory" while compiling Nachos source code
The short answer is to install glibc-devel.i386 (on CentOS 5.8 anyway... for different distros it has different names, e.g. glibc-devel.i686, libc6-dev-i386, etc), possibly in addition to the other packages I listed above (I did not uninstall those to see if glibc-devel.i386 was sufficient by itself).
I arrived at the right question to search for by examining the configure script and seeing that it tries to compile a minimal C program with "-m32" and if that fails then the configure script reports "no 32 bit support". So I created the classic HelloWorld C program and compiled it ("cc -m32 hello.c"). This complained of a missing header file "gnu/stubs-32.h". So a google search on "what package has gnu/stubs-32.h" took me to the stackoverflow page I cite above.
Try:
yum install glibc-devel.i686
if this doesn't work then check this solution: How to compile a 32-bit binary on a 64-bit linux machine with gcc/cmake

Resources