[MacPorts] #50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64"
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" ----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Keywords: | Port: OpenBLAS ----------------------------+-------------------------------- While building OpenBLAS 0.2.17 under Yosemite, I get a series of "Undefined symbols for architecture x86_64" errors. -- Ticket URL: <https://trac.macports.org/ticket/50950> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by michaelld@…): Builds for me cleanly with default variants on 10.11 latest. -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by michaelld@…): The compile command is a strange mix of Clang and GCC. What variants are you using for the build? -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by mschamschula@…): I've got the +clang +lapack variant -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by nicos@…): I can't reproduce the issue either, and I don't see any difference in the linking instructions. There had been some issues about CPU architectures in the past, but that does not seem to be that. It seems that some symbols are missing from lapack, but I don't have a good clue of why at this point. The mix between clang and gcc is because of the need of a fortran compiler for lapack, and we are using the gcc5 one by default in the clang variant. -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:4> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by michaelld@…): Builds for me using your variants, on 10.11 latest. I'll can check on 10.10 tomorrow. -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by matthew.grismer@…): I am also getting the same errors trying to build on OS X 10.11.4 with the default variants (+gcc5 +lapack). Build log is attached. -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:6> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by michaelld@…): Default variants are +clang +lapack, not +gcc5 +lapack. Both the release and devel build for me either default variants, or with +gcc5 instead of +clang. The primary difference in that specific compile command in the log file between mine and yours is that mine has: {{{ -L/opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0 -L/opt/local/lib/gcc5/gcc }}} both before and after `-L/opt/local/lib`. Yours just has these after, not before. I've no idea how to correct this issue if it even is one -- which I'm guessing this isn't the actual issue. That said, I'm at a loss as to what might be the actual issue. OpenBLAS is a very complex project! -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:7> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by nicos@…): I agree this should not be the issue. I just noticed that the missing symbols consist of a very specific subset of lapack functions, namely the matgen module, located in testing. I'll have to look in more details, but it is possible that a difference in configuration either prevents lapack of building this module, or triggers OpenBLAS to link to it. -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:8> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by nicos@…): I found a way to reproduce the issue, but I would like to check that it is the same one. So, could check the following after a build failure: 1. Are there object (*.o) files in SRCDIR/lapack-netlib/TESTING/MATGEN? 2. Could you post the following files here (after build failure)? - SRCDIR/Makefile.conf - SRCDIR/lapack-netlib/make.inc -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:9> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by matthew.grismer@…): Well, I did a port sync and then port upgrade outdated, and now OpenBLAS 0.2.17 builds and installs without issue... So, I guess the issue is fixed. -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:10> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by nicos@…): I see. Well, as this happened for two different users, and that nothing was changed to the port between the update to 0.2.17 and now, it would more seem to be a somewhat erratic error. I'll leave the ticket open for now in case something else pops up. Fundamentally, my suspicion is that the configuration ends up with a NOFORTRAN=1 variable for whatever reason, and despite the presence of a fortran compiler, leading lapack to not build certain symbols required by OpenBLAS. -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:11> MacPorts <https://www.macports.org/> Ports system for OS X
#50950: OpenBLAS @0.2.17_0: "Undefined symbols for architecture x86_64" -----------------------------+-------------------------------- Reporter: mschamschula@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: OpenBLAS | -----------------------------+-------------------------------- Comment (by nicos@…): Additional note: I got the same error when trying to update OpenBLAS to 0.2.18. Then cleaning the install and rebuilding led to a full install, so it is clearly a non-reproducible error. To answer my own questions:
1. Are there object (*.o) files in SRCDIR/lapack-netlib/TESTING/MATGEN? Yes, the object files are present. 2. Could you post the following files here (after build failure)? - SRCDIR/Makefile.conf - SRCDIR/lapack-netlib/make.inc No sign of any NOFORTRAN symbol.
It therefore seems to be an error either in ar when building the static library which misses symbols, or a linking issue when making the dynamic library. -- Ticket URL: <https://trac.macports.org/ticket/50950#comment:12> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts