tidyverse / vroom

Fast reading of delimited files
https://vroom.r-lib.org
Other
620 stars 60 forks source link

Compilation Issue: MacOSX 14.0 #518

Open ttarler opened 1 year ago

ttarler commented 1 year ago

I am attempting to upgrade vroom from 1.6.3 to 1.6.4, currently using MacOSX 14.0 (Sonoma), R 4.3.1, and Brew managed installation tools (gcc). Installation fails due to a linker error, in particular: ld: Assertion failed: (resultIndex < sectData.atoms.size()), function findAtom, file Relocations.cpp, line 1336. This is likely a result of the new linker implementation in MacOS/Xcode (https://developer.apple.com/forums/thread/737707) - .I have attempted to use Makevars for a workaround and unsuccessful - I believe an edit to the src config files to explicitly use the legacy linker implementation would be a viable workaround

DavisVaughan commented 1 year ago

According to the thread, I think this is more of a Xcode 15 issue. It also seems like this is possibly a bug in Apple's new linker changes, but that seems to be working itself out still.

Their recommendation right now is to try and downgrade Xcode, which seems to have worked for some people.

But CRAN seems to have packaged the vroom 1.6.4 binary for r-release on Mac according to https://cran.r-project.org/web/packages/vroom/index.html, so install.packages("vroom") should just work and not require any compilation

ttarler commented 1 year ago

Thank you for the response - while downgrading Xcode would likely work my initial testing showed I'd have to downgrade my entire operating system. It does seem from the forum thread that Apple has changed its linker implementation going forward so I think this bug will still need to be resolved in order to enable further MacOS builds on the latest OS systems.

Attempting to install the binary was unsuccessful - it's possible the x86_64 version works but I am currently using an arm64 architecture.

I see that another individual has opened a similar bug report so I suspect this will be a continuing issue. I'm not the most fluent with C / C++ but I'm happy to offer my Mac as a testbed if a new source is available for testing. Otherwise will attempt to look into updating for the new ld implementation; I may not be the fastest at it but will put in a merge request if I am successful.