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

Unable to compile on macOS 13.6 - after install of command line tools 15 #2528

Closed
cstricker opened this issue Sep 24, 2023 · 3 comments · Fixed by neuronsimulator/iv#48 or #2529
Closed
Labels

Comments

@cstricker
Copy link

Context

Last week - as every year..., Apple released Xcode 15 with the command line tools (CLT). Consequently, the new CLT was installed automatically on my machine. At this moment, the build using the new CLT is broken.

Overview of the issue

The relevant building output is

[ 42%] Built target sparse13
27 warnings generated.
/Users/stricker/.local/src/neuron/nrn/external/iv/src/lib/Dispatch/dispatcher.cpp:63:16: error: declaration of 'select' has a different language linkage
extern int select(int, fd_set*, fd_set*, fd_set*, struct timeval*);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/sys/_select.h:43:10: note: previous declaration is here
int select(int, fd_set * __restrict, fd_set * __restrict,
^
/Users/stricker/.local/src/neuron/nrn/external/iv/src/lib/Dispatch/dispatcher.cpp:733:12: error: call to 'select' is ambiguous
nfound = select(_nfds, &rmaskret, &wmaskret, &emaskret, howlong);
^~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/sys/_select.h:43:10: note: candidate function
int select(int, fd_set * __restrict, fd_set * __restrict,
^
/Users/stricker/.local/src/neuron/nrn/external/iv/src/lib/Dispatch/dispatcher.cpp:63:16: note: candidate function
extern int select(int, fd_set*, fd_set*, fd_set*, struct timeval*);
^
/Users/stricker/.local/src/neuron/nrn/external/iv/src/lib/Dispatch/dispatcher.cpp:842:10: error: call to 'select' is ambiguous
if (select(fd+1, &rmask, nil, nil, &poll) < 0) {
^~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/sys/_select.h:43:10: note: candidate function
int select(int, fd_set * __restrict, fd_set * __restrict,
^
/Users/stricker/.local/src/neuron/nrn/external/iv/src/lib/Dispatch/dispatcher.cpp:63:16: note: candidate function
extern int select(int, fd_set*, fd_set*, fd_set*, struct timeval*);
^
3 errors generated.

Expected result/behavior

No error should be generated

NEURON setup

  • Version: 9.0.0
  • Installation method cmake build
  • OS + Version: 13.6
  • Compiler + Version: clang now 15.0.40.1

Build configuration:

-- Configured NEURON 9.0.0

-- You can now build NEURON using:
-- cmake --build . --parallel 8 [--target TARGET]
-- You might want to adjust the number of parallel build jobs for your system.
-- Some non-default targets you might want to build:
-- --------------+--------------------------------------------------------------
-- Target | Description
-- --------------+--------------------------------------------------------------
-- install | Will install NEURON to: /Applications/NEURON
-- | Change the install location of NEURON using:
-- | cmake <src_path> -DCMAKE_INSTALL_PREFIX=<install_path>
-- docs | Build full docs. Calls targets: doxygen, notebooks, sphinx, notebooks-clean
-- uninstall | Removes files installed by make install (todo)
-- --------------+--------------------------------------------------------------
-- Build option | Status
-- --------------+--------------------------------------------------------------
-- C COMPILER | /usr/bin/clang
-- CXX COMPILER | /usr/bin/clang++
-- BUILD_TYPE | RelWithDebInfo (allowed: Custom;Debug;Release;RelWithDebInfo;Fast)
-- COMPILE FLAGS | -g -O2
-- Shared | ON
-- Default units | modern units (2019 nist constants)
-- MPI | ON
-- DYNAMIC | OFF
-- INC | /usr/local/Cellar/open-mpi/4.1.5/include
-- LIB | /usr/local/Cellar/open-mpi/4.1.5/lib/libmpi.dylib
-- Python | ON
-- DYNAMIC | OFF
-- MODULE | ON
-- python3.11 (default)
-- EXE | /usr/local/bin/python3
-- INC | /usr/local/opt/python/Frameworks/Python.framework/Versions/3.11/include/python3.11
-- LIB | /usr/local/opt/python/Frameworks/Python.framework/Versions/3.11/lib/libpython3.11.dylib
-- Readline | /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/lib/libreadline.tbd
-- Curses | /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/lib/libcurses.tbd;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/lib/libform.tbd
-- RX3D | ON
-- OptLevel | 0
-- Interviews | ON
-- PATH | /Users/stricker/.local/src/neuron/nrn/external/iv
-- INC | /Users/stricker/.local/src/neuron/nrn/external/iv/src/include
-- X11 (INC) | /usr/local/include;/usr/X11R6/include
-- (LIBDIR)| /usr/local/lib
-- CoreNEURON | OFF
-- Tests | ON
-- --------------+--------------------------------------------------------------
-- See documentation : https://www.neuron.yale.edu/neuron/
-- --------------+--------------------------------------------------------------

-- Configuring done (69.2s)
-- Generating done (1.0s)

Minimal working example - MWE

not relevant

Logs

Output as above

@cstricker cstricker added the bug label Sep 24, 2023
@nrnhines
Copy link
Member

I've updated to Ventura 13.6 and Xcode 15. Will return when I know more.

@nrnhines
Copy link
Member

Hopefully the issue is isolated to InterViews as the build succeeds when -DNRN_ENABLE_INTERVIEWS=OFF

@nrnhines
Copy link
Member

The fix is in https://github.com/neuronsimulator/iv/tree/hines/sys-select-h
It may be a day or so before the pull request acceptance process gets all the way to the nrn master but til then in your current failing version of nrn

cd external/iv
git checkout hines/sys-select-h
cd ../..
cd build
make -j install

JCGoran added a commit that referenced this issue Feb 14, 2024
The build CI was hitting #2528 on MacOS 13 due to the use of XCode 15
JCGoran added a commit that referenced this issue Feb 14, 2024
The build CI was hitting #2528 on MacOS 13 due to the use of XCode 15
JCGoran added a commit that referenced this issue Feb 14, 2024
The build CI was hitting #2528 on MacOS 13 due to the use of XCode 15
@JCGoran JCGoran mentioned this issue Feb 14, 2024
alkino pushed a commit that referenced this issue Feb 14, 2024
The build CI was hitting #2528 on MacOS 13 due to the use of XCode 15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants