Skip to content
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

tzdb fails to build on 10.7–10.11 x86_64 with clang: tzdb.so: Symbol not found: __ZSt19uncaught_exceptionsv #34

Open
barracuda156 opened this issue Jun 13, 2023 · 2 comments
Labels
bug an unexpected problem or unintended behavior

Comments

@barracuda156
Copy link

/opt/local/bin/clang++-mp-15 -std=gnu++17 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/opt/local/Library/Frameworks/R.framework/Resources/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -arch x86_64 -o tzdb.so api.o cpp11.o names.o path.o tz.o version.o -F/opt/local/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_R_R-tzdb/R-tzdb/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/00LOCK-tzdb/00new/tzdb/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for ‘tzdb’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_R_R-tzdb/R-tzdb/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/00LOCK-tzdb/00new/tzdb/libs/tzdb.so':
  dlopen(/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_R_R-tzdb/R-tzdb/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/00LOCK-tzdb/00new/tzdb/libs/tzdb.so, 6): Symbol not found: __ZSt19uncaught_exceptionsv
  Referenced from: /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_R_R-tzdb/R-tzdb/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/00LOCK-tzdb/00new/tzdb/libs/tzdb.so
  Expected in: flat namespace
 in /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_R_R-tzdb/R-tzdb/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/00LOCK-tzdb/00new/tzdb/libs/tz
Error: loading failed

Complete log from 10.11: https://build.macports.org/builders/ports-10.11_x86_64-builder/builds/222427/steps/install-port/logs/stdio
Also: https://trac.macports.org/ticket/67612

@DavisVaughan
Copy link
Member

DavisVaughan commented Jun 13, 2023

See HowardHinnant/date#673

CRAN requested that I remove the Makevars file that fixed the compiler to C++11, so now can get compiled with C++17 which turns on HAS_UNCAUGHT_EXCEPTIONS here https://github.com/HowardHinnant/date/blob/cc4685a21e4a4fdae707ad1233c61bbaff241f93/include/date/date.h#L138C1-L144

Even though it seems older Mac versions don't have it

It seems used in one place that is mostly harmless so I can probably manually set it to 0 in tzdb
https://github.com/HowardHinnant/date/blob/cc4685a21e4a4fdae707ad1233c61bbaff241f93/include/date/date.h#L1066-L1070

@barracuda156
Copy link
Author

@DavisVaughan Thank you for a clarification.

It is desirable to have it working, of course, if a fix does not affect anything else. Especially given that several systems are affected. (Alternatively, we can carry a patch locally in Macports.)

P. S. I think Macports currently uses clang-15 on x86_64 across the board (Apple clangs are blacklisted for R; GCC not used, unfortunately, by default), so in principle C++17 should be supported. I am not sure though if it uses its own libc++ or Apple one.

@DavisVaughan DavisVaughan added the bug an unexpected problem or unintended behavior label Nov 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug an unexpected problem or unintended behavior
Projects
None yet
Development

No branches or pull requests

2 participants