adtools / amigaos-cross-toolchain

AmigaOS cross compiler for Linux / MacOSX / Windows
184 stars 48 forks source link

Add "patch" and "yacc" to prerequisites #11

Closed sebastianbergmann closed 9 years ago

sebastianbergmann commented 9 years ago

A fresh installation of Fedora 21 does not have patch and yacc installed.

cahirwpz commented 9 years ago

Hi Sebastian,

On Sun, Mar 15, 2015 at 11:06 AM, Sebastian Bergmann < notifications@github.com> wrote:

A fresh installation of Fedora 21 does not have patch and yacc installed.

I'm suprised to hear that Fedora does not install patch by default. However yacc should not be required to compile the toolchain as I build flex / bison from sources:

https://github.com/cahirwpz/m68k-amigaos-toolchain/blob/master/bootstrap.sh#L196

Can you verify that the build script picks up flex / bison from m68k-amigaos-toolchain/host/bin directory instead of yacc?

Kind regards Krystian Bacławski

sebastianbergmann commented 9 years ago

Some part of bootstrap.sh errored out with yacc: command not found. Would have to uninstall yacc and re-run to provide more information.

sebastianbergmann commented 9 years ago

Here's the relevant output with error when yacc is not available:

~/m68k-amigaos-toolchain/build ~/m68k-amigaos-toolchain
+ (( 2 < 4 ))
+ mkdir_empty flex-2.5.4
+ rm -rf flex-2.5.4
+ mkdir -p flex-2.5.4
+ pushd flex-2.5.4
~/m68k-amigaos-toolchain/build/flex-2.5.4 ~/m68k-amigaos-toolchain/build ~/m68k-amigaos-toolchain
+ /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/configure --prefix=/home/sb/m68k-amigaos-toolchain/host
creating cache ./config.cache
checking whether ln -s works... yes
checking for bison... no
checking for byacc... no
checking for gcc... /usr/bin/gcc -std=gnu89 
checking whether we are using GNU C... yes
checking whether /usr/bin/gcc -std=gnu89  accepts -g... yes
checking for ranlib... ranlib
checking for a BSD compatible install... /usr/bin/install -c
checking whether make sets $MAKE... yes
checking for working const... yes
checking how to run the C preprocessor... /usr/bin/gcc -std=gnu89  -E
checking whether cross-compiling... no
checking for ANSI C header files... yes
checking for size_t... yes
checking for ANSI C header files... (cached) yes
checking for string.h... yes
checking for malloc.h... yes
checking for sys/types.h... yes
updating cache ./config.cache
creating ./config.status
creating Makefile
creating config.h
+ make -j4
/usr/bin/gcc -std=gnu89  -c -I. -I/home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4 -g -O /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/ccl.c
/usr/bin/gcc -std=gnu89  -c -I. -I/home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4 -g -O /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/dfa.c
/usr/bin/gcc -std=gnu89  -c -I. -I/home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4 -g -O /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/ecs.c
cp /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/initscan.c scan.c
touch .bootstrap
/usr/bin/gcc -std=gnu89  -c -I. -I/home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4 -g -O /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/gen.c
/usr/bin/gcc -std=gnu89  -c -I. -I/home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4 -g -O /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/main.c
/usr/bin/gcc -std=gnu89  -c -I. -I/home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4 -g -O /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/misc.c
/usr/bin/gcc -std=gnu89  -c -I. -I/home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4 -g -O /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/nfa.c
yacc -d /home/sb/m68k-amigaos-toolchain/sources/flex-2.5.4/parse.y
make: yacc: Command not found
Makefile:106: recipe for target 'parse.c' failed
make: *** [parse.c] Error 127
make: *** Waiting for unfinished jobs....

Looks like yacc is required to build flex :-)

cahirwpz commented 9 years ago

Thanks Sebastian for reporting the problem.

I'll have a look at it after Revision 2015 demoscene party, somewhere in mid-April.

Kind regards Krystian Bacławski

sebastianbergmann commented 9 years ago

Have fun @ Revision!