Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#59651 closed defect (fixed)

platypus @5.3: Undefined symbols: _objc_loadClassref

Reported by: i0ntempest Owned by: amake (Aaron Madlon-Kay)
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc:
Port: platypus

Description

build log attached.

Attachments (1)

main.log (89.2 KB) - added by i0ntempest 4 years ago.

Download all attachments as: .zip

Change History (9)

Changed 4 years ago by i0ntempest

Attachment: main.log added

comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: amake removed
Owner: set to amake
Status: newassigned
Summary: platypus @5.3 build fails on macOS 10.14, Xcode 11.2platypus @5.3: Undefined symbols: _objc_loadClassref

The error seems to be:

:info:build Undefined symbols for architecture x86_64:
:info:build   "_objc_loadClassref", referenced from:
:info:build       __ARCLite__load() in libarclite_macosx.a(arclite.o)
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

I see from the log that you're on 10.14 with Xcode 11.2 and your deployment target is set to 10.14, but the port is overriding the deployment target to 10.8. In general, ports should not override the user's deployment target choice.

Googling, I see other reports of this problem occurring as of Xcode 11. It says using a newer deployment target avoids this problem. So you could try removing the deployment target override from the portfile.

comment:2 Changed 4 years ago by amake (Aaron Madlon-Kay)

comment:3 Changed 4 years ago by i0ntempest

Appreciate the info. I just found out it does build if I change deployment target to 10.10. Since no one really uses <10.10 anymore (and people who do should all have Xcode <11), I'd say the best solution to this is change the target to 10.10 if Xcode is >=11. What do you say?

comment:4 Changed 4 years ago by amake (Aaron Madlon-Kay)

I agree that we should bump the target under some condition, but I'd rather be more specific, since targeting 10.8 works fine for me on macOS 10.15 with Xcode 11.2. And given the nature of this app, the earlier we can target the better.

So is it ${os.major} < 19 && [vercmp ${xcodeversion} 11] >= 0?

comment:5 Changed 4 years ago by i0ntempest

Yea that's prolly the best option for now.

comment:6 Changed 4 years ago by Aaron Madlon-Kay <amake@…>

Resolution: fixed
Status: assignedclosed

In 6655bf98428d7cbf8c3c9f946a85510e3f22244b/macports-ports (master):

Platypus: fix build on macOS 10.14 with Xcode 11

Fixes #59651

comment:7 Changed 4 years ago by i0ntempest

Okay this is awkward, actually I need to target 10.11 for it to build. I probably made a typo when editing my portfile yesterday... sorry for that.

comment:8 Changed 4 years ago by Aaron Madlon-Kay <amake@…>

In ea0caadac25cf385b7230cf87b2f48565ccadc95/macports-ports (master):

Platypus: fix deployment target for macOS 10.14 with Xcode 11

See #59651

Note: See TracTickets for help on using tickets.