-
-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configure breaks linking by manually adding bundle1.o
: duplicate symbol dyld_stub_binding_helper
#1662
Comments
Additional info: Installed macOS from scratch, then installed official command line developer tools (git, ...), then: see also: Line 530 in 74c7861
|
@michaelortmann You could take a look how it is built in MacPorts: https://github.com/macports/macports-ports/blob/master/irc/eggdrop/Portfile (or install directly from MacPorts, if it is an acceptable option). |
Thank you! Also for reference, this Issue is related to #176 |
In Mac OS X 10.4, dlopen was rewritten to be a native part of dyld. See: https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/dlopen.3.html So eggdrop under Darwin / macOS should check, if it can use the dl*() functions load method, or check for macOS version >= 10.4 and in this case prefer the dl*() functions load method over the NS*() and rld_*() functions, and prefer the ld linker flag -shared over -bundle and linking to bundle1.o. |
|
my macOS 13.7.3 also warns about NS* deprecation: gcc -g -O2 -pipe -Wall -I.. -I.. -DHAVE_CONFIG_H -iwithsysroot /System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers -c modules.c |
current eggdrop git compiles fine under my testsystem, if i compile manually, without macports or homebrew: macOS Ventura 13.7.3
Its a vanilla install: only base system + "Command Line Developer Tools" Dynamic loading is hard to get right under macOS, for i only have this single macOS version at hand, and macOS versions evolved around dynamic loading. Looks like current macOS versions do have bundle1.o in pathes that eggdrop doesnt check so the bug is not triggered on current macOS versions. The bug report is for macOS Snow Leopard 10.6 (2009 - 2011) and i never tested older macOS like this before, for they are hard to install under qemu. |
@barracuda156 please can you give #1750 a try? and maybe post the whole configure / make config / make and uname -a info on pastebin for bonus points? merci! |
GCC libraries are not supposed to be linked directly to. Configure specifically adds
bundle
, and that appears to break linking:The text was updated successfully, but these errors were encountered: