Closed tschmidty69 closed 6 years ago
What OS / distribution are you using? The build works fine for me with Debian 9.
Ubuntu 17.10, was just a git clone, make. Like I say, I did get it to compile and run zblorb with dfrontz but I have severe ptsd form figuring out makefiles back when so gave it a bit of a look but.. love it though, thanks. Got it working with zmachine api and snips voice assistant, very cool. Although Zork still frustrates the heck out of me!
tschmidty69, is your cc actually GCC or something else, out of curiosity? I haven't been able to reproduce the problem here with CC=gcc or CC=clang.
No, just the standard cc that comes with ubunut 17.10
$ cc --version
cc (Ubuntu 7.2.0-8ubuntu3) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Here is the full build from make clean
(homeassistant) $ cd ~/WORK/frotz/ [69/716]
(homeassistant) $ make clean
rm -f src/*.h src/*.a src/common/defines.h \
src/common/git_hash.h src/curses/defines.h \
frotz*.tar.gz
find . -iname *.o -delete
(homeassistant) $ make
Creating src/common/git_hash.h
Generating src/common/defines.h
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/buffer.o -c src/common/buffer.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/err.o -c src/common/err.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/fastmem.o -c src/common/fastmem.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/files.o -c src/common/files.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/hotkey.o -c src/common/hotkey.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/input.o -c src/common/input.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/main.o -c src/common/main.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/math.o -c src/common/math.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/object.o -c src/common/object.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/process.o -c src/common/process.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/quetzal.o -c src/common/quetzal.c
src/common/quetzal.c: In function ‘restore_quetzal’:
src/common/quetzal.c:328:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (!(progress & GOT_MEMORY)) /* Don't complain if two. */
^
src/common/quetzal.c:381:6: note: here
case ID_UMem:
^~~~
src/common/quetzal.c:382:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (!(progress & GOT_MEMORY)) /* Don't complain if two. */
^
src/common/quetzal.c:399:6: note: here
default:
^~~~~~~
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/random.o -c src/common/random.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/redirect.o -c src/common/redirect.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/screen.o -c src/common/screen.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/sound.o -c src/common/sound.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/stream.o -c src/common/stream.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/table.o -c src/common/table.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/text.o -c src/common/text.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/variable.o -c src/common/variable.c
ar rc src/frotz_common.a src/common/git_hash.h src/common/defines.h src/common/buffer.o src/common/err.o src/common/fastmem.o src/common/files.o src/common/hotkey.o src/common/input.o src/common/main.o src/common/math.o src/common/object
.o src/common/process.o src/common/quetzal.o src/common/random.o src/common/redirect.o src/common/screen.o src/common/sound.o src/common/stream.o src/common/table.o src/common/text.o src/common/variable.o
/usr/bin/ranlib src/frotz_common.a
Generating src/curses/defines.h
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_init.o -c src/curses/ux_init.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_input.o -c src/curses/ux_input.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_pic.o -c src/curses/ux_pic.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_screen.o -c src/curses/ux_screen.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_text.o -c src/curses/ux_text.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_blorb.o -c src/curses/ux_blorb.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_audio.o -c src/curses/ux_audio.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_resource.o -c src/curses/ux_resource.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_audio_none.o -c src/curses/ux_audio_none.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_locks.o -c src/curses/ux_locks.c
ar rc src/frotz_curses.a src/curses/defines.h src/curses/ux_init.o src/curses/ux_input.o src/curses/ux_pic.o src/curses/ux_screen.o src/curses/ux_text.o src/curses/ux_blorb.o src/curses/ux_audio.o src/curses/ux_resource.o src/curses/ux_a
udio_none.o src/curses/ux_locks.o
/usr/bin/ranlib src/frotz_curses.a
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/blorb/blorblib.o -c src/blorb/blorblib.c
ar rc src/blorblib.a src/blorb/blorblib.o
/usr/bin/ranlib src/blorblib.a
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate src/frotz_common.a src/frotz_curses.a src/blorblib.a -o frotz -lncurses -L/usr/local/lib
src/frotz_curses.a(ux_audio.o): In function `audiobuffer_init':
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:112: undefined reference to `sem_init'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:113: undefined reference to `sem_init'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:114: undefined reference to `sem_post'
(homeassistant) $ cd ~/WORK/frotz/ [69/716]
(homeassistant) $ make clean
rm -f src/*.h src/*.a src/common/defines.h \
src/common/git_hash.h src/curses/defines.h \
frotz*.tar.gz
find . -iname *.o -delete
(homeassistant) $ make
Creating src/common/git_hash.h
Generating src/common/defines.h
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/buffer.o -c src/common/buffer.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/err.o -c src/common/err.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/fastmem.o -c src/common/fastmem.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/files.o -c src/common/files.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/hotkey.o -c src/common/hotkey.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/input.o -c src/common/input.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/main.o -c src/common/main.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/math.o -c src/common/math.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/object.o -c src/common/object.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/process.o -c src/common/process.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/quetzal.o -c src/common/quetzal.c
src/common/quetzal.c: In function ‘restore_quetzal’:
src/common/quetzal.c:328:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (!(progress & GOT_MEMORY)) /* Don't complain if two. */
^
src/common/quetzal.c:381:6: note: here
case ID_UMem:
^~~~
src/common/quetzal.c:382:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (!(progress & GOT_MEMORY)) /* Don't complain if two. */
^
src/common/quetzal.c:399:6: note: here
default:
^~~~~~~
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/random.o -c src/common/random.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/redirect.o -c src/common/redirect.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/screen.o -c src/common/screen.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/sound.o -c src/common/sound.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/stream.o -c src/common/stream.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/table.o -c src/common/table.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/text.o -c src/common/text.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/variable.o -c src/common/variable.c
ar rc src/frotz_common.a src/common/git_hash.h src/common/defines.h src/common/buffer.o src/common/err.o src/common/fastmem.o src/common/files.o src/common/hotkey.o src/common/input.o src/common/main.o src/common/math.o src/common/object
.o src/common/process.o src/common/quetzal.o src/common/random.o src/common/redirect.o src/common/screen.o src/common/sound.o src/common/stream.o src/common/table.o src/common/text.o src/common/variable.o
/usr/bin/ranlib src/frotz_common.a
Generating src/curses/defines.h
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_init.o -c src/curses/ux_init.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_input.o -c src/curses/ux_input.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_pic.o -c src/curses/ux_pic.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_screen.o -c src/curses/ux_screen.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_text.o -c src/curses/ux_text.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_blorb.o -c src/curses/ux_blorb.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_audio.o -c src/curses/ux_audio.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_resource.o -c src/curses/ux_resource.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_audio_none.o -c src/curses/ux_audio_none.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_locks.o -c src/curses/ux_locks.c
ar rc src/frotz_curses.a src/curses/defines.h src/curses/ux_init.o src/curses/ux_input.o src/curses/ux_pic.o src/curses/ux_screen.o src/curses/ux_text.o src/curses/ux_blorb.o src/curses/ux_audio.o src/curses/ux_resource.o src/curses/ux_a
udio_none.o src/curses/ux_locks.o
/usr/bin/ranlib src/frotz_curses.a
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/blorb/blorblib.o -c src/blorb/blorblib.c
ar rc src/blorblib.a src/blorb/blorblib.o
/usr/bin/ranlib src/blorblib.a
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate src/frotz_common.a src/frotz_curses.a src/blorblib.a -o frotz -lncurses -L/usr/local/lib
src/frotz_curses.a(ux_audio.o): In function `audiobuffer_init':
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:112: undefined reference to `sem_init'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:113: undefined reference to `sem_init'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:114: undefined reference to `sem_post'
(homeassistant) $ cd ~/WORK/frotz/ [69/716]
(homeassistant) $ make clean
rm -f src/*.h src/*.a src/common/defines.h \
src/common/git_hash.h src/curses/defines.h \
frotz*.tar.gz
find . -iname *.o -delete
(homeassistant) $ make
Creating src/common/git_hash.h
Generating src/common/defines.h
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/buffer.o -c src/common/buffer.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/err.o -c src/common/err.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/fastmem.o -c src/common/fastmem.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/files.o -c src/common/files.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/hotkey.o -c src/common/hotkey.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/input.o -c src/common/input.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/main.o -c src/common/main.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/math.o -c src/common/math.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/object.o -c src/common/object.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/process.o -c src/common/process.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/quetzal.o -c src/common/quetzal.c
src/common/quetzal.c: In function ‘restore_quetzal’:
src/common/quetzal.c:328:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (!(progress & GOT_MEMORY)) /* Don't complain if two. */
^
src/common/quetzal.c:381:6: note: here
case ID_UMem:
^~~~
src/common/quetzal.c:382:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (!(progress & GOT_MEMORY)) /* Don't complain if two. */
^
src/common/quetzal.c:399:6: note: here
default:
^~~~~~~
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/random.o -c src/common/random.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/redirect.o -c src/common/redirect.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/screen.o -c src/common/screen.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/sound.o -c src/common/sound.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/stream.o -c src/common/stream.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/table.o -c src/common/table.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/text.o -c src/common/text.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/common/variable.o -c src/common/variable.c
ar rc src/frotz_common.a src/common/git_hash.h src/common/defines.h src/common/buffer.o src/common/err.o src/common/fastmem.o src/common/files.o src/common/hotkey.o src/common/input.o src/common/main.o src/common/math.o src/common/object
.o src/common/process.o src/common/quetzal.o src/common/random.o src/common/redirect.o src/common/screen.o src/common/sound.o src/common/stream.o src/common/table.o src/common/text.o src/common/variable.o
/usr/bin/ranlib src/frotz_common.a
Generating src/curses/defines.h
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_init.o -c src/curses/ux_init.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_input.o -c src/curses/ux_input.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_pic.o -c src/curses/ux_pic.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_screen.o -c src/curses/ux_screen.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_text.o -c src/curses/ux_text.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_blorb.o -c src/curses/ux_blorb.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_audio.o -c src/curses/ux_audio.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_resource.o -c src/curses/ux_resource.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_audio_none.o -c src/curses/ux_audio_none.c
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/curses/ux_locks.o -c src/curses/ux_locks.c
ar rc src/frotz_curses.a src/curses/defines.h src/curses/ux_init.o src/curses/ux_input.o src/curses/ux_pic.o src/curses/ux_screen.o src/curses/ux_text.o src/curses/ux_blorb.o src/curses/ux_audio.o src/curses/ux_resource.o src/curses/ux_a
udio_none.o src/curses/ux_locks.o
/usr/bin/ranlib src/frotz_curses.a
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate -fPIC -fpic -o src/blorb/blorblib.o -c src/blorb/blorblib.c
ar rc src/blorblib.a src/blorb/blorblib.o
/usr/bin/ranlib src/blorblib.a
cc -Wall -Wextra -std=gnu99 -g -I/usr/local/include -lao -ldl -lpthread -lm -lsndfile -lvorbisfile -lmodplug -lsamplerate src/frotz_common.a src/frotz_curses.a src/blorblib.a -o frotz -lncurses -L/usr/local/lib
src/frotz_curses.a(ux_audio.o): In function `audiobuffer_init':
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:112: undefined reference to `sem_init'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:113: undefined reference to `sem_init'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:114: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:263: undefined reference to `pthread_join'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:268: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:269: undefined reference to `pthread_join'
src/frotz_curses.a(ux_audio.o): In function `mixer':
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:328: undefined reference to `ao_initialize'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:329: undefined reference to `ao_default_driver_id'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:348: undefined reference to `sem_wait'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:351: undefined reference to `sem_wait'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:357: undefined reference to `ao_open_live'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:365: undefined reference to `ao_play'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:371: undefined reference to `ao_play'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:415: undefined reference to `ao_play'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:420: undefined reference to `ao_close'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:427: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:430: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:434: undefined reference to `sem_getvalue'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:437: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:440: undefined reference to `sem_getvalue'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:442: undefined reference to `sem_post'
src/frotz_curses.a(ux_audio.o): In function `playaiff':
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:548: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:555: undefined reference to `sf_open_fd'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:566: undefined reference to `src_new'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:567: undefined reference to `src_strerror'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:582: undefined reference to `sem_wait'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:587: undefined reference to `sf_readf_float'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:595: undefined reference to `src_process'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:596: undefined reference to `src_strerror'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:617: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:629: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:645: undefined reference to `sf_close'
src/frotz_curses.a(ux_audio.o): In function `playmusic':
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:663: undefined reference to `sem_post'
src/frotz_curses.a(ux_audio.o): In function `playmod':
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:704: undefined reference to `ModPlug_GetSettings'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:715: undefined reference to `ModPlug_SetSettings'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:720: undefined reference to `ModPlug_Load'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:729: undefined reference to `ModPlug_SetMasterVolume'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:736: undefined reference to `sem_wait'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:742: undefined reference to `ModPlug_Read'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:746: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:753: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:755: undefined reference to `ModPlug_Unload'
src/frotz_curses.a(ux_audio.o): In function `playogg':
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:821: undefined reference to `ov_open_callbacks'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:826: undefined reference to `ov_info'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:839: undefined reference to `ov_pcm_total'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:845: undefined reference to `sem_wait'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:850: undefined reference to `ov_read'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:864: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:871: undefined reference to `sem_post'
/home/homeassistant/WORK/frotz/src/curses/ux_audio.c:873: undefined reference to `ov_clear'
collect2: error: ld returned 1 exit status
Makefile:156: recipe for target 'frotz' failed
make: *** [frotz] Error 1
Don't stress too hard if you don;t see it like I said I was able to compile it just seemed odd on a pretty stock distro.
That "Copyright (C) 2017 Free Software Foundation, Inc." bit means it is GCC, whatever Ubuntu may claim (-: .
Does the build still fail if you run make PREFIX=/usr, out of curiosity (for the record, it doesn't fail here regardless of specifying the prefix, but just in the interest of tracking this down...)
Oh, yeah, duh. And no same failure
tschmidty69, I've submitted a pull request for a commit that adds the various -llibs to LDFLAGS rather than CFLAGS; adding them to CFLAGS was my mistake in the first place. Does that patch fix it for you?
It didn't but that was the right thing to do, I just submitted a small PR that just moves the ldflags and curses to the end of the line and everything compiles fine for me now.
@tschmidty69, I just merged your changes. Would you please verify that things are working for you now?
Sorry this took so long to get back to you (traveling for the last few weeks), but yes everything compiled perfectly using the master branch.
Standard compile after moving just -lcurses to the end still failed
Was able to compile manually wiht this line and everything worked well