Opened 4 years ago

Last modified 3 years ago

#60791 assigned defect

julia @1.4.1: *** Attempting to use gcc4 OPENLIBM tarball, but compiling with cxx11 string ABI; set "CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" to avoid linker errors. Stop.

Reported by: dbl001 (dbl) Owned by: essandess (Steve Smith)
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc:
Port: julia

Description (last modified by dbl001 (dbl))

I am running OS X 10.11.6. I tried to install julia (e.g. julia-1.4.1_0+gcc10.darwin_15.x86_64) and got this error:

--->  Fetching archive for julia
--->  Attempting to fetch julia-1.4.1_0+gcc10.darwin_15.x86_64.tbz2 from https://packages.macports.org/julia
--->  Attempting to fetch julia-1.4.1_0+gcc10.darwin_15.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/julia
--->  Attempting to fetch julia-1.4.1_0+gcc10.darwin_15.x86_64.tbz2 from http://aus.us.packages.macports.org/macports/packages/julia
--->  Fetching distfiles for julia
--->  Attempting to fetch julia-1.4.1-full.tar.gz from https://distfiles.macports.org/julia
--->  Attempting to fetch julia-1.4.1-full.tar.gz.asc from https://distfiles.macports.org/julia
--->  Verifying checksums for julia
--->  Extracting julia
--->  Configuring julia
--->  Building julia
Error: Failed to build julia: command execution failed

Attachments (1)

main.log (76.3 KB) - added by dbl001 (dbl) 4 years ago.

Download all attachments as: .zip

Change History (4)

Changed 4 years ago by dbl001 (dbl)

Attachment: main.log added

comment:1 Changed 4 years ago by dbl001 (dbl)

Description: modified (diff)

comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: julia removed
Owner: set to essandess
Port: 1.4.1 removed
Status: newassigned
Summary: Error: Failed to build julia: command execution failedjulia @1.4.1: *** Attempting to use gcc4 OPENLIBM tarball, but compiling with cxx11 string ABI; set "CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" to avoid linker errors. Stop.

comment:3 Changed 3 years ago by ernstki (Kevin Ernst)

Hi all,

I experienced the same symptoms described here, and I can share a couple of things that might help:

One, I'm not sure this is the julia port's problem, really. Without having a deep understanding of the Ports build system, I'm not sure if there's a way for the port command itself to be more helpful or not, but it appears the error arises from a mismatch between the "active" gcc port and the one julia wants to compile with.

I struggled briefly with trying to specify CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 somewhere in a Makefile inside the port's "build" directory, and to invoke make directly there. Didn't have much luck there, and I actually think the Portfile is not the problem anyway, so I won't go into the details.

Next step was to see if there were any variants of julia that were still working, and that's when it dawned on me: the latest version of julia wants gcc10, but my "active" gcc was mp-gcc5. So, in retrospect, it seems understandable that the build would bomb out with ABI errors.

What I ended up doing was sudo port select gcc mp-gcc9, followed by sudo port install julia +gcc9. (The reason for 9 instead of 10 is probably irrelevant, but to make a long story short, I already had gcc9 and didn't want 10 to be installed.) If sudo port select gcc doesn't seem to do the right thing, try sudo port install gcc_select first then repeat.

Furthermore, this is probably an issue for a separate bug report, but if you arrive here after googling the linker error message as I did, you're going to need this bit of advice. There is a place in the Portfile where there's a symlink created to the Fortran compiler in ${workpath}/bin. If you needed to repeat port install julia, say, because you had to port select the correct gcc first, it will bomb on that ln command the second time around.

The simple solution there is to sudo port clean julia and try again. Just FYI.

Hope this helps.

—Kevin

Last edited 3 years ago by ernstki (Kevin Ernst) (previous) (diff)
Note: See TracTickets for help on using tickets.