How do I setup cygwin 1.7 on a Windows 2000 machine - cygwin

I have a box running Win2k to support a few legacy applications that can't be migrated forward at this point that I'd like to manage for most part with Cygwin.
However, the current Cygwin installer requires Windows XP 3. The installer referenced by the good folks at at Cygwin Time Machine runs just fine, but when I attempt to configure any suggested circa release area and proceed, the installer errors out attempting to download setup-2.bz2.sig and setup-2.ini.sig.
The circa release area I'm attempting to use is here.
Directory listing is not enabled, so really can't tell you anything more than the fact that setup-2.ini and setup-2.bz2 are there, but their signatures are not. Seems to be the case for a random sample of other releases listed here.

Cygwin Time Machine was enormously helpful in resolving this issue. Essentially, my woes were caused by
attempting to draw in packages from the Cygwin's 1.7 "development" branch (the setup-2.* errors).
using a setup installer too fresh for my purposes.
Digging around the Internet Archive, I found the last installation page update in which Windows 2000 (1 June 2013) still supported and downloaded the cached installer (link to setup.exe).
Cygwin Time Machine suggested these alternatives:
ftp://www.fruitbat.org/pub/cygwin/setup/snapshots/setup-2.602.exe
ftp://www.fruitbat.org/pub/cygwin/setup/snapshots/setup-2.573.2.3.exe
ftp://www.fruitbat.org/pub/cygwin/setup/snapshots/setup-2.523.exe
However, the 1 Jun 2013 installer (link) is considerably newer, can make use of a fresher repository (I'm able to install python 2.7.3 rather than 2.5.2), and has the nice filter feature we're used to in more modern installers.
Finally, Fruitbats does not archive the signatures for the setup package lists. You run at your own risk.
To ignore signatures, run the setup installer with an -X flag, i.e.:
c:\...> setup.exe -X
That about wraps it up. I have a mid-2013 Cygwin 1.7 installed on Win2k Advanced Server SP4.

Related

CYGWIN WARNING: Couldn't comute FAST__CWD

Hi we are currently using Quickbuild for our Automation Jobs,apparently as we tried to deploy some changes we are unable to proceed due to this:
Does anyone know how to fix this? I have tried updating our git version to the latest, and I have also tried to install a cygwin latest version, none of this has solved our problem.
https://www.cygwin.com/faq.html#faq.using.fixing-find_fast_cwd-warnings
4.45.
How do I fix find_fast_cwd warnings?
Older Cygwin releases asked users to report problems to the mailing list with the message:
find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer. Please report
this problem to the public mailing list cygwin#cygwin.com
Recent Cygwin releases changed this to the message:
This typically occurs if you're using an older Cygwin version on a newer Windows.
Please update to the latest available Cygwin version from https://cygwin.com/.
If the problem persists, please see https://cygwin.com/problems.html.
This is not serious, just a warning that Cygwin may not always be able to exactly emulate all aspects of Unix current directory handling under your Windows release.
Unfortunately some projects and products still distribute older Cygwin releases which may not fully support newer Windows releases, instead of installing the current release from the Cygwin project. They also may not provide any obvious way to keep the Cygwin packages their application uses up to date with fixes for security issues and upgrades.
The solution is simply downloading and running the Cygwin Setup program, following the instructions in the Internet Setup section of ``Setting Up Cygwin'' in the Cygwin User's Guide.
Please exit from all applications before running the Cygwin Setup program. When running Setup, you should not change most of the values presented, just select the Next button in most cases, as you already have a Cygwin release installed, and only want to upgrade your current installation. You should make your own selection if the internet connection to your system requires a proxy; and you must always pick an up to date Cygwin download (mirror) site, preferably the site nearest to your system for faster downloads, as shown, with more details to help you choose, on the Mirror Sites web page.
The Cygwin Setup program will download and apply upgrades to all packages required for Cygwin itself and installed applications. Any problems with applying updates, or the application after updates, should be reported to the project or product supplier for remedial action.
As Cygwin is a volunteer project, unable to provide support for older releases installed by projects or products, it would be helpful to let other users know what project or product you installed, in a quick email.

bitrock installer - getting started for Linux

I have read the first few sections of "http://installbuilder.bitrock.com/docs/installbuilder-userguide/index.html" may be 3 to 4 times, but it is quite unclear to me.
I have a project/product that needs to be installed/unistalled/upgraded on user machines, so I guess I can make use of BitRock installer to accomplish the same. Having said that, below are my details:
Target system: Linux (can be 32 bit or 64 bit)
Project Developed using : Qt and C++ etc
For simplicity, if I call the name of the project directory as "Hello world" and my .pro file as "Hello world.pro" and my executable as "Hello world", how can I generate a package depending on the target system (debian or rpm based). As I said, I read the user guide but totally confused about how to integrate BitRock with my development system to generate installer, uninstaller or upgrade binaries.
All I did was download the bitrock installer for QT based Linux, changed the permission of the binary, executed it and chose the default options. Please help me with a simple example.
Btw, the most basic question is that, for me a double click on the installer "installbuilder-qt-8.6.0-linux-installer.run" does not work. No GUI comes up. I prefer to create my installer using the GUI, rather than manually writing XML files
Thanks
This may not be the answer to your question, but the what you are trying is not the standard way of deployment on Linux, instead of using .run file (hardly used) it is better to create debian and rpm packages which can be installed with a single click.
Since you are using Qt you can also try Qt installer framework, which helps you create cross-platform Window Style installers.
http://qt-project.org/wiki/Qt-Installer-Framework

Building on Windows XP, when development is on VS2012?

We're planning moving from Visual Studio 2005 to Visual Studio 2012 (Visual-C++-11).
(We would very much like to skip 2010 if we can help it, since the newer version is already there and offers a better C++ experience.)
But we've hit a little roadblock:
Our build servers still run Windows 2003r2 (all inside dedicated virtual machines), and due to messy tool support/issues, we're in no position to upgrade the build servers to a newer OS.
Developers mostly have switched to Windows7 by now, so moving the remaining Windows XP developer boxes shouldn't pose a problem.
Since VS2012 only runs on Win7 we are wondering whether we can leverage it's tools (C++ compiler, C#) and still do a full equivalent build on the W2k3 build server - after all, we don't really need a VS GUI there, just build C++ and C# projects from VS2012.
What are our options?
Will the SDK (7.1? 8?) compilers + msbuild command line get me anywhere?
In Project Property Pages, there an option "Platform Toolset" that allow you to choose compatibility of your project. So, you can work in VS2012, but built it with "VS2008 compiler"
Here is what we do:
Use CMake
CMake allows you to create build systems for your operating system. Thus we are able to use the same code within VS2005, VS2010 and Eclipse, XCode etc.
You could do something similar: Install VS2005 on your old machines and let CMake create the projects for you from the sources. On your newer machines you can use CMake to generate VS2012 Solutions (I don't know if they have 2012 support yet, because we don't use 2012 yet too).
A big pro here is: If you plan to migrate to any other IDE or even Linux you just can re-run CMake and get your source code within these environment easily compilable.
A big con: You have to start reading about CMake and create CMakeLists.txt for all your projects (might be a lot of work depending on the amount of projects, amount of source code files within each project, specific compiler options, linker options etc.)
Our build servers still run Windows 2003r2 (all inside dedicated
virtual machines), and due to messy tool support/issues, we're in no
position to upgrade the build servers to a newer OS.
Well. Not much came out of this question. We recently re-evaluated this issue, and I see two options (I haven't tried any yet):
Just do a full VS installation on a supported OS (Win7), zip up the whole VS+WinSDK directories (as well as the neccesary runtme DLLs that live somewhere under %WINDR%), and try if you can get that thing working on an XP based OS. Might work. Not a great idea if you ask me.
Split up the build process to distribute the build across several OS, so that we can work with tools that are only supported on one of them. -- This actually sounds more complicated than it'll be. We already run our build spread over several Jenkins jobs, so I should be able to get that to work. (And all build nodes are already VMs anyway, so adding more VMs isn't that much of an issue.)

Why my app crashes on Win XP unless i install VS2005 runtime?

I'm trying to investigate why would my app, written in VC 2008, crash on bare Windows XP with c0000005. It works great on any windows vista and 7. On XP it would crash with no additional info. Below are the details and the result of a few days worth of my headaches, eliminating one reason after another. Here's the details:
I have Win7 ultimate with XP Mode with iexplore 6 and presumably no patches whatsoever.
I install my program and nothing else, since it is supposed to be install-and-run thing with no additional packages needed.
My app has compiled-in VC2008 runtime (using /MT, as opposed to /MD compiler switch)
I'm using firebird embedded, which needs VC2005 (edited, i wrote VC2008 before) libs for itself anyway, so i put them in my app's working dir
when i install VC++ 2008 on this XP Mode machine, it doesn't crash anymore, so debugging this way is impossible
I've narrowed this error's occurence down to the VC2005 runtime - right after i install it my app stops crashing. But i don't know what could be using it's components. When running the release version under VC2008 IDE, nothing shows any vc2005 libs being loaded (weird, if i say so myself).
My app's linker's dependencies lists these (i added only the first two, the rest was there courtesy of VisualStudio): jpeg.lib, gdiplus.lib, kernel32.lib, user32.lib, gdi32.lib, winspool.lib, comdlg32.lib, advapi32.lib, shell32.lib, ole32.lib, oleaut32.lib, uuid.lib, odbc32.lib, odbccp32.lib, comctl32.lib, %(AdditionalDependencies)
I am also using IBPP firebird interface, which loads these dynamically, so they are present in my app's dir (they need msvc?80.dlls):
fbembed.dll, ib_util.dll, icudt30.dll, icuin30.dll, icuuc30.dll, msvcp80.dll, msvcr80.dll
Please advise why would vc2005 runtime be a remedy for my app to not crash on a bare Win XP. Or how could i debug that one without installing vc 2008 on target machine. I'm starting to blame windows xp's components. Ultimately i want my app to not require any additional packages, such as VC2008 or 2005, especially when no component of my app requires the latter.
I am also using IBPP firebird interface ... msvcp80.dll, msvcr80.dll
The answer is in your question, these DLLs are VS2005 runtime support DLLs. They cannot be stored in your exe directory, they must be registered in the side-by-side cache. This does not typically cause an AV, but it isn't impossible if the code doesn't check the return value of LoadLibrary(). You can download an installer for them from Microsoft. It doesn't otherwise have anything to do with Windows XP, you just happened to try to run this program on machines that already had the DLLs installed. Very common on a dev machine for example.
If you don't want a dependency on them then you'll have to rebuild those DLLs that require it. Which is a good idea, having a dependency on more than one version of the CRT is pretty unhealthy.
If you are wondering why you are having to deal with this: it was Microsoft's attempt to put DLL Hell in the developer's lap instead of the user's. They've since withdrawn this, VS2010 again makes it a user problem. That was a pretty big party in Bangalore, I'd imagine.

.exe generated in cygwin 1.7 is not running on cygwin 1.52

A year back i have developed a small script in perl for a customer and developed its .exe using pp .
we delivered .exe file along with basic cygwin(1.52) install files to run that .exe to customer.
Now we got an enhancement in the script .we lost all dev environment for cygwin .Again we installed fresh cygwin with 1.7 version ,coded and generated .exe file.this file is not running in the customer environment who have cygwin 1.52.Just it will be balnk after executing the .exe
we cannot ask customer to upgarde the test environment.
what is other way to make it run .exe with cygwin dll 1.7 on cygwin 1.52.
Any help would be higly appreciated.
Rgds,
sowm
The developers of Cygwin are strict about upward compatibility, but they don't try to provide backward compatibility between major releases, like between 1.5 and 1.7. This means you can build a program on 1.7 that runs on 1.5 only as long as you avoid calling functions that were added to the Cygwin DLL in 1.7.
Most likely the reason your code calls 1.7-only functions is that it is using libraries that auto-discover platform features. There could be other reasons, but without any details about what exactly is failing, it's difficult to guess.
If the problem is due to third-party libraries, as I'm guessing, it may be practical to spend time to figure out how to make them revert to the common functionality provided by both 1.5 and 1.7. For instance, with an autoconf-based system, you can hand-edit the config.h file the configure script produces to turn off use of some discovered features. This in turn means building all those libraries from source yourself, rather than downloading binary versions from the Cygwin project repository and using them directly.
It may be easier to pull a Cygwin 1.5 environment out of the Cygwin Time Machine.
By the way, you are aware that distributing Cygwin and executables built with it requires that those executables comply with the GPL, or that you buy a Cygwin commercial distribution license, right? If not see the FAQ.
Install 1.5 with http://cygwin.com/setup-legacy.exe

Resources