I would like to use Dev-CPP to compile and install a copy of Octave. I am
uncertain how to proceed. Octave source code is located at c:\Octave on my c
drive. If someone would kindly post a step-by-step "tutorial" on this process
I would be most grateful.
Thanks,
Mark Allyn
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I doubt that you could compile Octave using Dev-CPP. There are a number of
reasons why.
1) When you build something like Octave from it's source code the authors
supply scripts that do most of the work for you. These are always done through
the use a Unix shell in which you issues commands to the compiler and you
can't do this using the Windows Command Prompt. For the Windows environment
there are two common ways this can be done. The first is to install Cygwin
which gives you a full blown Unix environment on your Windows computer. The
second way is to use MSYS. MSYS uses the gcc compiler that you already have
installed in Dev-CPP. Trying to convert all of this to compile on Dev-CPP
would be "difficult" to put it mildly.
2) In the Octave folder, along with the source code files you will find two
documents called 'INSTALL' and 'INSTALL.OCTAVE'. These explain how to compile
Octave from the source code. They explain that not only do you need the gcc
compiler but you need a fairly recent version. The version in Dev-CPP is very
old and is not capable of compiling Octave. In addition you need to have the
GNU FORTRAN 77 compiler installed too. And depending on what you want to do
you may also need a copy of GNU flex and bison installed.
3) If, after looking at this documents, it doesn't make any sense to you then
you would be better off trying to find a precompiled version on the internet.
See Ya
Butch
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is probably not a question for the Dev-C++ forum. Dev-C++ is appropriate
for building projects originally developed under Dev-C++; for projects built
using other tools, thise tools would be the most appropriate.
I wonder why you would not just use the existing Windows binary distribution
of Octave. If you really need to build form source, your question is best
asked of the project itself. The Windows distribution of Octave is maintained
at http://octave.sourceforge.net/ and is
built using MinGW/GCC; Dev-C++ also use MinGW but may not be the latest
version, and it only includes the core compiler toolchain, and probably does
not include all the utilities and packages you may need. Most likely Octave is
built using a traditional Linux configure/make/install process for which
you'll need a shell capable of executing these scripts, the complete MinGW
package includes a shell called MSYS that can do this. Get the latest MinGW
packages from http://www.mingw.org
Other similar (Matlab-like) applications that may be of interest are http://www.scilab.org/ and http://freemat.sourceforge.net/. FreeMat is
open source and includes instructions for building for Windows using VC++ 2008
Express Edition and CMake (both free), and frankly better than Dev-C++ or
MinGW. SciLab is open source too, but I have found fewer details on how that
is built without downloading the source. Both FreeMat and SciLab are visually
more compelling that Octave; in the end it is probably down to which app has
the add-on tools and libraries you need.
Clifford
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It does make sense. I had already pretty much concluded that the only way "in"
was via unix/unix-like shell such as Cygwin/Xterm or MSYS. There was, however,
some place on the DEV-CPP support files a comment to the effect that it could
be done, but was difficult. So, I made the posting. Thanks for the
confirmation, however. You didn't waste your time.
It's interesting to note though that GSL has been "packaged" for DEV-CPP but
Octave hasn't. As you know, there are many similarities between the two and
one might have thought that if the former had been "packaged", so might the
latter.
Thanks,
Mark
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Didn't see your response earlier when I replied to Butch. As you know, it is
often difficult to determine whom to contact when seeking advice on these
matters. Yes, you can certainly build Octave source from MSYS (or Cygwin).
But, I had hoped (without a lot of hope) that I would be able to compile
OCTAVE using Dev-CPP as a matter of convenience. When I looked at the Dev IDE
it was pretty clearly gonna be extremely unlikely, but as I mentioned to
Butch, there was a statement made somewhere in the Dev-CPP world that it was
possible, albeit with difficulty. So, I made the post...
But, thanks for confirming the matter. I can move on.
Regards,
Mark
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Packages are provided by voluntary contributors, so what is available is
dependent on who contributes; fee free to contribute your package!
Also GSL is a library, whereas Octave is primarily an application. Dev-C++
packages for libraries are available for obvious reasons.
Once you have built Octave using MSYS, you can use the resulting object files
and libraries with Dev-C++. Also can also probably use the generated makefile
with Dev-C++ as a custom makefile (although any utilities/dependencies
referenced by the makefile also need to be available). If you want to use a
Dev-C++ managed project, the amount of effort will depend on the complexity of
the build. I doubt that it is worth the effort.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for the explanation on Octave/GSL. It was actually very, very helpful.
I had been frustrated by an inability to use the GSL libraries downloaded from
Cygwin when compiling a DEV-CPP app that tried to use them. After a lengthy
dialogue with the MSYS folks I learned how to use MSYS to compile the GSL. As
a matter of fact, MinGW can't run the Cygwin downloads either. It runs, but it
hangs and won't come back to the prompt. After compiling GSL with MSYS I have
actually been using the GSL library for a week or so running it successfully
off the MSYS shell. Works fine.
Your info that I can use GSL libraries in a Dev-CPP app if they have been
compiled by MSYS was a pleasure to hear. As you can imagine, I will try to
write a little Dev app that calls the GSL tomorrow morning. Let's test it!! I
know there is little or nothing to be gained by running an app compiled by
Dev-CPP as opposed to MinGW, but I find this sort of thing interesting. My
wife doesn't.
Mark
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just reread your note and my response re GSL/Dev-CPP. I note now that you make
no claim that GSL will behave like Octave as far as compilations from MSYS go.
I jumped perhaps too hastily to that conclusion. Let us proceed to C whether
or no my leap of faith is justified.
Mark
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I know there is little or nothing to be gained by running an app compiled by
Dev-CPP as opposed to MinGW
Be aware that if you build the code in Dev-C++ it is compiled by MinGW.
Dev-C++ is merely an IDE not a compiler. That is why libraries built with
MinGW within MSYS will work with Dev-C++ - it is the same compiler. However,
you would do well to reconfigure Dev-C++ to use the full MinGW installed
toolchain rather than the subset that is installed with Dev-C++; just to make
sure that you are using the same compiler version throughout.
MSYS is merely a shell that provides a subset of bash functionality to allow
(some) builds set up for Linux to work on Windows. Whether it works will
depend on the complexity of the build and whether all the dependencies and
utilities used are available under MinGW. In the past I have found additional
utility ports from GNUWin32 and UnxUtils to be useful for tools that MinGW
omits.
Cygwin built libraries will not generally work with MinGW because Cygwin works
by emulating a Linux environment to allow the use of the GNU libc library.
MinGW avoids this by using Microsoft's C runtime library from VC++ 6 and
installed as part of Windows. This means that code that uses Linux/Posix
specific calls may not build with MinGW. Particularly the Linux process model
that allows things such as fork() is not supported.
I would not recommend using Cygwin unless absolutely necessary; deploying
Cygwin applications without the Cygwin environment is problematic and likely
to cause other Cygwin dependent apps on the same PC to stop working in hard to
fix ways. MinGW apps will run stand-alone as native Windows apps.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It took me way too long to understand what precisely DEV-CPP was and is. Now I
know, and thanks for helping me come to appreciate what it does. And doesn't.
As for cygwin, you are dead right about its peculiarities. I found this out
two days ago first hand when I attempted to compile GNU Plotlutils on
MinGW/MSYS. Wouldn't compile because MSYS runs into license violations if it
tries to use glibc, but Cygwin doesn't have this problem. This is a strength
of Cygwin. But, also a limitation.
MSYS is powerful enough to get the job done. I am a newcomer (what a
simplification!!) to the GNU build process, but MSYS has a developer tool kit
that is extremely effective, and even a do-do like me figured out over a day's
worth of investment how to make the autoconfig-automake cycle do its thing.
So, kudos to the MingW crowd.
Now, for my last comment. I tried again to use Dev-Cpp to do a simple GNU
Scientific Library calc using MinGW/MSYS compiled GSL library. No dice!!
Choked. Something it didn't like about libgsl. Makes me crazy. I'll have to go
back and make sure I did the right lib code, but I think I did.
Thanks for your patience and the clarity of your explanation.
Mark
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello everyone,
I would like to use Dev-CPP to compile and install a copy of Octave. I am
uncertain how to proceed. Octave source code is located at c:\Octave on my c
drive. If someone would kindly post a step-by-step "tutorial" on this process
I would be most grateful.
Thanks,
Mark Allyn
Hi Everyone:
I doubt that you could compile Octave using Dev-CPP. There are a number of
reasons why.
1) When you build something like Octave from it's source code the authors
supply scripts that do most of the work for you. These are always done through
the use a Unix shell in which you issues commands to the compiler and you
can't do this using the Windows Command Prompt. For the Windows environment
there are two common ways this can be done. The first is to install Cygwin
which gives you a full blown Unix environment on your Windows computer. The
second way is to use MSYS. MSYS uses the gcc compiler that you already have
installed in Dev-CPP. Trying to convert all of this to compile on Dev-CPP
would be "difficult" to put it mildly.
2) In the Octave folder, along with the source code files you will find two
documents called 'INSTALL' and 'INSTALL.OCTAVE'. These explain how to compile
Octave from the source code. They explain that not only do you need the gcc
compiler but you need a fairly recent version. The version in Dev-CPP is very
old and is not capable of compiling Octave. In addition you need to have the
GNU FORTRAN 77 compiler installed too. And depending on what you want to do
you may also need a copy of GNU flex and bison installed.
3) If, after looking at this documents, it doesn't make any sense to you then
you would be better off trying to find a precompiled version on the internet.
See Ya
Butch
This is probably not a question for the Dev-C++ forum. Dev-C++ is appropriate
for building projects originally developed under Dev-C++; for projects built
using other tools, thise tools would be the most appropriate.
I wonder why you would not just use the existing Windows binary distribution
of Octave. If you really need to build form source, your question is best
asked of the project itself. The Windows distribution of Octave is maintained
at http://octave.sourceforge.net/ and is
built using MinGW/GCC; Dev-C++ also use MinGW but may not be the latest
version, and it only includes the core compiler toolchain, and probably does
not include all the utilities and packages you may need. Most likely Octave is
built using a traditional Linux configure/make/install process for which
you'll need a shell capable of executing these scripts, the complete MinGW
package includes a shell called MSYS that can do this. Get the latest MinGW
packages from http://www.mingw.org
Other similar (Matlab-like) applications that may be of interest are
http://www.scilab.org/ and
http://freemat.sourceforge.net/. FreeMat is
open source and includes instructions for building for Windows using VC++ 2008
Express Edition and CMake (both free), and frankly better than Dev-C++ or
MinGW. SciLab is open source too, but I have found fewer details on how that
is built without downloading the source. Both FreeMat and SciLab are visually
more compelling that Octave; in the end it is probably down to which app has
the add-on tools and libraries you need.
Clifford
Hiya Butch,
It does make sense. I had already pretty much concluded that the only way "in"
was via unix/unix-like shell such as Cygwin/Xterm or MSYS. There was, however,
some place on the DEV-CPP support files a comment to the effect that it could
be done, but was difficult. So, I made the posting. Thanks for the
confirmation, however. You didn't waste your time.
It's interesting to note though that GSL has been "packaged" for DEV-CPP but
Octave hasn't. As you know, there are many similarities between the two and
one might have thought that if the former had been "packaged", so might the
latter.
Thanks,
Mark
Hello Clifford,
Didn't see your response earlier when I replied to Butch. As you know, it is
often difficult to determine whom to contact when seeking advice on these
matters. Yes, you can certainly build Octave source from MSYS (or Cygwin).
But, I had hoped (without a lot of hope) that I would be able to compile
OCTAVE using Dev-CPP as a matter of convenience. When I looked at the Dev IDE
it was pretty clearly gonna be extremely unlikely, but as I mentioned to
Butch, there was a statement made somewhere in the Dev-CPP world that it was
possible, albeit with difficulty. So, I made the post...
But, thanks for confirming the matter. I can move on.
Regards,
Mark
Packages are provided by voluntary contributors, so what is available is
dependent on who contributes; fee free to contribute your package!
Also GSL is a library, whereas Octave is primarily an application. Dev-C++
packages for libraries are available for obvious reasons.
Once you have built Octave using MSYS, you can use the resulting object files
and libraries with Dev-C++. Also can also probably use the generated makefile
with Dev-C++ as a custom makefile (although any utilities/dependencies
referenced by the makefile also need to be available). If you want to use a
Dev-C++ managed project, the amount of effort will depend on the complexity of
the build. I doubt that it is worth the effort.
Hi Clifford,
Thanks for the explanation on Octave/GSL. It was actually very, very helpful.
I had been frustrated by an inability to use the GSL libraries downloaded from
Cygwin when compiling a DEV-CPP app that tried to use them. After a lengthy
dialogue with the MSYS folks I learned how to use MSYS to compile the GSL. As
a matter of fact, MinGW can't run the Cygwin downloads either. It runs, but it
hangs and won't come back to the prompt. After compiling GSL with MSYS I have
actually been using the GSL library for a week or so running it successfully
off the MSYS shell. Works fine.
Your info that I can use GSL libraries in a Dev-CPP app if they have been
compiled by MSYS was a pleasure to hear. As you can imagine, I will try to
write a little Dev app that calls the GSL tomorrow morning. Let's test it!! I
know there is little or nothing to be gained by running an app compiled by
Dev-CPP as opposed to MinGW, but I find this sort of thing interesting. My
wife doesn't.
Mark
Hi again Clifford,
Just reread your note and my response re GSL/Dev-CPP. I note now that you make
no claim that GSL will behave like Octave as far as compilations from MSYS go.
I jumped perhaps too hastily to that conclusion. Let us proceed to C whether
or no my leap of faith is justified.
Mark
Be aware that if you build the code in Dev-C++ it is compiled by MinGW.
Dev-C++ is merely an IDE not a compiler. That is why libraries built with
MinGW within MSYS will work with Dev-C++ - it is the same compiler. However,
you would do well to reconfigure Dev-C++ to use the full MinGW installed
toolchain rather than the subset that is installed with Dev-C++; just to make
sure that you are using the same compiler version throughout.
MSYS is merely a shell that provides a subset of bash functionality to allow
(some) builds set up for Linux to work on Windows. Whether it works will
depend on the complexity of the build and whether all the dependencies and
utilities used are available under MinGW. In the past I have found additional
utility ports from GNUWin32 and
UnxUtils to be useful for tools that MinGW
omits.
Cygwin built libraries will not generally work with MinGW because Cygwin works
by emulating a Linux environment to allow the use of the GNU libc library.
MinGW avoids this by using Microsoft's C runtime library from VC++ 6 and
installed as part of Windows. This means that code that uses Linux/Posix
specific calls may not build with MinGW. Particularly the Linux process model
that allows things such as fork() is not supported.
I would not recommend using Cygwin unless absolutely necessary; deploying
Cygwin applications without the Cygwin environment is problematic and likely
to cause other Cygwin dependent apps on the same PC to stop working in hard to
fix ways. MinGW apps will run stand-alone as native Windows apps.
Hi again, Clifford.
It took me way too long to understand what precisely DEV-CPP was and is. Now I
know, and thanks for helping me come to appreciate what it does. And doesn't.
As for cygwin, you are dead right about its peculiarities. I found this out
two days ago first hand when I attempted to compile GNU Plotlutils on
MinGW/MSYS. Wouldn't compile because MSYS runs into license violations if it
tries to use glibc, but Cygwin doesn't have this problem. This is a strength
of Cygwin. But, also a limitation.
MSYS is powerful enough to get the job done. I am a newcomer (what a
simplification!!) to the GNU build process, but MSYS has a developer tool kit
that is extremely effective, and even a do-do like me figured out over a day's
worth of investment how to make the autoconfig-automake cycle do its thing.
So, kudos to the MingW crowd.
Now, for my last comment. I tried again to use Dev-Cpp to do a simple GNU
Scientific Library calc using MinGW/MSYS compiled GSL library. No dice!!
Choked. Something it didn't like about libgsl. Makes me crazy. I'll have to go
back and make sure I did the right lib code, but I think I did.
Thanks for your patience and the clarity of your explanation.
Mark