bigbrownbuild-git's People
Forkers
paulwrattbigbrownbuild-git's Issues
Add texinfo to prerequisites
Just to let you know I ran into troubles building binutils 0.39 on Atlassian CI Linux image (Ubuntu Feisty-something-whatever). bigbrownbuild.sh script failed, because during binutils compilation texinfo was required, but missing in system (I reran make in binutils folder to catch this error). Installing texinfo fixed problem (apt-get install texinfo), so it would be cool to add it to prerquisities list.
Issue building barebones
First of all, I'd like to say that I'm really glad that this project exists.
After successfully running bigbrownbuild.sh
, I tried to do make
in the barebones
directory.
This however, led to the following error:
/brown/bin/m68k-atariextrabrowner-elf-gcc -c -m68000 -Ofast -fomit-frame-pointer -fstrict-aliasing -fcaller-saves -flto
-ffunction-sections -fdata-sections -fleading-underscore -D__ATARI__ -D__M68000__ -DELF_CONFIG_STACK=16384
-Wall -o vsnprint.o vsnprint.c
make: /brown/bin/m68k-atariextrabrowner-elf-gcc: Command not found
make: *** [Makefile:233: vsnprint.o] Error 127
After checking the /brown/bin
directory, I found that the binaries were all called m68k-atarisuperbrowner-*
instead.
So I naively updated the Makefile
to refer to super
instead of extra
.
This led to another error:
/brown/bin/m68k-atarisuperbrowner-elf-g++ -c -m68000 -Ofast -fomit-frame-pointer -fstrict-aliasing -fcaller-saves -flto -ffunction-sections -fdata-sections -fleading-underscore -D__ATARI__ -D__M68000__ -DELF_CONFIG_STACK=16384 -x c++ -std=c++0x -fno-exceptions -fno-rtti -fno-threadsafe-statics -Wall -Wno-reorder -o lolworld.o lolworld.cpp
/brown/bin/m68k-atarisuperbrowner-elf-g++ -L/brown/lib/gcc/m68k-atarisuperbrowner-elf/10.2.0/m68000 -L/brownm68k-atarisuperbrowner-elf/lib/m68000 -o lolworld.elf libcxx/brownboot.o libcxx/browncrti.o libcxx/browncrt++.o libcxx/zerolibc.o libcxx/zerocrtfini.o vsnprint.o printf.o lolworld.o -Wl,-Map,lolworld.map -Wl,--emit-relocs -Wl,-e_start -Ttext=0 -nostdlib -nostartfiles -m68000 -Ofast -fomit-frame-pointer -fstrict-aliasing -fcaller-saves -flto -ffunction-sections -fdata-sections -fleading-underscore libcxx/browncrtn.o
lto1: fatal error: bytecode stream in file 'libcxx/browncrt++.o' generated with LTO version 9.0 instead of the expected 11.0
compilation terminated.
lto-wrapper: fatal error: /brown/bin/m68k-atarisuperbrowner-elf-g++ returned 1 exit status
compilation terminated.
/brown/lib/gcc/m68k-atarisuperbrowner-elf/11.2.0/../../../../m68k-atarisuperbrowner-elf/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make: *** [Makefile:188: lolworld.elf] Error 1
rm lolworld.o
Apparently LTO version 9.0 is being used instead of the expected 11.0.
I have no idea how to fix this. Do you have any ideas? Thanks!
13.1.0, 13.2.0 and Trunk binutils version
starting at line 216 in bigbrownbuild.sh:
if [ "$BUILD_13_1_0" == "1" ] || [ "$BUILD_TRUNK" == "1" ]; then
if [ ! -f binutils-2.40.tar.xz ]; then rm -rf binutils-2.40; fi; fi
if [ "$BUILD_13_2_0" == "1" ] || [ "$BUILD_TRUNK" == "1" ]; then
if [ ! -f binutils-2.40.tar.xz ]; then rm -rf binutils-2.41; fi; fi
and based on line 271 & 272:
if [ "$BUILD_13_1_0" == "1" ]; then
if [ ! -f binutils-2.40.tar.xz ]; then wget http://ftp.gnu.org/gnu/binutils/binutils-2.40.tar.xz --quiet; fi; fi
if [ "$BUILD_13_2_0" == "1" ] || [ "$BUILD_TRUNK" == "1" ]; then
if [ ! -f binutils-2.41.tar.xz ]; then wget http://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.xz --quiet; fi; fi
shouldn't that first piece of code end:
if [ "$BUILD_13_1_0" == "1" ]; then
if [ ! -f binutils-2.40.tar.xz ]; then rm -rf binutils-2.40; fi; fi
if [ "$BUILD_13_2_0" == "1" ] || [ "$BUILD_TRUNK" == "1" ]; then
if [ ! -f binutils-2.41.tar.xz ]; then rm -rf binutils-2.41; fi; fi
macOS feedback
Many thanks for this project as well!
After a few tries, I'm now able to build and run the barebones examples on Hatari.
I'm a Mac user so I thought I'd share some feedback.
My setup:
OS: macOS 11.6 20G165 x86_64
Host: MacBookPro16,1
Shell: zsh 5.8
CPU: Intel i9-9980HK (16) @ 2.40GHz
Portable install
I wanted to have a portable install with the whole toolchain created in a brown
subfolder of the repository.
INSTALL_PREFIX
is set to /brown
when the script is ran in User mode but I doubt creation of folders will be allowed in /
without privileges. It is certainly not allowed on macOS so I changed it to $HOMEDIR/brown
.
I also modified barebones/Makefile
in order to use the portable ../brown
installation instead of /brown
.
Using Homebrew
I wanted to avoid usage of sudo
at all cost. This is one of the reason I'm using Homebrew instead of MacPorts.
So I had to install:
wget
(suggestion: usingcurl
which is bundled with macOS)gnu-sed
(note the different package name).
gmp
was already installed but this might be because of previous other package installations. It is, however, in a different directory (/usr/local/include/gmp
) so I modified this line in your script:
$SED -i -e "s/<gmp.h>/\"\/usr\/local\/include\/gmp.h\"/gI" "$HOMEDIR"/gcc-$1/gcc/system.h
mpfr
and libmpc
are not installed on my system but this wasn't an issue, apparently.
The Apple provided bison
, flex
, tar
were used without any issue.
That's it! Thanks again for your work!
It looks like there's a slash missing in barebones/Makefile
Hi, it looks like there's a slash missing in here after -L/brown
:
bigbrownbuild-git/barebones/Makefile
Line 25 in 5893507
Since the build does work, I guess that library path isn't required at all?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.