From: Luke D. <cod...@ho...> - 2003-02-09 04:23:05
|
>From: "Graeme Prentice" <gpr...@pa...> >To: <min...@li...> >Subject: [Mingw-users] GCC with Hitachi H8S micro >Date: Sun, 9 Feb 2003 15:03:33 +1300 > > >Hi > >I'm trying to get MinGW / GCC 3.2 to compile C++ for a Hitachi H8S target, >but I get an error as follows ... > >h8300-hms-g++: installation problem, cannot exec `as': No such file or >directory > >I have downloaded the H8S MinGW gcc and binutils files from sourceforge and >extracted into directories. The compiler exe has the name >h8300-hms-g++.exe Which SourceForge project would that be? I guess you mean that you didn't build the compiler yourself? > >To run G++, I run a batch file where I firstly add into PATH, the path to >the h8300 bin files ( ...\usr\local\bin ) and also the path to binutils bin >directory. The binutils bin directory contains h8300-hms-as.exe (the >assembler I guess) amongst other things. Try these commands: gcc -print-search-dirs gcc -print-prog-name=as (or possibly "gcc -print-prog-name=h8300-hms-as") This should give you an idea of where the compiler is looking for the assembler. If the compiler is installed in c:/usr/local/bin, it is probably looking in c:/usr/local/h8300-hms/bin for binutils. I don't think it normally searches the PATH. If you downloaded these gcc/binutils as binaries then you should ask at the place you got them, because it will depend on how they were configured. > >I run G++ with >h8300-hms-g++ -c -b h8300-hms -ms test1.cpp >for a trivial program such as >int k; >int main() { k = 23; } > >I get the "cannot exec 'as' " error. If I add a syntax error to the cpp >code, I get normal C++ error messages, so the compiler is executing ok. If >I use -dumpmachine switch I get h8300-hms message output, regardless of >whether I have the -b h8300-hms switch or not. Good, so you shouldn't need the -b switch. > >I use WindowsXP and have MinGW for Win32 installed compiling for x86 target >and that still compile and executes fine. How do I get G++ to work for the >Hitachi target. > >Are there some environment variables that need to be set e.g. are the >following environment variables anything to do with MinGW? > >PROCESSOR_ARCHITECTURE x86 >PROCESSOR_IDENTIFIER >PROCESSOR_LEVEL >PROCESSOR_REVISION > >What does the mingw-2.0.0-3.exe install file do when it installs for Win32 >target? I think those are Windows environment variables, because MinGW does not normally use any, and it requires gcc and binutils to be in the same directory tree. However, there may be environment variables that you can use to override the default search paths. I don't know for sure what these environment variables are, or even where they are documented, but BINUTILS_ROOT is my best guess. > >Thanks for any help. > >Graeme Luke _________________________________________________________________ Hotmail now available on Australian mobile phones. Go to http://ninemsn.com.au/mobilecentral |
From: Graeme P. <gf...@pa...> - 2003-02-09 06:30:53
|
>=20 > Which SourceForge project would that be? I guess you mean=20 > that you didn't=20 > build the compiler yourself? No I didn't build the compiler http://h8300-hms.sourceforge.net/ http://sourceforge.net/project/showfiles.php?group_id=3D24580 >=20 > > > >To run G++, I run a batch file where I firstly add into=20 > PATH, the path=20 > >to the h8300 bin files ( ...\usr\local\bin ) and also the path to=20 > >binutils bin directory. The binutils bin directory contains=20 > >h8300-hms-as.exe (the assembler I guess) amongst other things. >=20 > Try these commands: >=20 > gcc -print-search-dirs > gcc -print-prog-name=3Das (or possibly "gcc=20 > -print-prog-name=3Dh8300-hms-as") >=20 > This should give you an idea of where the compiler is looking for the=20 > assembler. If the compiler is installed in c:/usr/local/bin,=20 > it is probably=20 > looking in c:/usr/local/h8300-hms/bin for binutils. I don't think it=20 > normally searches the PATH. If you downloaded these=20 > gcc/binutils as binaries=20 > then you should ask at the place you got them, because it=20 > will depend on how=20 > they were configured. print-search-dirs gave me a long list of relative path names but none of them will find my binutils directory so it must be using the PATH = setting to find the assembler. I've found that by renaming the h8300-hms-as.exe to as.exe in the binutils bin directory that I can compile with no errors = and the assembly listing shows it has compiled correctly. From using -dumpspecs I found the assembler is being invoked with "as" *invoke_as: %{!S:-o %{|!pipe:%g.s} | as %(asm_options) %{!pipe:%g.s} %A } I then found a "specs" file where I changed the "as" to h8300-hms-as and then I undid the renaming I had done on h8300-hms-as.exe and this also compiled with no problems. > > >What does the mingw-2.0.0-3.exe install file do when it installs for=20 > >Win32 target? >=20 > I think those are Windows environment variables, because=20 > MinGW does not=20 > normally use any, and it requires gcc and binutils to be in the same=20 > directory tree. However, there may be environment variables=20 > that you can use=20 > to override the default search paths. I don't know for sure=20 > what these=20 > environment variables are, or even where they are documented, but=20 > BINUTILS_ROOT is my best guess. Thanks. I can't really figure out where to put the binutils directory = tree in relation to gcc because the tar files had them both with = usr\local\bin - I guess that means they share the same directories but I'm not 100% = sure. I guess if I unzip into the same directory tree I can get winzip to ask me before it overwrites any files, so I'll try that. Thanks for replying. P.S. I think I used my wrong email address to send my previous message = - I had changed it from what I originally signed up with and forgot - sorry about that. Graeme |