sidplayfp
sidplayfp copied to clipboard
Linker error when compiling
Not much to say here, for what it's worth I compiled libsidplayfp from source with --with-exsid as well to see if it made a difference, but no dice. Can't grab libsidplayfp binaries from my package manager, because the binary in pacman is still on 2.9.0
Error logs:
$ autoreconf -i; ./configure; sudo make -j12 install
[...snip...]
g++ -std=c++17 -g -O2 -o src/stilview src/codeConvert.o src/stilview.o -lstilview
g++ -std=c++17 -g -O2 -o src/sidplayfp src/IniConfig.o src/args.o src/keyboard.o src/main.o src/menu.o src/player.o src/utils.o src/codeConvert.o src/audio/AudioDrv.o src/audio/alsa/audiodrv.o src/audio/au/auFile.o src/audio/directx/audiodrv.o src/audio/mmsystem/audiodrv.o src/audio/null/null.o src/audio/oss/audiodrv.o src/audio/out123/audiodrv.o src/audio/pulse/audiodrv.o src/audio/wav/WavFile.o src/ini/iniHandler.o -lsidplayfp -lasound -lpulse-simple -lpulse -pthread -lout123
/usr/bin/ld: src/args.o: in function `ConsolePlayer::displayArgs(char const*)':
/home/aquamarine/src/ext/sidplayfp/src/args.cpp:716:(.text+0xf62): undefined reference to `exSIDBuilder::exSIDBuilder(char const*)'
/usr/bin/ld: /home/aquamarine/src/ext/sidplayfp/src/args.cpp:717:(.text+0xf6a): undefined reference to `exSIDBuilder::availDevices() const'
/usr/bin/ld: /home/aquamarine/src/ext/sidplayfp/src/args.cpp:719:(.text+0xfc4): undefined reference to `exSIDBuilder::~exSIDBuilder()'
/usr/bin/ld: /home/aquamarine/src/ext/sidplayfp/src/args.cpp:719:(.text.unlikely+0x41): undefined reference to `exSIDBuilder::~exSIDBuilder()'
/usr/bin/ld: src/player.o: in function `ConsolePlayer::decodeKeys()':
/home/aquamarine/src/ext/sidplayfp/src/player.cpp:1231:(.text+0xcb5): undefined reference to `sidplayfp::filter(unsigned int, bool)'
/usr/bin/ld: /home/aquamarine/src/ext/sidplayfp/src/player.cpp:1232:(.text+0xcc9): undefined reference to `sidplayfp::filter(unsigned int, bool)'
/usr/bin/ld: /home/aquamarine/src/ext/sidplayfp/src/player.cpp:1233:(.text+0xcdd): undefined reference to `sidplayfp::filter(unsigned int, bool)'
/usr/bin/ld: src/player.o: in function `ConsolePlayer::emuflush()':
/home/aquamarine/src/ext/sidplayfp/src/player.cpp:933:(.text+0x2515): undefined reference to `exSIDBuilder::flush()'
/usr/bin/ld: src/player.o: in function `ConsolePlayer::createSidEmu(SIDEMUS, SidTuneInfo const*)':
/home/aquamarine/src/ext/sidplayfp/src/player.cpp:732:(.text+0x27d8): undefined reference to `exSIDBuilder::exSIDBuilder(char const*)'
/usr/bin/ld: /home/aquamarine/src/ext/sidplayfp/src/player.cpp:736:(.text+0x2801): undefined reference to `exSIDBuilder::create(unsigned int)'
/usr/bin/ld: src/player.o: in function `ConsolePlayer::open()':
/home/aquamarine/src/ext/sidplayfp/src/player.cpp:813:(.text+0x2e55): undefined reference to `sidplayfp::filter(unsigned int, bool)'
/usr/bin/ld: /home/aquamarine/src/ext/sidplayfp/src/player.cpp:814:(.text+0x2e69): undefined reference to `sidplayfp::filter(unsigned int, bool)'
/usr/bin/ld: /home/aquamarine/src/ext/sidplayfp/src/player.cpp:815:(.text+0x2e7d): undefined reference to `sidplayfp::filter(unsigned int, bool)'
/usr/bin/ld: src/player.o: in function `ConsolePlayer::emuflush()':
/home/aquamarine/src/ext/sidplayfp/src/player.cpp:933:(.text+0x2b5): undefined reference to `exSIDBuilder::flush()'
collect2: error: ld returned 1 exit status
make: *** [Makefile:738: src/sidplayfp] Error 1
Do you have multiple versions installed? It looks like you're trying to link against a library without exsid support enabled. Maybe have a look at config.log files for some hints.