Opened 9 years ago

Closed 9 years ago

#49613 closed defect (fixed)

root6: GSL uses the wrong complier

Reported by: watsodw Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cjones051073 (Chris Jones), mojca (Mojca Miklavec)
Port: root6

Description (last modified by mojca (Mojca Miklavec))

See log:

:info:build configure: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_root6/root6/work/build/GSL-prefix/src/GSL-build':
:info:build configure: error: C compiler cannot create executables

Attachments (2)

main.log (704.0 KB) - added by watsodw 9 years ago.
root.mathmore.diff (818 bytes) - added by cjones051073 (Chris Jones) 9 years ago.

Download all attachments as: .zip

Change History (14)

Changed 9 years ago by watsodw

Attachment: main.log added

comment:1 Changed 9 years ago by cjones051073 (Chris Jones)

Do you have one of the MacPorts gcc ports 'port selected' to make it your default 'gcc' ? If so this appears to be the problem, as it appears the internal build of GSL, which I switched to for this version due to the fact ROOT does not yet support GSL 2.0 which MacPorts now uses, and during configure the internal GSL is discovering your gcc version and this is causing problems.

The work around is please un-select MacPorts gcc version, upgrade ROOT, then select it again. I was able to reproduce your failure by port selecting myself, and un-selecting it fixes things.

This is a bug in ROOT's build system, as it should configure its internal GSL version to build using the same compiler settings as ROOT itself. Please file this as a bug against ROOT upstream, as it is not a bug in the MacPorts port. I am hoping the next release will contain support for GSL 2.0, in which case I can revert back to using MacPorts version.

Chris

comment:2 Changed 9 years ago by watsodw

Thanks, that worked.

comment:3 Changed 9 years ago by cjones051073 (Chris Jones)

Thanks. Submitted a bug report with upstream.

https://sft.its.cern.ch/jira/browse/ROOT-7782

comment:4 Changed 9 years ago by mojca (Mojca Miklavec)

Description: modified (diff)
Summary: root6 upgrade failsroot6: GSL uses the wrong complier
Version: 2.3.4

I slightly forgot about this ticket, but based on the upstream ticket resolution it looks as if both problems should be solved now (after upgrading ROOT to 6.06 as per #50011 / r143637): the built-in GSL should use the proper compiler and the external GSL should work again.

We could probably switch back to the external GSL.

comment:5 Changed 9 years ago by cjones051073 (Chris Jones)

I don't think the fix to allow ROOT to use an external GSL 2.x made it into 6.06.00, but I could be wrong.

I'll review things for the next 6.06.01 update, to see if we can then revert back to using the external GSL. Using the internal one is not really a major issue, but it would be better to change back eventually.

comment:6 Changed 9 years ago by mojca (Mojca Miklavec)

Ah, no, it didn't. This ticket:

says the patch has only been applied to 5.34/36, 6.08/00, 6.06/02

But from what I understand we now have three different issues:

  • incompatibility with external GSL version 2 (#7776, included in 6.06.00)
  • wrong compiler used for the internal GSL (#7782, 1abe7a96d, scheduled for 6.06.02)
  • mathmore should not be used when GSL is disabled (see also r142498)

The first two should eventually be fixed (they were fixed upstream), but we still need to change the third one. Or am I wrong?

Last edited 9 years ago by mojca (Mojca Miklavec) (previous) (diff)

comment:7 Changed 9 years ago by cjones051073 (Chris Jones)

I am missing something. The third case is fixed as per r142498 no ?

comment:8 in reply to:  7 Changed 9 years ago by cjones051073 (Chris Jones)

Replying to jonesc@…:

I am missing something. The third case is fixed as per r142498 no ?

Or do you mean do the same with ROOT6... Yes, you are correct this is not done in the Port file right now and should be added (I doubt anyone has ever tried disabling it until now..). Note though the reason to disable GSL should really be gone in 6.06.00.

Changed 9 years ago by cjones051073 (Chris Jones)

Attachment: root.mathmore.diff added

comment:9 Changed 9 years ago by cjones051073 (Chris Jones)

Attached is a trivial patch to the ROOT6 port to make sure MathMore is turned off when the GSL variant is not enabled.

Last edited 9 years ago by cjones051073 (Chris Jones) (previous) (diff)

comment:10 Changed 9 years ago by mojca (Mojca Miklavec)

Thanks, committed in r143641.

The only other things that remain to do are then the following:

  • either wait for 6.06.02 or apply the upstream patch
  • switch back to external GSL

comment:11 Changed 9 years ago by cjones051073 (Chris Jones)

As ROOT6 is working fine with the builtin GSL, I am inclined to just leave things as they are for now, and revert back to using an external GSL once 6.06.02 is out.

Last edited 9 years ago by cjones051073 (Chris Jones) (previous) (diff)

comment:12 Changed 9 years ago by mojca (Mojca Miklavec)

Resolution: fixed
Status: newclosed

We'll wait for the switch to external GSL until version 6.06.02 gets released, but we believe that the problems mentioned here should have disappeared after the latest upgrade. In case that you are still experiencing problems, please reopen the ticket or open a new one.

Note: See TracTickets for help on using tickets.