Cygwin ratfor installation - makefile

I want to install ratfor77 on Cygwin (form the Stanford Exploration Project).
I downloaded it, untar it, attribute the good permissions to the folder ratfor77 (chmod -R u+w ratfor77).
But when I want to use the command make all I receive this error:
make: *** No rule to make target '/ratfor77', needed by 'all'. ArrĂȘt.
I verified that all the files needed were in the folder.
Any idea?

The makefile does not follow the usual conventions. Run make ratfor77. Several compiler warnings are emitted but the executable ./ratfor77 is generated.

The problem I describe was resoluted by moving the raffor folfer to the root directory of Cygwin.
I had the message above:
Done making all in util/tools/ratfor77
I'm following a documentation but it do not work :p
But I didn't have the file ratfor.exe.
So I tried your code:
make rartfor77
And no it's ok.
Thank you very much Mike.

Related

Problems downloading gmp due to the makefiles

I am on a Windows computer but working with the cygwin subsystem.
I have followed some manuals on how to download gmp. I have therefor downloaded, unzipped and configured the gmp-6.2.1 file, but i come onto problems in the "make" step.
In the gmp-6.2.1 file there are two makefiles, and when i try to use "make" on them i get:
$ make -f Makefile.in
Makefile.in:15: *** missing separator. Stop.
Where line 15 in Makefile.in is
#SET_MAKE#
and
$ make -f Makefile.am
Makefile.am:126: *** missing separator. Stop.
Where line 126-130 in Makefile.am is
if WANT_CXX
GMPXX_HEADERS_OPTION = gmpxx.h
pkgconfig_DATA += gmpxx.pc
endif
Do you know if I need to change anything in the makefiles, or something else?
Thanks for the help.
Makefile.in and Makefile.am are not makefiles. It is erroneous to use make -f to try to interpret them as such. These are contributors to building a makefile for the project.
You're looking at a project with a GNU build system. The standard procedure for building such a project is to
run the ./configure script to generate one or more makefiles and perhaps other files, then
run make in the same working directory to build the project, then
run make install in that directory to install the built result to the system.
There are variations and embellishments that can be made, but that's the basic pattern. Nowhere should you need to use make's -f option.
If the instructions you're following are any good then they will have covered this at least briefly.

make install can't find aclocal

I'm trying to compile a code to run in parallel on a supercomputer. I know that others have compiled this code to run on the same computer, but for some reason I am having trouble even when using the same methodology as them. For now I'm just trying to compile the code to run in serial as that should be easier to troubleshoot.
configure seems to work correctly.
However make install returns the following:
> make install
CDPATH="${ZSH_VERSION+.}:" && cd .. && /bin/sh /home1/username123/code123/config/missing aclocal-1.13 -I ./config -I /home1/username123/code123/build-tools/aclocal -I /usr/local/share/aclocal
aclocal-1.13: error: couldn't open directory '/usr/local/share/aclocal': No such file or directory
Makefile:534: recipe for target '../aclocal.m4' failed
make: *** [../aclocal.m4] Error 1
aclocal is indeed not located at /usr/local/share/aclocal, it is located at /usr/bin/aclocal - but as /usr/bin is in my path, I don't understand why the location is an issue.
As has been made clear in comments on the question, the problem was that the project sources were copied onto the target system in a way that failed to preserve their original timestamps. The Autotools, through make, use file timestamps to determine which files are out of date, and in particular, Autools-generated Makefiles contain rules for rebuilding the build system itself that can be triggered this way.
It is not ordinarily necessary or desirable to rebuild an Autotools project's build system, except in conjunction with actually performing maintenance on it. It is often the case, in fact, that the necessary support for that is not available locally. To avoid the build system thinking that it needs to rebuild itself, it is important to preserve the file timestamps from the distribution archive. For some packages, it also works to pass the --disable-maintainer-mode argument to the configure script, but by no means do all Autotools configure scripts support that.
The archive extraction tools for the typical archive formats in which Autotools-based packages are distributed do, by default, preserve timestamps when unpacking, so the ordinary procedure of
unpack the archive on the target system (e.g. tar xzf foo-1.2.3.tar.gz)
change to the unpacked source directory (e.g. cd foo-1.2.3)
configure; make; make install
normally does the right thing. Substituting something else for (1), however, such as copying the unpacked source tree from somewhere else, may cause the package to think it needs to rebuild the build system. If that works correctly then it's no big deal, but it is not uncommon that it doesn't. That's what happened here, and following the standard procedure described above solved the problem.

Getting arm-buildroot-linux-uclibcgnueabihf-gcc: Command not found

I am trying to build Linux for my Raspberry Pi 3.
When I do make, I get the below error.
make[2]: /home/rohit/workplace/rp/buildroot/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-gcc: Command not found
A little background will help. I am following this link . To summarize this is what I ran.
make raspberrypi3_defconfig
make linux-menuconfig
make
From the error I get that the cross gcc is not available at the path as it should be. But I am not sure what I am missing.
The complete log of the make is pasted here. The output/host/usr/bin folder also doesn't contain arm-buildroot-linux-uclibcgnueabihf-gcc, though it does contain arm-buildroot-linux-uclibcgnueabi-gcc. I have pasted the contents of the folder here.
Please help.
i was having this problem and after a make clean the problem was solved. I think the error was because different toolchains used in different builds. The manual says that is one of the cases that you have to do a make clean

autoconf without install files

I have started recently to work with automake and autoconf and I am a little confused about how to distribute the code.
Usually when I get a code that works with a configure file, the only thing that I get is a confiure file and the code itself with the Makefile.am and so on. Usually I do
./configure
make
sudo make install
and thats all but when I generate my configure from a configure.ac file it toss out lots of files that I thought where just temporary but if I give the code to a partner and he makes configure, it doesn't work, it needs either remake the autoreconf or have all this files (namely instal.sh,config.sub...).
Is there something that I am missing? How can I distribute the code easily and clean?
I have searched a lot but I think I am searching for the right thing because I cannot find anything useful.
Thanks a lot in advance!
Automake provides a make dist target. This automatically creates a .tar.gz from your project. This archive is set up in such a way that the recipient can simply extract it and run the usual ./configure && make && make install invocation.
It is generally not recommended to check the files generated by Autotools into your repository. This is because they are derived objects. You wouldn't check in your .o files!
Usually, it is a good idea to provide a autogen.sh script that carries out any actions required to re-create the Autotools build infrastructure in a new version control system checkout. Often, it can be as simple as:
#!/bin/sh
autoreconf -i
Then set it chmod +x, and the instructions for compiling from a clean checkout can be ./autogen.sh && ./configure && make.

MinGW/MSYS make error 2 and error 127

So I've spent a couple hours trying to google the solution to my problem, but I can't seem to find the answer...
I'm learning to make Firefox extensions and am following the directions here:
https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions/XUL_School/Setting_Up_a_Development_Environment?redirectlocale=en-US&redirectslug=XUL%2FSchool_tutorial%2FSetting_Up_a_Development_Environment
Instead of using Cygwin, I downloaded MinGW and installed "mingw-developer-toolkit", "mingw32-base", and "msys-base". I unzip the HelloWorld2 file. I run msys.bat, navigate to src in HelloWorld2, and type make. This is my error. What's happening? How do I fix this?
Creating XPI file.
make: zip: Command not found
make: *** [../bin/xulschoolhello2.xpi] Error 127
I also tried doing the same thing through cmd.exe. I followed directions from How to use GNU Make on Windows? and
http://www.mingw.org/wiki/Getting_Started
When I enter "make" from cmd, I get the following...
"Creating XPI file."
process_begin: CreateProcess(NULL, zip ../bin/xulschoolhello2.xpi install.rdf ch
rome.manifest content/browserOverlay.js content/browserOverlay.xul skin/browserO
verlay.css locale/en-US/browserOverlay.dtd locale/en-US/browserOverlay.propertie
s, ...) failed.
make (e=2): The system cannot find the file specified.
Makefile:76: recipe for target '../bin/xulschoolhello2.xpi' failed
make: *** [../bin/xulschoolhello2.xpi] Error 2
Can someone please explain to me what I'm doing wrong, and how I should fix it? I've spent many hours researching on google but could not find the answer. I really want to learn how to make firefox extensions. Any help would be greatly appreciated.
Thank you bobbogo. After you found the problem for me and how to fix it, it took only a couple minutes to fix. I simply followed the directions below.
http://blog.fourthwoods.com/2013/01/04/managing-mingw-packages-with-mingw-get/
This is one possible solution. First checked you have zip program in your path variable. Then edit makefile for your zip program and change bin directory Exp.
# The zip application to be used.
ZIP := rar a
# The target location of the build and build files.
bin_dir := ..\bin
http://koti.mbnet.fi/jhu2/mozilla/XUL_School%20Hello%20World%202%20Mozilla%20tutorial.pdf

Resources