Build errors on powerpc macos

I've tried to build racket on two different powerpc macs and so far have not been successful. Is there a minimum macos or xcode version that I need? Should I build BC or CS variants?

I'm building from the official racket-8.13-minimal-src.tgz distribution.

First machine:
Powerbook G4 running 10.3.3
Numerous errors here with both CS and BC, so I think the OS is probably just too old.

Second machine:
Mac mini G4 running 10.4.11
GCC version 4.0.1
Ran configure with default options
Build fails with a libtool error:

bin/zuo . all MAKE="make"
cs/c/ChezScheme/boot/tppc32osx/petite.boot is up to date
cs/c/ChezScheme/tppc32osx/bin/tppc32osx/scheme is up to date
cs/c/ChezScheme/tppc32osx/bin/tppc32osx/petite is up to date
cs/c/ChezScheme/tppc32osx/s/bootstrap is up to date
cs/c/check-bootstrap-same-stamp is up to date
cs/c/racket.boot is up to date
gcc -DOS_X -g -O2 -Wall -o cs/c/Racket.framework/Versions/8.13_CS/Racket cs/c/boot.o cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a cs/c/ChezScheme/tppc32osx/zlib/libz.a cs/c/ChezScheme/tppc32osx/lz4/lib/liblz4.a cs/c/rktio/librktio.a -Wl,-headerpad_max_install_names -dynamiclib -all_load -install_name Racket.framework/Versions/8.13_CS/Racket -ldl -lm  -framework CoreFoundation -liconv  -lncurses
ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_G (size 8056)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_abnormal_exit_proc (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_alloc_mutex (size 52)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_alloc_mutex_depth (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_boot_time (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_checkheap (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_checkheap_errors (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_child_processes (size 32)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_chunks (size 36)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_chunks_full (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_code_chunks (size 36)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_code_chunks_full (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_collect_cond (size 28)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_collect_thread0_cond (size 28)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_collect_waiting_tcs (size 64)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_collect_waiting_threads (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_errors_to_console (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_foreign_dynamic (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_main_thread_id (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_nthreads (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_num_preserve_ownership_threads (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_pagesize (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_segment_info (size 2097152)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_tc_key (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_tc_mutex (size 52)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_tc_mutex_depth (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_terminated_cond (size 28)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_threads (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _S_vfasl_boot_mode (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _Sdefaultheapdirs (size 4)
cs/c/ChezScheme/tppc32osx/boot/tppc32osx/libkernel.a(statics.o) definition of common _Sschemeheapdirs (size 4)
/usr/bin/libtool: internal link edit command failed
compile failed
 in build-one
 in loop
 in module->hash
make: *** [all] Error 1

Although I've built on a PowerPC Mac relatively recently, it was with Mac OS 10.5. I vaguely recall that I had to upgrade to 10.5 years ago because 10.4 was too old to be practical, but I'm not sure I remember correctly.

I can probably install 10.5 on one of my machines. It is good to have confirmation that it should work. I'll update this thread when I get a chance to try it.

I'm almost there. Racket-minimal builds on Mac OS 10.5. I also have the replacement openssl libs from libs/racket-ppc-macosx-3/racket at master · racket/libs · GitHub.

My issue now(I think) is that the I don't have valid CA certificates for openssl. I tried copying certs from a linux box and putting them in /System/Library/OpenSSL/certs but it made no difference. I also tried setting SSL_CERT_DIR. I'm not sure where this openssl library is looking for the certs. I realize this is not a Racket issue but anyone know the solution here?

Macintosh:bin jonathan$ ./raco pkg update --auto racket-libInferred package scope: installation
Resolving "racket-lib" via https://download.racket-lang.org/releases/8.13/catalog/
ssl-connect: connect failed (error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed)
  context...:
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/openssl/mzssl.rkt:369:0: error/network
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/openssl/mzssl.rkt:1438:0: wrap-ports
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/racket/contract/private/arrow-val-first.rkt:555:3
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/net/http-client.rkt:67:0: http-conn-open!
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/net/http-client.rkt:274:0: http-conn-open
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/racket/contract/private/arrow-val-first.rkt:555:3
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/net/url.rkt:201:0: http://getpost-impure-port
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/net/url.rkt:304:0: get-pure-port/headers
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/racket/contract/private/arrow-val-first.rkt:555:3
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/pkg/private/network.rkt:59:3
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/pkg/private/catalog.rkt:218:0: read-from-server
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/pkg/private/catalog.rkt:135:2: lookup-normally
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/pkg/private/stage.rkt:62:2: lookup-normally
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/pkg/private/prefetch.rkt:129:4
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/pkg/private/prefetch.rkt:128:2
   /Users/jonathan/Public/ppc racket/racket-8.13/collects/pkg/private/../../racket/match/compiler.rkt:559:40: f569
   ...

I forgot about that problem. My solution here has been to set the PLT_PKG_SSL_NO_VERIFY and GIT_SSL_NO_VERIFY environment variables.

Those environment variables did the trick. I now have racket built and running on a Mac Mini G4! Thanks for all the help.