Skip to content

Instantly share code, notes, and snippets.

@barbeque
Created November 6, 2018 21:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save barbeque/38127addfc43d1eab028d4a4ac3fbcd4 to your computer and use it in GitHub Desktop.
Save barbeque/38127addfc43d1eab028d4a4ac3fbcd4 to your computer and use it in GitHub Desktop.
m88 linker errors - not too many right?
SuperMactendo:M88p2 mike$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++ -o src/pc88/base src/pc88/base.o src/pc88/beep.o src/pc88/calender.o src/pc88/crtc.o src/pc88/diskmgr.o src/pc88/fdc.o src/pc88/fdu.o src/pc88/floppy.o src/pc88/intc.o src/pc88/ioview.o src/pc88/joypad.o src/pc88/kanjirom.o src/pc88/memory.o src/pc88/memview.o src/pc88/mouse.o src/pc88/opnif.o src/pc88/pc88.o src/pc88/pd8257.o src/pc88/pio.o src/pc88/screen.o src/pc88/sio.o src/pc88/sound.o src/pc88/subsys.o src/pc88/tapemgr.o
Undefined symbols for architecture x86_64:
"DeviceList::Add(IDevice*)", referenced from:
PC88::ConnectDevices() in pc88.o
"DeviceList::Find(unsigned int)", referenced from:
PC88::IsCDSupported() in pc88.o
"DeviceList::~DeviceList()", referenced from:
PC88::PC88() in pc88.o
PC88::~PC88() in pc88.o
"StatusDisplay::WaitSubSys()", referenced from:
PC8801::SubSystem::M_Read2(unsigned int) in subsys.o
PC8801::SubSystem::IsBusy() in subsys.o
"StatusDisplay::UpdateDisplay()", referenced from:
PC88::VSync() in pc88.o
"StatusDisplay::Show(int, int, char const*, ...)", referenced from:
PC8801::Base::Reset(unsigned int, unsigned int) in base.o
DiskImageHolder::Open(char const*, bool, bool) in diskmgr.o
DiskImageHolder::ReadHeaders() in diskmgr.o
DiskManager::Unmount(unsigned int) in diskmgr.o
DiskManager::Mount(unsigned int, char const*, bool, int, bool) in diskmgr.o
DiskManager::ReadDiskImage(FileIO*, DiskManager::Drive*) in diskmgr.o
DiskManager::ReadDiskImageRaw(FileIO*, DiskManager::Drive*) in diskmgr.o
...
"StatusDisplay::FDAccess(unsigned int, bool, bool)", referenced from:
PC8801::FDC::Reset(unsigned int, unsigned int) in fdc.o
PC8801::FDC::DriveControl(unsigned int, unsigned int) in fdc.o
PC8801::FDC::ShiftToIdlePhase() in fdc.o
PC8801::FDC::ShiftToCommandPhase(int) in fdc.o
PC8801::FDC::LoadStatus(unsigned char const*) in fdc.o
"ReadMemManager::Init(unsigned int, MemoryPage*)", referenced from:
MemoryManager::Init(unsigned int, MemoryPage*, MemoryPage*) in pc88.o
"ReadMemManager::Read8P(unsigned int, unsigned int)", referenced from:
MemoryManager::Read8P(unsigned int, unsigned int) in base.o
MemoryManager::Read8P(unsigned int, unsigned int) in crtc.o
MemoryManager::Read8P(unsigned int, unsigned int) in ioview.o
MemoryManager::Read8P(unsigned int, unsigned int) in memory.o
MemoryManager::Read8P(unsigned int, unsigned int) in memview.o
MemoryManager::Read8P(unsigned int, unsigned int) in mouse.o
MemoryManager::Read8P(unsigned int, unsigned int) in pc88.o
...
"WriteMemManager::Init(unsigned int, MemoryPage*)", referenced from:
MemoryManager::Init(unsigned int, MemoryPage*, MemoryPage*) in pc88.o
"WriteMemManager::Write8P(unsigned int, unsigned int, unsigned int)", referenced from:
MemoryManager::Write8P(unsigned int, unsigned int, unsigned int) in base.o
MemoryManager::Write8P(unsigned int, unsigned int, unsigned int) in crtc.o
MemoryManager::Write8P(unsigned int, unsigned int, unsigned int) in ioview.o
MemoryManager::Write8P(unsigned int, unsigned int, unsigned int) in memory.o
MemoryManager::Write8P(unsigned int, unsigned int, unsigned int) in memview.o
MemoryManager::Write8P(unsigned int, unsigned int, unsigned int) in mouse.o
MemoryManager::Write8P(unsigned int, unsigned int, unsigned int) in pc88.o
...
"MemoryManagerBase::Disconnect(unsigned int)", referenced from:
MemoryManager::Disconnect(unsigned int) in base.o
MemoryManager::Disconnect(unsigned int) in crtc.o
MemoryManager::Disconnect(unsigned int) in ioview.o
MemoryManager::Disconnect(unsigned int) in memory.o
MemoryManager::Disconnect(unsigned int) in memview.o
MemoryManager::Disconnect(unsigned int) in mouse.o
MemoryManager::Disconnect(unsigned int) in pc88.o
...
"MemoryManagerBase::Connect(void*, bool)", referenced from:
MemoryManager::Connect(void*, bool) in base.o
MemoryManager::Connect(void*, bool) in crtc.o
MemoryManager::Connect(void*, bool) in ioview.o
MemoryManager::Connect(void*, bool) in memory.o
MemoryManager::Connect(void*, bool) in memview.o
MemoryManager::Connect(void*, bool) in mouse.o
MemoryManager::Connect(void*, bool) in pc88.o
...
"MemoryManagerBase::MemoryManagerBase()", referenced from:
ReadMemManager::ReadMemManager() in pc88.o
WriteMemManager::WriteMemManager() in pc88.o
"MemoryManagerBase::~MemoryManagerBase()", referenced from:
ReadMemManager::~ReadMemManager() in pc88.o
WriteMemManager::~WriteMemManager() in pc88.o
"SamplingRateConverter::Fill(int)", referenced from:
PC8801::Sound::Update(ISoundSource*) in sound.o
"SamplingRateConverter::Init(SoundSourceL*, int, unsigned long)", referenced from:
PC8801::Sound::SetRate(unsigned int, int) in sound.o
"SamplingRateConverter::Cleanup()", referenced from:
PC8801::Sound::Cleanup() in sound.o
PC8801::Sound::SetRate(unsigned int, int) in sound.o
"SamplingRateConverter::SamplingRateConverter()", referenced from:
PC8801::Sound::Sound() in sound.o
"SamplingRateConverter::~SamplingRateConverter()", referenced from:
PC8801::Sound::~Sound() in sound.o
"FM::OPNA::SetVolumeADPCM(int)", referenced from:
PC8801::OPNIF::SetVolume(PC8801::Config const*) in opnif.o
"FM::OPNA::SetVolumeRhythm(int, int)", referenced from:
PC8801::OPNIF::SetVolume(PC8801::Config const*) in opnif.o
"FM::OPNA::SetVolumeRhythmTotal(int)", referenced from:
PC8801::OPNIF::SetVolume(PC8801::Config const*) in opnif.o
"FM::OPNA::Mix(int*, int)", referenced from:
PC8801::OPNIF::Mix(int*, int) in opnif.o
"FM::OPNA::Init(unsigned int, unsigned int, bool, char const*)", referenced from:
PC8801::OPNIF::Init(IOBus*, int, int, Scheduler*) in opnif.o
"FM::OPNA::Reset()", referenced from:
PC8801::OPNIF::Reset(unsigned int, unsigned int) in opnif.o
vtable for PC8801::OPNIF::OPNUnit in opnif.o
"FM::OPNA::GetReg(unsigned int)", referenced from:
PC8801::OPNIF::ReadData0(unsigned int) in opnif.o
PC8801::OPNIF::ReadData1(unsigned int) in opnif.o
"FM::OPNA::SetReg(unsigned int, unsigned int)", referenced from:
PC8801::OPNIF::SetRate(unsigned int) in opnif.o
PC8801::OPNIF::SetIndex0(unsigned int, unsigned int) in opnif.o
PC8801::OPNIF::WriteData0(unsigned int, unsigned int) in opnif.o
PC8801::OPNIF::WriteData1(unsigned int, unsigned int) in opnif.o
PC8801::OPNIF::LoadStatus(unsigned char const*) in opnif.o
"FM::OPNA::SetRate(unsigned int, unsigned int, bool)", referenced from:
PC8801::OPNIF::SetRate(unsigned int) in opnif.o
"FM::OPNA::OPNA()", referenced from:
PC8801::OPNIF::OPNUnit::OPNUnit() in opnif.o
"FM::OPNA::~OPNA()", referenced from:
PC8801::OPNIF::OPNUnit::~OPNUnit() in opnif.o
"FM::Timer::GetNextEvent()", referenced from:
PC8801::OPNIF::UpdateTimer() in opnif.o
"FM::Timer::Count(int)", referenced from:
PC8801::OPNIF::TimeEvent(unsigned int) in opnif.o
"FM::OPNBase::SetVolumeFM(int)", referenced from:
PC8801::OPNIF::SetVolume(PC8801::Config const*) in opnif.o
"FM::OPNBase::TimerA()", referenced from:
vtable for PC8801::OPNIF::OPNUnit in opnif.o
"FM::OPNABase::ResetStatus(unsigned int)", referenced from:
vtable for PC8801::OPNIF::OPNUnit in opnif.o
"FM::OPNABase::ReadStatusEx()", referenced from:
PC8801::OPNIF::ReadStatusEx(unsigned int) in opnif.o
"FM::OPNABase::SetStatus(unsigned int)", referenced from:
vtable for PC8801::OPNIF::OPNUnit in opnif.o
"PSG::SetVolume(int)", referenced from:
FM::OPNBase::SetVolumePSG(int) in opnif.o
"Z80C::ExecSingle(Z80C*, Z80C*, int)", referenced from:
PC88::Execute(int) in pc88.o
"Z80C::currentcpu", referenced from:
Z80C::StopDual(int) in pc88.o
Z80C::GetCCount() in pc88.o
"Z80C::Init(MemoryManager*, IOBus*, int)", referenced from:
PC88::ConnectDevices() in pc88.o
PC88::ConnectDevices2() in pc88.o
"Z80C::Stop(int)", referenced from:
Z80C::StopDual(int) in pc88.o
"Z80C::ExecDual(Z80C*, Z80C*, int)", referenced from:
PC88::Execute(int) in pc88.o
"Z80C::ExecDual2(Z80C*, Z80C*, int)", referenced from:
PC88::Execute(int) in pc88.o
"Z80C::Z80C(unsigned int const&)", referenced from:
PC88::PC88() in pc88.o
"Z80C::~Z80C()", referenced from:
PC88::PC88() in pc88.o
PC88::~PC88() in pc88.o
"Error::SetError(Error::Errno)", referenced from:
PC8801::CRTC::Init(IOBus*, Scheduler*, PC8801::PD8257*, Draw*) in crtc.o
PC8801::Memory::InitMemory() in memory.o
"IOBus::In(unsigned int)", referenced from:
PC88::Reset() in pc88.o
"IOBus::Out(unsigned int, unsigned int)", referenced from:
PC8801::Base::RTC(unsigned int) in base.o
PC8801::Base::VRTC(unsigned int, unsigned int) in base.o
PC88::Reset() in pc88.o
PC88::TimeSync() in pc88.o
"IOBus::Init(unsigned int, DeviceList*)", referenced from:
PC88::Init(Draw*, DiskManager*, TapeManager*) in pc88.o
"IOBus::Connect(IDevice*, IIOBus::Connector const*)", referenced from:
PC88::ConnectDevices() in pc88.o
PC88::ConnectDevices2() in pc88.o
"IOBus::IOBus()", referenced from:
PC88::PC88() in pc88.o
"IOBus::~IOBus()", referenced from:
PC88::PC88() in pc88.o
PC88::~PC88() in pc88.o
"FileIO::SetEndOfFile()", referenced from:
DiskImageHolder::SetDiskSize(int, int) in diskmgr.o
"FileIO::Open(char const*, unsigned int)", referenced from:
PC8801::CRTC::LoadFontFile() in crtc.o
DiskImageHolder::Open(char const*, bool, bool) in diskmgr.o
PC8801::Memory::LoadROM() in memory.o
PC8801::Memory::LoadOptROM(char const*, unsigned char*&, int) in memory.o
PC8801::Memory::LoadROMImage(unsigned char*, char const*, int) in memory.o
PC8801::SubSystem::LoadROM() in subsys.o
TapeManager::Open(char const*) in tapemgr.o
...
"FileIO::Read(void*, int)", referenced from:
PC8801::CRTC::LoadFontFile() in crtc.o
DiskImageHolder::ReadHeaders() in diskmgr.o
DiskImageHolder::SetDiskSize(int, int) in diskmgr.o
DiskManager::ReadDiskImage(FileIO*, DiskManager::Drive*) in diskmgr.o
DiskManager::ReadDiskImageRaw(FileIO*, DiskManager::Drive*) in diskmgr.o
PC8801::KanjiROM::Init(char const*) in kanjirom.o
PC8801::Memory::LoadROM() in memory.o
...
"FileIO::Seek(int, FileIO::SeekMethod)", referenced from:
PC8801::CRTC::LoadFontFile() in crtc.o
DiskImageHolder::ReadHeaders() in diskmgr.o
DiskImageHolder::AddDisk(char const*, unsigned int) in diskmgr.o
DiskImageHolder::SetDiskSize(int, int) in diskmgr.o
DiskManager::Mount(unsigned int, char const*, bool, int, bool) in diskmgr.o
DiskManager::ReadDiskImage(FileIO*, DiskManager::Drive*) in diskmgr.o
DiskManager::WriteDiskImage(FileIO*, DiskManager::Drive*) in diskmgr.o
...
"FileIO::Close()", referenced from:
DiskImageHolder::Close() in diskmgr.o
"FileIO::Tellp()", referenced from:
DiskImageHolder::ReadHeaders() in diskmgr.o
"FileIO::Write(void const*, int)", referenced from:
DiskImageHolder::AddDisk(char const*, unsigned int) in diskmgr.o
DiskImageHolder::SetDiskSize(int, int) in diskmgr.o
DiskManager::WriteDiskImage(FileIO*, DiskManager::Drive*) in diskmgr.o
DiskManager::WriteTrackImage(FileIO*, DiskManager::Drive*, int) in diskmgr.o
"FileIO::FileIO(char const*, unsigned int)", referenced from:
PC8801::KanjiROM::Init(char const*) in kanjirom.o
"FileIO::FileIO()", referenced from:
PC8801::CRTC::LoadFontFile() in crtc.o
DiskImageHolder::DiskImageHolder() in diskmgr.o
PC8801::Memory::LoadROM() in memory.o
PC8801::Memory::LoadOptROM(char const*, unsigned char*&, int) in memory.o
PC8801::Memory::LoadROMImage(unsigned char*, char const*, int) in memory.o
PC8801::SubSystem::LoadROM() in subsys.o
TapeManager::Open(char const*) in tapemgr.o
...
"FileIO::~FileIO()", referenced from:
PC8801::CRTC::LoadFontFile() in crtc.o
DiskImageHolder::~DiskImageHolder() in diskmgr.o
PC8801::KanjiROM::Init(char const*) in kanjirom.o
PC8801::Memory::LoadROM() in memory.o
PC8801::Memory::LoadOptROM(char const*, unsigned char*&, int) in memory.o
PC8801::Memory::LoadROMImage(unsigned char*, char const*, int) in memory.o
PC8801::SubSystem::LoadROM() in subsys.o
...
"Piccolo::GetInstance()", referenced from:
PC8801::OPNIF::Init(IOBus*, int, int, Scheduler*) in opnif.o
"Piccolo::GetCurrentTime()", referenced from:
PC8801::OPNIF::Sync(unsigned int, unsigned int) in opnif.o
"Piccolo::GetChip(PICCOLO_CHIPTYPE, PiccoloChip**)", referenced from:
PC8801::OPNIF::Init(IOBus*, int, int, Scheduler*) in opnif.o
"MemoryBus::Init(unsigned int, MemoryBus::Page*)", referenced from:
PC8801::MemoryViewer::Init(PC88*) in memview.o
"MemoryBus::MemoryBus()", referenced from:
PC8801::MemoryViewer::MemoryViewer() in memview.o
"MemoryBus::~MemoryBus()", referenced from:
PC8801::MemoryViewer::~MemoryViewer() in memview.o
"Scheduler::Init()", referenced from:
PC88::Init(Draw*, DiskManager*, TapeManager*) in pc88.o
"Scheduler::Proceed(int)", referenced from:
PC88::Proceed(unsigned int, unsigned int, unsigned int) in pc88.o
"Scheduler::AddEvent(int, IDevice*, void (IDevice::*)(unsigned int), int, bool)", referenced from:
vtable for PC88 in pc88.o
"Scheduler::DelEvent(SchedulerEvent*)", referenced from:
vtable for PC88 in pc88.o
"Scheduler::DelEvent(IDevice*)", referenced from:
vtable for PC88 in pc88.o
"Scheduler::SetEvent(SchedulerEvent*, int, IDevice*, void (IDevice::*)(unsigned int), int, bool)", referenced from:
vtable for PC88 in pc88.o
"Scheduler::Scheduler()", referenced from:
PC88::PC88() in pc88.o
"Scheduler::~Scheduler()", referenced from:
PC88::PC88() in pc88.o
PC88::~PC88() in pc88.o
"typeinfo for Scheduler", referenced from:
typeinfo for PC88 in pc88.o
"typeinfo for FM::OPNA", referenced from:
typeinfo for PC8801::OPNIF::OPNUnit in opnif.o
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
scons: *** [src/pc88/base] Error 1
scons: building terminated because of errors.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment