[GH-ISSUE #32] Cannot compile under m68k (OpenTransport undefined) #29

Closed
opened 2026-05-05 03:33:16 -06:00 by gitea-mirror · 11 comments
Owner

Originally created by @IoIxD on GitHub (Feb 28, 2025).
Original GitHub issue: https://github.com/cy384/ssheven/issues/32

Trying to compile the 68k version of ssheven results in linker errors on my end regarding pretty much all of OpenTransport.

Log output

I imagine I have something misconfigured (did I get the wrong download for the Interfaces and Libraries? Is MPW_fully_updated.sit from the Macintosh Garden not good?) but I'm not sure what. The PowerPC version compiles just fine, but not this one.

Originally created by @IoIxD on GitHub (Feb 28, 2025). Original GitHub issue: https://github.com/cy384/ssheven/issues/32 Trying to compile the 68k version of ssheven results in linker errors on my end regarding pretty much all of OpenTransport. [Log output](https://hastebin.com/share/ajatekoqaf.bash) I imagine I have something misconfigured (did I get the wrong download for the Interfaces and Libraries? Is `MPW_fully_updated.sit` from the Macintosh Garden not good?) but I'm not sure what. The PowerPC version compiles just fine, but not this one.
Author
Owner

@cy384 commented on GitHub (Feb 28, 2025):

That sounds like the 68k libs are missing from your retro68 install. I got my copy from http://old.mac.gdn/apps/mpw-gm.img__0.bin and used basilisk with a shared file mount to copy the files out. Note that you need to have the resource forks preserved:

Especially on non-macOS platforms, make sure that the Mac resource fork of the PowerPC library files is included in a format recognized by Retro68. Recognized formats include MacBinary II (e.g., Interfacelib.bin), AppleDouble (._InterfaceLib or %InterfaceLib) or Basilisk/Sheepshaver resource forks (.rsrc/InterfaceLib).

I believe the PPC data is stored in the data fork (doesn't get lost easily) while the 68k data is stored in the resource fork (does get lost easily).

<!-- gh-comment-id:2691133078 --> @cy384 commented on GitHub (Feb 28, 2025): That sounds like the 68k libs are missing from your retro68 install. I got my copy from http://old.mac.gdn/apps/mpw-gm.img__0.bin and used basilisk with a shared file mount to copy the files out. Note that you need to have the resource forks preserved: > Especially on non-macOS platforms, make sure that the Mac resource fork of the PowerPC library files is included in a format recognized by Retro68. Recognized formats include MacBinary II (e.g., Interfacelib.bin), AppleDouble (._InterfaceLib or %InterfaceLib) or Basilisk/Sheepshaver resource forks (.rsrc/InterfaceLib). I believe the PPC data is stored in the data fork (doesn't get lost easily) while the 68k data is stored in the resource fork (does get lost easily).
Author
Owner

@IoIxD commented on GitHub (Feb 28, 2025):

Well in this case the library files are just archive files right? You might need the rforks for some files but not these ones.

<!-- gh-comment-id:2691149877 --> @IoIxD commented on GitHub (Feb 28, 2025): Well in this case the library files are just archive files right? You might need the rforks for some files but not these ones.
Author
Owner

@cy384 commented on GitHub (Feb 28, 2025):

oh, I forget if it has one set of files for both or if there are actually separate library files for the two platforms

<!-- gh-comment-id:2691158992 --> @cy384 commented on GitHub (Feb 28, 2025): oh, I forget if it has one set of files for both or if there are actually separate library files for the two platforms
Author
Owner

@cy384 commented on GitHub (Feb 28, 2025):

I haven't tried it, but there's a script included with retro68 that can extract the files appropriately from a disk image: https://github.com/autc04/Retro68/blob/master/install-universal-interfaces.sh

<!-- gh-comment-id:2691188804 --> @cy384 commented on GitHub (Feb 28, 2025): I haven't tried it, but there's a script included with retro68 that can extract the files appropriately from a disk image: https://github.com/autc04/Retro68/blob/master/install-universal-interfaces.sh
Author
Owner

@IoIxD commented on GitHub (Feb 28, 2025):

Downloading from your source and then using the script (which seems to have given me what was given earlier) did not work. I can actually test with nm to confirm nothing shows up.

➜  Retro68 nm ./toolchain/m68k-apple-macos/lib/libOpenTransport.a | grep OTBind
➜  Retro68 # nothing  

I'll look into the rfork thing.

<!-- gh-comment-id:2691653991 --> @IoIxD commented on GitHub (Feb 28, 2025): Downloading from your source and then using the script (which seems to have given me what was given earlier) did not work. I can actually test with `nm` to confirm nothing shows up. ```sh ➜ Retro68 nm ./toolchain/m68k-apple-macos/lib/libOpenTransport.a | grep OTBind ➜ Retro68 # nothing ``` I'll look into the rfork thing.
Author
Owner

@IoIxD commented on GitHub (Feb 28, 2025):

Actually are you able/willing to give me your copy of InterfacesAndLibraries so that I don't have to dig out my brother's Macbook and extract it there?

<!-- gh-comment-id:2691657514 --> @IoIxD commented on GitHub (Feb 28, 2025): Actually are you able/willing to give me your copy of InterfacesAndLibraries so that I don't have to dig out my brother's Macbook and extract it there?
Author
Owner

@cy384 commented on GitHub (Mar 1, 2025):

Actually are you able/willing to give me your copy of InterfacesAndLibraries so that I don't have to dig out my brother's Macbook and extract it there?

http://www.cy384.com/media/bin/InterfacesAndLibraries.zip

<!-- gh-comment-id:2691817018 --> @cy384 commented on GitHub (Mar 1, 2025): > Actually are you able/willing to give me your copy of InterfacesAndLibraries so that I don't have to dig out my brother's Macbook and extract it there? http://www.cy384.com/media/bin/InterfacesAndLibraries.zip
Author
Owner

@IoIxD commented on GitHub (Mar 1, 2025):

Will try tomorrow, thanks!

<!-- gh-comment-id:2691951863 --> @IoIxD commented on GitHub (Mar 1, 2025): Will try tomorrow, thanks!
Author
Owner

@IoIxD commented on GitHub (Mar 2, 2025):

...embarrassingly I don't know what I was hoping to accomplish when I asked for this after establishing that it was an issue with rforks.

I should have asked if you can give me the translated archive files that go in the toolchain folder, since those don't have missing information I have to worry about.

<!-- gh-comment-id:2692528787 --> @IoIxD commented on GitHub (Mar 2, 2025): ...embarrassingly I don't know what I was hoping to accomplish when I asked for this after establishing that it was an issue with rforks. I should have asked if you can give me the translated archive files that go in the `toolchain` folder, since those don't have missing information I have to worry about.
Author
Owner

@cy384 commented on GitHub (Mar 2, 2025):

I develop on linux, so those files should work fine on any OS regardless of resource fork filesystem support. Alternately, here's the 'processed' version that the build process assembles; extract as a folder called "universal" in the folder called "toolchain".

http://www.cy384.com/media/bin/universal.zip

<!-- gh-comment-id:2692755230 --> @cy384 commented on GitHub (Mar 2, 2025): I develop on linux, so those files should work fine on any OS regardless of resource fork filesystem support. Alternately, here's the 'processed' version that the build process assembles; extract as a folder called "universal" in the folder called "toolchain". http://www.cy384.com/media/bin/universal.zip
Author
Owner

@IoIxD commented on GitHub (Mar 2, 2025):

Well, this works for your project.

Funny thing though...I actually didn't have interest in building this project. I was trying to use your port of libssh2/mbedtls to make an SFTP client. And after doing this, that project still gets linker errors...weird...

I wonder what I'm doing differently?

Other then that I guess I'll close since it's not an issue of the repo anymore.

<!-- gh-comment-id:2692852762 --> @IoIxD commented on GitHub (Mar 2, 2025): Well, this works for your project. Funny thing though...I actually didn't have interest in building this project. I was trying to use your port of libssh2/mbedtls to make an SFTP client. And after doing this, that project still gets linker errors...weird... I wonder what I'm [doing](https://github.com/PowerMacTools/PowerBoot/blob/master/CMakeLists.txt) [differently](https://github.com/PowerMacTools/PowerBoot/blob/master/build.sh)? Other then that I guess I'll close since it's not an issue of the repo anymore.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/ssheven#29
No description provided.