Mik
asked on
Gnu Make 3.75
I am trying to create 'make' from Gnu Make and having a problem doing it. This is my first attempt and I am uncertain what to do or where to look.
My current 'make' gives loads of errors. So I used 'configure' and 'build.sh' to try and get a new 'make' but no luck. 'configure' seems to work O.K and 'sh build.sh' goes OK compiling everything till:
gcc: ./glob/libglob.a: No such file etc.
gcc: No input files
Additional info:
Machine : Sun Ultra
OS : Solaris 2.5.1
gcc : version 2.5.8
Gnu make : version 3.75
Any idea what I should do?
My current 'make' gives loads of errors. So I used 'configure' and 'build.sh' to try and get a new 'make' but no luck. 'configure' seems to work O.K and 'sh build.sh' goes OK compiling everything till:
gcc: ./glob/libglob.a: No such file etc.
gcc: No input files
Additional info:
Machine : Sun Ultra
OS : Solaris 2.5.1
gcc : version 2.5.8
Gnu make : version 3.75
Any idea what I should do?
What system are you running on? Which Compiler Version are you using?
ASKER
Edited text of question
ASKER
Adjusted points to 105
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks glewis:
1.Tried make glob.a - I get
make: *** No rule to make target `glob.a'. Stop.
2. When I try ./configure - that seems to work OK but if I then
'make' I get
make
gcc (various successful bits)
cd glob; make libglob.a
make[1]: Entering directory `make-3.75/glob'
gcc (again various successful bits)
ar rv libglob.a glob.o fnmatch.o
make[1]: ar: Command not found
make[1]: *** [libglob.a] Error 127
make[1]: Leaving directory `make-3.75/glob'
make: *** [glob/libglob.a] Error 2
%
1.Tried make glob.a - I get
make: *** No rule to make target `glob.a'. Stop.
2. When I try ./configure - that seems to work OK but if I then
'make' I get
make
gcc (various successful bits)
cd glob; make libglob.a
make[1]: Entering directory `make-3.75/glob'
gcc (again various successful bits)
ar rv libglob.a glob.o fnmatch.o
make[1]: ar: Command not found
make[1]: *** [libglob.a] Error 127
make[1]: Leaving directory `make-3.75/glob'
make: *** [glob/libglob.a] Error 2
%
Whups! I meant to say "make libglob.a"... but that's a moot point now... you have another problem I see!
Your system can't find "ar"!!! That is a real problem.
Look around in the standard places for ar (which is the archiver that creates libraries for you...):
ls -l /usr/bin/ar /bin/ar /usr/local/bin/ar /usr/ucb/ar
Hopefully one of these will turn up... if not, contact "root" on your system and tell them that they need to install "ar" for you!
Now, once you locate it (probably in /usr/bin/ar), then you simply need to make sure your path is set properly. You should be able to look at it with "echo $path", depending on which shell you are using. Check to see if /usr/bin is not already in your path. If it is there, make sure that /usr/bin/ar has execute permission, like -rwxr-xr-x (or 755 in chmod parlance). Finally, if /usr/bin is not in your path, add it yourself (probably in your startup file, like .cshrc if you are using /bin/csh or /bin/tcsh for your shell)... So do this:
set path=(/usr/bin $path)
rehash
which ar
At that last command, it should find "ar" for you. Now, go back to the top-level directory for building Gnu Make, and type "make" again... it should descend into the "glob" directory and re-attempt that "ar" command, and should succeed this time!
Good luck!
Your system can't find "ar"!!! That is a real problem.
Look around in the standard places for ar (which is the archiver that creates libraries for you...):
ls -l /usr/bin/ar /bin/ar /usr/local/bin/ar /usr/ucb/ar
Hopefully one of these will turn up... if not, contact "root" on your system and tell them that they need to install "ar" for you!
Now, once you locate it (probably in /usr/bin/ar), then you simply need to make sure your path is set properly. You should be able to look at it with "echo $path", depending on which shell you are using. Check to see if /usr/bin is not already in your path. If it is there, make sure that /usr/bin/ar has execute permission, like -rwxr-xr-x (or 755 in chmod parlance). Finally, if /usr/bin is not in your path, add it yourself (probably in your startup file, like .cshrc if you are using /bin/csh or /bin/tcsh for your shell)... So do this:
set path=(/usr/bin $path)
rehash
which ar
At that last command, it should find "ar" for you. Now, go back to the top-level directory for building Gnu Make, and type "make" again... it should descend into the "glob" directory and re-attempt that "ar" command, and should succeed this time!
Good luck!
Does your system have any development tools (commercial ones) on it at all? If you are trying to put one together from the GNU toolsuite, then ar will not be on your system at all and needs to be obtained. I can suggest a set of tools (GNU based) which will work nicely.
Mike
Mike