Compiling DC Load/DC Tool

If you have any questions on programming, this is the place to ask them, whether you're a newbie or an experienced programmer. Discussion on programming in general is also welcome. We will help you with programming homework, but we will not do your work for you! Any porting requests must be made in Developmental Ideas.
Post Reply
KeithIrwin
DCEmu Fast Newbie
DCEmu Fast Newbie
Posts: 25
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Sun Mar 21, 2004 10:14 pm
Has thanked: 0
Been thanked: 0

Compiling DC Load/DC Tool

Post by KeithIrwin »

I know that at least a couple of people on here have gotten DC Load and DC Tool to compile on OS X. When I try to do a make, I get an error becuase it can't find bfd.h. Anyone know what to do about this? I tried both downloading and building binutils for OS X and for elf-sh. Neither helped in the slightest. Any help would be appreciated.

Oh, and precompiled binaries aren't going to work for me because I'm planning to try to modify them to use the modem and then recompile them. Obviously, I don't know how successful I'll be with this, but I'd like to give it a try.

Keith Irwin
User avatar
greay
DCEmu Ultra Poster
DCEmu Ultra Poster
Posts: 1938
Joined: Wed Jan 21, 2004 10:59 am
Location: 24 hours from Tulsa
Has thanked: 0
Been thanked: 0
Contact:

Post by greay »

ahh, you'll have to go into binutils and make bfd itself, I think. It's the sh-elf one you need; bfd /is/ part of binutils. It doesn't build by default. It'll probably get put in a directory called "foo/powerpc-apple-darwin7.2.0/sh-elf/include", which you'll need to put in the Makefile.cfg

EDIT: oh, after you get this workd out, you'll run into this problem:

Code: Select all

syscalls.c: In function `dc_readdir':
syscalls.c:320: error: structure has no member named `d_off'
I "fixed" this by commenting out the offending line and changing it, thus:

Code: Select all

//      send_uint(somedirent->d_off);
        send_uint(0);
Seeing as how I've /built/ it, but haven't been able to get my coder's cable to work, I don't know if that's "proper". Good luck.
KeithIrwin
DCEmu Fast Newbie
DCEmu Fast Newbie
Posts: 25
Joined: Sun Mar 21, 2004 10:14 pm
Has thanked: 0
Been thanked: 0

Post by KeithIrwin »

Just to put the information out there in case anyone else is trying to figure things out, the way to get it to build bfd is to pass the --enable-shared flag to configure. I should really have rtfm'ed a little earlier, but my reading on the internet lead me to think that bfd compiled automatically in bintools, so it just didn't occur to me that a configure flag might be necessary.

I saw the d_off thing in the stickied thread. I may deal with it differently. I need to do some understanding the code anyway, so I'll likely try to figure out why it is happening rather than going with the quick fix.

Keith
KeithIrwin
DCEmu Fast Newbie
DCEmu Fast Newbie
Posts: 25
Joined: Sun Mar 21, 2004 10:14 pm
Has thanked: 0
Been thanked: 0

Post by KeithIrwin »

After looking it over, I decided that your solution is the correct one. If the windows implementation sends along 0's for directory entries which it does not have, it makes sense that other implementations should do the same. I did bracket it in #ifdef __APPLE__ for portability, but I did the same fix that you did.

I also had to go find libintl on my system and add it to the Makefile paths since it was not being included by default. This was leading to an unfufilled symbol "dcgettext" which confused me greatly because I was assuming that it was some dreamcast-specific function but I couldn't find where it was being referenced in the code. I figured it out, though, and now I have compiled DC Tool and DC Load. Next I'll see if I can get them to work over the modem. I'm guardedly optimistic about the process. I'll let you guys know how it works out.

Keith
Post Reply