Jump to content
IGNORED

Happy Christmas - gcc 6.2 for Atari 16/32 machines!


ggn

Recommended Posts

  • 2 months later...

I might need a bit of assistance but first, a recap.

 

My OS is Win 10.

 

I initially tried to go the MinGW/Msys build route. Even though it "says" I don't have to install MinGW 32-bit, I did it anyway. After installing and choosing what applications and libraries I wanted, I ran mingw-static-libraries-6.1.0-x86.exe but it said it couldn't find the version of MinGW. I even ran it from the directory where the applications exist.

Next I tried Cygwin. After installing the 32-bit version, I downloaded gcc, binutils, mintlib, & brownout. I followed the Quick installation instructions but after copying and extracting the files to my home directory, running the _postinstall.sh threw a bunch of errors.

cp: cannot stat '/lib/gcc/m68k-ataribrown-elf/6.2.0/*.o': No such file or directory
cp: cannot stat '/lib/gcc/m68k-ataribrown-elf/6.2.0/*.a': No such file or directory
cp: cannot stat '/lib/gcc/m68k-ataribrown-elf/6.2.0/softfp': No such file or directory
cp: cannot stat '/lib/gcc/m68k-ataribrown-elf/6.2.0/softfp/*.o': No such file or directory
cp: cannot stat '/lib/gcc/m68k-ataribrown-elf/6.2.0/softfp/*.a': No such file or directory
cp: cannot stat '/lib/gcc/m68k-ataribrown-elf/6.2.0/softfp': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/libstdc++.*': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/libsupc++.*': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/softfp/libstdc++.*': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/softfp/libsupc++.*': No such file or directory
mv: cannot stat '/usr/m68k-ataribrown-elf/lib/libc.a': No such file or directory
mv: cannot stat '/usr/m68k-ataribrown-elf/lib/libiio.a': No such file or directory
mv: cannot stat '/usr/m68k-ataribrown-elf/lib/librpcsvc.a': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/m68020/libc.a': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/m68020/libiio.a': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/m68020/librpcsvc.a': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/m68020-20_soft/*.a': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/m68020-20_soft/*.a': No such file or directory
mv: cannot stat '/usr/m68k-ataribrown-elf/lib/m68020-60_soft': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/softfp/libstdc++.*': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/softfp/libsupc++.*': No such file or directory
./_postinstall.sh: line 74: emulated: command not found
./_postinstall.sh: line 76: libstdc++: command not found
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/m68020/softfp/libstdc++.*': No such file or directory
cp: cannot stat '/usr/m68k-ataribrown-elf/lib/m68020/softfp/libsupc++.*': No such file or directory

I'm sure after going through the script I'll figure out what is going but I just wanted to let you know that some further instructions tweaking might be needed.

Link to comment
Share on other sites

  • 2 weeks later...

I've installed the toolset under an Ubuntu VM and have Hatari on there too.

It has been a long time since I did any ST programming (and then using Sozobon) so are there any example projects / makefiles available to help familiarise myself, or even solutions in a dev environment if that works too (e.g. Eclipse).

  • Like 1
Link to comment
Share on other sites

I've found the d_m_l/agtools as something to take a look at however attempting to build a demo produced a missing header file. Any ideas?

markk@ubuntu-sevenof9:~/agtools/demos/abreed$ make USE_BROWNELF=yes
m68k-ataribrown-elf-g++ -c -m68000 -Ofast -fomit-frame-pointer -fstrict-aliasing -fcaller-saves -flto -ffunction-sections -fdata-sections -fleading-underscore -DUSE_TINY_CRT -DAGT_GCC6_ELF -D__ATARI__ -D__M68000__ -DAGT_CONFIG_STACK=16384  -DAGT_CONFIG_WORLD_XMAJOR   -I../.. -I3rdparty/ -x c++ -std=c++0x -fno-exceptions -fno-rtti -fno-threadsafe-statics -Wall -Wno-reorder -Wno-narrowing -o ../../agtsys/system.o ../../agtsys/system.cpp
In file included from /usr/m68k-ataribrown-elf/include/c++/6.2.0/bits/postypes.h:40:0,
                 from /usr/m68k-ataribrown-elf/include/c++/6.2.0/bits/char_traits.h:40,
                 from /usr/m68k-ataribrown-elf/include/c++/6.2.0/string:40,
                 from ../../agtsys/common_cpp.h:14,
                 from ../../agtsys/system.cpp:13:
/usr/m68k-ataribrown-elf/include/c++/6.2.0/cwchar:44:19: fatal error: wchar.h: No such file or directory
 #include <wchar.h>
                   ^
compilation terminated.
Makefile:559: recipe for target '../../agtsys/system.o' failed
make: *** [../../agtsys/system.o] Error 1
markk@ubuntu-sevenof9:~/agtools/demos/abreed$ sudo find / -name "wchar.h" -print[sudo] password for markk: 
/mintlib-0.60.1-bin/include/wchar.h
find: ‘/run/user/1000/gvfs’: Permission denied
/usr/include/c++/5/tr1/wchar.h
/usr/include/wchar.h
/usr/include/x86_64-linux-gnu/bits/wchar.h
/usr/m68k-ataribrown-elf/include/c++/6.2.0/tr1/wchar.h

Link to comment
Share on other sites

I've installed the toolset under an Ubuntu VM and have Hatari on there too.

It has been a long time since I did any ST programming (and then using Sozobon) so are there any example projects / makefiles available to help familiarise myself, or even solutions in a dev environment if that works too (e.g. Eclipse).

Yea, I went the Ubuntu route as well and didn't have any issues installing and running it in a VM is much better user experience than Cygwin.

 

So, the "permission denied" is interesting. Dumb question but have you tried compiling was sudo or checked to ensure that header file exists?

Link to comment
Share on other sites

So, the "permission denied" is interesting. Dumb question but have you tried compiling was sudo or checked to ensure that header file exists?

 

The permission was only as a not uncommon response to a 'find'.

The find did locate the header under '/usr/m68k-ataribrown-elf/include/c++/6.2.0/tr1/wchar.h'.

 

Therefore I would think it internal to the compiler as to how it includes that folder in the search path?

 

In '/usr/m68k-ataribrown-elf/include/c++/6.2.0/m68k-ataribrown-elf/bits/c++config.h' there's:

 

/* Define to 1 if you have the <wchar.h> header file. */

#define _GLIBCXX_HAVE_WCHAR_H 1

 

And in '/usr/m68k-ataribrown-elf/include/c++/6.2.0/cwchar' there's:

#if _GLIBCXX_HAVE_WCHAR_H
#include <wchar.h>
#endif

Perhaps there is some copying of header files that the post install script could need?

 

g++ can show the lib search path but how do I confirm the full include folders used?

Link to comment
Share on other sites

OK, so adding a "-v" to the compiler options in a Makefile has helped show me the includes:

markk@ubuntu-sevenof9:~/agtools/tutorials/tutor0$ make USE_BROWNELF=yes
m68k-ataribrown-elf-g++ -c -v -m68000 -Ofast -fomit-frame-pointer -fstrict-aliasing -fcaller-saves -flto -ffunction-sections -fdata-sections -fleading-underscore -DUSE_TINY_CRT -DAGT_GCC6_ELF -D__ATARI__ -D__M68000__ -DAGT_CONFIG_STACK=16384  -DAGT_CONFIG_WORLD_XMAJOR   -I../.. -I3rdparty/ -x c++ -std=c++0x -fno-exceptions -fno-rtti -fno-threadsafe-statics -Wall -Wno-reorder -o ../../agtsys/system.o ../../agtsys/system.cpp
Using built-in specs.
COLLECT_GCC=m68k-ataribrown-elf-g++
Target: m68k-ataribrown-elf
Configured with: ../gcc-6.2.0/configure --target=m68k-ataribrown-elf --disable-nls --enable-languages=c,c++ --enable-lto --prefix=/usr --disable-libssp --enable-softfloat --disable-libstdcxx-pch --disable-clocale --disable-libstdcxx-threads --disable-libstdcxx-filesystem-ts --disable-libquadmath --enable-cxx-flags='-O2 -fomit-frame-pointer -fno-threadsafe-statics -fno-exceptions -fno-rtti -fleading-underscore' 'CFLAGS_FOR_TARGET=-O2 -fomit-frame-pointer -fno-threadsafe-statics -fleading-underscore' 'CXXFLAGS_FOR_TARGET=-O2 -fomit-frame-pointer -fno-threadsafe-statics -fno-exceptions -fno-rtti -fleading-underscore' 'LDFLAGS_FOR_TARGET=--emit-relocs -Ttext=0'
Thread model: single
gcc version 6.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-c' '-v' '-mcpu=68000' '-Ofast' '-fomit-frame-pointer' '-fstrict-aliasing' '-fcaller-saves' '-flto' '-ffunction-sections' '-fdata-sections' '-fleading-underscore' '-D' 'USE_TINY_CRT' '-D' 'AGT_GCC6_ELF' '-D' '__ATARI__' '-D' '__M68000__' '-D' 'AGT_CONFIG_STACK=16384' '-D' 'AGT_CONFIG_WORLD_XMAJOR' '-I' '../..' '-I' '3rdparty/' '-std=c++11' '-fno-exceptions' '-fno-rtti' '-fno-threadsafe-statics' '-Wall' '-Wno-reorder' '-o' '../../agtsys/system.o'
 /usr/libexec/gcc/m68k-ataribrown-elf/6.2.0/cc1plus -quiet -v -I ../.. -I 3rdparty/ -imultilib m68000 -D USE_TINY_CRT -D AGT_GCC6_ELF -D __ATARI__ -D __M68000__ -D AGT_CONFIG_STACK=16384 -D AGT_CONFIG_WORLD_XMAJOR ../../agtsys/system.cpp -quiet -dumpbase system.cpp -mcpu=68000 -auxbase-strip ../../agtsys/system.o -Ofast -Wall -Wno-reorder -std=c++11 -version -fomit-frame-pointer -fstrict-aliasing -fcaller-saves -flto -ffunction-sections -fdata-sections -fleading-underscore -fno-exceptions -fno-rtti -fno-threadsafe-statics -o /tmp/ccYyUqWu.s
GNU C++11 (GCC) version 6.2.0 (m68k-ataribrown-elf)
	compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/m68k-ataribrown-elf/6.2.0/../../../../m68k-ataribrown-elf/sys-include"
ignoring nonexistent directory "3rdparty/"
#include "..." search starts here:
#include <...> search starts here:
 ../..
 /usr/lib/gcc/m68k-ataribrown-elf/6.2.0/../../../../m68k-ataribrown-elf/include/c++/6.2.0
 /usr/lib/gcc/m68k-ataribrown-elf/6.2.0/../../../../m68k-ataribrown-elf/include/c++/6.2.0/m68k-ataribrown-elf/m68000
 /usr/lib/gcc/m68k-ataribrown-elf/6.2.0/../../../../m68k-ataribrown-elf/include/c++/6.2.0/backward
 /usr/lib/gcc/m68k-ataribrown-elf/6.2.0/include
 /usr/lib/gcc/m68k-ataribrown-elf/6.2.0/include-fixed
 /usr/lib/gcc/m68k-ataribrown-elf/6.2.0/../../../../m68k-ataribrown-elf/include
End of search list.
GNU C++11 (GCC) version 6.2.0 (m68k-ataribrown-elf)
	compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 2c93d6023885db03f31b024536f05798
In file included from /usr/m68k-ataribrown-elf/include/c++/6.2.0/bits/postypes.h:40:0,
                 from /usr/m68k-ataribrown-elf/include/c++/6.2.0/bits/char_traits.h:40,
                 from /usr/m68k-ataribrown-elf/include/c++/6.2.0/string:40,
                 from ../../agtsys/common_cpp.h:14,
                 from ../../agtsys/system.cpp:13:
/usr/m68k-ataribrown-elf/include/c++/6.2.0/cwchar:44:19: fatal error: wchar.h: No such file or directory
 #include <wchar.h>
                   ^
compilation terminated.
Makefile:500: recipe for target '../../agtsys/system.o' failed
make: *** [../../agtsys/system.o] Error 1

So from a google search the "tr1" issue maybe linked with the which C++ standard is in use by the compiler.

I've tried adding this to the include in the Makefile however this only then leads onto "locale.h" not being found, and in this case no file with that name appears in the ataribrown folders.

This therefore might be an issue with the cross-tools build in the first place but I wouldn't really know where to start with that.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...