How come R does not have a 64bit windows pre-built binaries?
Update
Current versions of R for Windows (since R 2.11) do come with 64-bit executables.
In the past no suitable free compiler was available. Quoting from the old R-on-Windows FAQ (taken from the sources and hence with texinfo markup):
To build a 64-bit version on 64-bit Windows you will need a suitable
compiler, and experiments with the Mingw64 port of #code{binutils} and
#code{gcc} have failed to produce a working version on R. You are of
course welcome to try a commercial compiler#footnote{such as those from
Intel and PGI: there is no Fortran compiler in the Microsoft set, but
#code{f2c} could be used.}, and pre-compiled versions using such
compilers are available from R redistributors.
REvolution Computing had a Windows 64 bit version in their commercial / enterprise product before the official R gained 64-bit support.
there is now! check the cran
These folks claimed they "ported" 1,500 packages to create their 64-bit version of R. If that's true, then the level of effort required might be part of the explanation why there is no free version available.
If you're not asking for a free download, the same source seems to be offering it, although commercially.
Related
I am new to GCC, don't know much about it. I want to install it on my Windows 7 64bit PC and use it for C, C++ and Java. The latest version is GCC-4.8.0. In their mirror links, I am getting option to download gcc 4.8.0.tar.bz2 and gcc 4.8.0.tar.gz and md5.sum. Please guide me, how should i proceed, to use GCC
On Windows, easiest way to get gcc is to install MinGW.
Most recent MinGW release has support for gcc 4.8 as well - but it may be not very stable at the moment.
These files are source archive files of the latest released GCC compiler.
As a newbie, you probably want a binary distribution, e.g. mingw or cygwin on Windows. (Then you might get an earlier version of GCC. 4.8 has just been released)
Alternatively, consider switching to Linux and install it on your machine. It will teach you a big lot (and almost all of Linux is free software so you can get its source code and study it).
Using Linux and GCC also gives you a significant advantage: you could use GCC plugins, e.g. develop your own MELT extension (MELT is a domain specific language to extend GCC, implemented as a [meta-]plugin). Neither Mingw nor Cygwin support GCC plugins.
PS. compiling GCC from source code is not easy for a newbie.
this is an older question but this was harder to search for than it should have been so I will post it here, http://gcc.gnu.org/wiki/WindowsBuilding is a quick guide to getting gcc4.8 running on windows. I am about to dive in to building it on my old windows-xp box. wish me luck.
I use codeblocks . You can follow this Youtube video for instructions:). Hope it helps!
http://www.youtube.com/watch?v=nNeySMSW8qU
You should really check out Code::Blocks (http://codeblocks.org/).
It's a good IDE which is easily set up to get you started.
To support Windows 64-bit though you should not use the MinGW compiler that comes with it. Instead get a separate binary of MinGW-w64 with 64-bit support.
You can get it from http://winlibs.com where you can also find tips on how to configure both Windows 32-bit and 64-bit compilers.
Initial note: The question mentions AIX because it is the initial context but the question really pertains to gcc itself, most probably regardless of the platform.
AIX is supposed to be backwards binary compatible: a C program compiled on AIX 5.1 will run as is on 5.2, 5.3, 6.1 and 7.1.
In my understanding gcc should be built to target a specific system (whether the current one or another one in the case of cross-compiling). So, gcc built on AIX 6.1 targets AIX 6.1, and produces binaries usable on both 6.1 and 7.1 thanks to binary compatibility.
Yet gcc itself built on AIX 6.1 is a 6.1 program, so it should execute on 7.1 as is. Of course if I compile a program with it on 7.1, this program might get linked or use headers specific to 7.1, thus making the resulting binary requiring 7.1. So as far as I understand it, I should be able to run gcc built on AIX 6.1 onto a 7.1 machine, and produce maybe non-optimal yet perfectly valid binaries, although they would require 7.1 as a side effect of linking.
This looks too much like rainbows and unicorns dancing in glittery skies. I smell something fishy but lack any knowledge of gcc innards. Please mighty crowd, enlighten me.
tl;dr: Can gcc built on and targeting a version N of an OS/platform be run and used on version N+1 by virtue of platform binary compatibility to produce binaries running on version N+1? If not, what mechanism would prevent it?
Here's enlightenment: your question is way too general. In order to answer it, someone would have to have knowledge of
the operating systems you care about
the OS versions you care about
the gcc versions you care about
and then research the binary compatibility in this three dimensional matrix.
Mechanisms preventing binary compatibility are too numerous and directly correlate to your OS and compiler vendor's ingenuity at breaking it. One of the more common and documented ways being official deprecation of API calls, removal of compatibility libraries shipped, and bridges being burnt, like going from a.out to ELF.
Right. I'm currently in a class that is exploring many different programming languages. Among them are COBOL and Ada, both of which I can't seem to find a free compiler. Has anyone had better luck and if so, where might I find them? Thanks!
You want the GNAT GPL Edition.
There is much available for Ada at http://libre.adacore.com/libre/, including Eclipse plugins and IDEs. Free downloads are available for students.
The OpenCOBOL compiler is free. As far as I know there are versions for Windows, Linux and Mac OS X - http://www.opencobol.org
Edit : A possible option might be Veryant isCOBOL http://www.veryant.com. Veryant are due to release a student version (i.e. restricted) of their compiler. Veryant's isCOBOL compiler compiles to a Java run-time and as such may run on OS X.
Their faq http://www.veryant.com/products/faq.php?type=all states that "Being Java-based, the isCOBOL Compiler runs on any platform that supports a Java Development Kit (JDK) version 1.4.2 or greater. The isCOBOL Debugger and isCOBOL compiled code can run on any platform that supports a Java Runtime Environment (JRE) of 1.4.2 or later. Thus, isCOBOL APS supports a wealth of platforms including AIX, HP-UX, Linux, Solaris and Windows. The only exception to this is isCOBOL ISAM ODBC, which currently runs only on Windows."
gcc's Ada compiler, gnat, does not come with Xcode so you will need to find it elsewhere or build it from source. Free COBOL compilers are a bit harder to find.
I compiled an 64bit binary of ioquake3 and an SDL binary to go along with it and I noticed on Windows 7 64bit, operation, while relatively stable, it doesn't have top notch performance.
An equivalent binary on 64bit Debian, runs definitely faster, and perfectly stable.
And I'm thinking: with all the major manufacturers still dispatching 32bit binaries predominately - major exception I can think of is Autodesk's Autocad - is Windows still immature on its 64bit libraries?
I would answer no. 64-bit support in the operating system has been around since Windows XP was released in 64-bit edition, although pre-vista drivers and 3rd-party software were very much experimental. Windows is a fully capable 64-bit operating system.
However, you have to remember that Microsoft's success is built on the fact Windows runs pretty well on any x86 based processor with any other combination of hardware, thanks to HAL. When 64-bit XP first came out drivers were scare in their 64-bit form until traction was gained. As you've observed, most manufacturers still develop 32-bit applications only for Windows; Visual Studio and Microsoft Office proof that it is not only 3rd-party vendors. Why? Ease. Take a walk around any pc-shop and you'll hear all sorts of praise about 64-bit cpus in todays modern laptops but what you'll actually find is that their OSes are shipped 32-bit. It's a standard and it works on 32-bit.
Linux, by contrast, has always been a programmer's platform. Most distributions support at least i386 and "x86-64"; some support ppc architectures. The kernel can be built upon just about every chipset known to man. Why? Linux isn't constrained by needing commercial product stability to survive and is often a researcher's platform. Not only that, but even if the core devs had no interest in porting it, you could. Much of the rest of the gnu system is written for portability so it's trivial to compile elsewhere. And not writing your code in a portable manner isn't considered good etiquette.
Take a look at Flash support in linux - 64-bit alpha. Even Mozilla provide 32-bit only builds although they allow distributors to build official 64-bit versions. Skype is 32-bit only.
Basically, many software developers don't need to support 64-bit yet, or don't see it that way at least. As such, I'd say both operating systems are mature - the eco system around them is what is different.
While Windows is slowly making strides towards 64-bitness, one could easily say that Linux has a massive, perhaps even crushing, advantage due to the wide variety of platforms that it has been made to work on. Issues that Windows developers are only coming across now have been long solved under Linux (although of course there are Linux developers who choose to ignore these solutions; their code tends to be brittle, and sometimes non-portable).
Define "relatively stable"?
All Windows API calls end up in the to the same 64 bit functions if you are running a x64 bit Windows, so there is no stability difference at all.
You should profile. Most certainly something inside the user space application is causing the performance degregation, not the kernel.
Are you sure that you are running the same optimization level when compiling the 64 bit binary? And what compiler did you use?
Well, okay. There's Visual Studio 2008 and Embarcadero Delphi/Studio that are both able to create 64-bits .NET applications for Vista. And of course a lot of 32-bits applications will run on 64-bits Vista. If not, it's always possible to install VMWare to create a virtual 32-bits Windows XP system to run 32-bits applications. So, plenty of options.
But what I would like to see is a list of true 64-bits applications for Windows Vista and better. So if you know any useful 64-bits product, please share! (Especially compilers that generate native 64-bits code.)
Tools would basically be anything that would make development a bit easier. Thus, debugging tools, image processing tools to create icons and bitmaps, hex editors to check the contents of binary files, XML editors to change XML files, etc. The tools from SysInternals, for example, seem to provide 64-bits versions or even support 64-bits systems natively. But how about all those other editors, viewers, browsers and other tools that we developers like to use? A 64-bits version of the Norton Commander/Midnight Commander or other file managers would be nice too.
And with compilers, how about COBOL/ForTran/ADA/SmallTalk/Lisp/Whatever compiler/languages for Vista? I would just like to see a complete list of anything useful for 64-bits development.
Both Visual C++ 9 (2008) and gcc know to create 64 bit native code.
arguably not a lang, but mySQL is available as Win64
Here are some examples of open source tools that have been ported to Win64:
Languages/Compilers/VMs:
LUA
LuaJIT (beta)
Python
Factor
OCAML (generates native 64bits code)
MinGW 64 (GCC)
Clozure Common Lisp (thru MinGW 64)
Sun Hotspot JVM (JAVA)
Other Useful tools:
Notepad 2
Firefox/XulRunner/SpiderMonkey
Notes:
With the advance of MinGW 64, we can hope that more and more projects will support Win64 soon (I vote for GTK/Gimp, Squeak VM, Erlang HIPE and CLISP).
Soon, there should be the javascript V8 engine from Google.
There is no port of any one of Norton/Midnight/Total Commander to 64 bits.
What about the following:
Minefield (Firefox) - this is a beta version of Firefox
SQL Server 2005
TortoiseSvn - works well, and you can still use it if other team-members
are running the 32-bit version
SmartFTP
Paint.NET
I hope you'll take a look at Hamilton C shell 2009 (link is in my profile), which recreates the UNIX C shell and all the usual suspects including grep, fgrep, ls, mv, cp, rm, head, tail, more, diff, strings, tar, etc., all completely from scratch on Windows. I just released a new version (complete with a brand-new 64-bit build) for Vista this summer which just got a great review. There's a free demo version if you'd like to try before buying. And, yes, I am a real person and I really will answer any questions you might have.
You could try PowerPad. It's a great text-editor that has a 64-bit version.