Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#36418 closed defect (fixed)

Upgrade to cloog 0.17 breaks old binaries

Reported by: bgschaid@… Owned by: adfernandes (Andrew Fernandes)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: mww@…, sebastian.scherer@…, jeremyhu (Jeremy Huddleston Sequoia), manphiz@…, mojca (Mojca Miklavec), mdbecque@…, eborisch (Eric A. Borisch), kjellpk (Kjell Konis)
Port: cloog gcc46

Description

After upgrading of cloog from @0.16.3_2 g++-mp-4.6 doesn't work any more:

dyld: Library not loaded: /opt/local/lib/libcloog-isl.2.dylib
  Referenced from: /opt/local/libexec/gcc/x86_64-apple-darwin11/4.6.3/cc1plus
  Reason: image not found
g++-mp-4.6: internal compiler error: Trace/BPT trap: 5 (program cc1plus)

Symbolic link to /opt/local/lib/libcloog-isl.3.dylib "fixes" this issue (but then a similar thing happens with th upgraded ISL)

Attachments (2)

gcc46_main.log (12.0 KB) - added by bgschaid@… 12 years ago.
Failure of configuration
gcc46-cloog0.17.0-fix.patch (2.6 KB) - added by manphiz@… 12 years ago.
Proposed fix by gnwiii. Added the configure option "--disable-cloog-version-check" and cloog patch to accomodate older version of gcc, with revbump. (Fixed wrong patch.dir in previous uploaded patch.)

Download all attachments as: .zip

Change History (21)

comment:1 Changed 12 years ago by bgschaid@…

This seems to be related to #36419

comment:2 Changed 12 years ago by jwhowse4

My experience was that if the symbolic links are not inserted by hand, MacPorts will try to recompile gcc46. On my system (OS 10.7.5, XCode 4.5) this failed because cloog 0.17 is incompatible with gcc46.

comment:3 Changed 12 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to adfernandes@…

In the future, please Cc the port maintainer(s).

comment:4 Changed 12 years ago by mf2k (Frank Schima)

Cc: mww@… added

Ccing maintainer of gcc46. Maybe gcc46 (and below) need a rev-bump?

comment:5 Changed 12 years ago by sebastian.scherer@…

Cc: sebastian.scherer@… added

Cc Me!

comment:6 in reply to:  2 Changed 12 years ago by sebastian.scherer@…

Replying to jwhowse4@…:

My experience was that if the symbolic links are not inserted by hand, MacPorts will try to recompile gcc46. On my system (OS 10.7.5, XCode 4.5) this failed because cloog 0.17 is incompatible with gcc46.

I observe the same issue on OSX 10.8.2 with Xcode 4.5

comment:7 Changed 12 years ago by gnw3

gcc46 builds (and the compilers work!) with two changes:

  1. add
    --disable-cloog-version-check
    

to the configure args, and

  1. apply the patch http://gcc.gnu.org/ml/gcc-help/2012-04/msg00184/gcc-4.6-cloog_lang_c.patch

comment:8 Changed 12 years ago by mf2k (Frank Schima)

Port: gcc46 added

comment:9 Changed 12 years ago by mf2k (Frank Schima)

Cc: jeremyhu@… added

Changed 12 years ago by bgschaid@…

Attachment: gcc46_main.log added

Failure of configuration

comment:10 Changed 12 years ago by bgschaid@…

After the comments in #36419 tried "port upgrade cloog isl". The upgrade is still running. Result so far: gcc46 deinstalled and won't compile (see attached log). Don't know if it helps. But the output of the upgrade is (it is still compiling gcc47):

--->  Computing dependencies for isl
--->  Fetching archive for isl
--->  Attempting to fetch isl-0.10_1.darwin_11.x86_64.tbz2 from http://lil.fr.packages.macports.org/isl
--->  Attempting to fetch isl-0.10_1.darwin_11.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/isl
--->  Installing isl @0.10_1
--->  Cleaning isl
--->  Computing dependencies for isl
--->  Deactivating isl @0.10_0
--->  Cleaning isl
--->  Activating isl @0.10_1
--->  Cleaning isl
--->  Computing dependencies for cloog
--->  Fetching archive for cloog
--->  Attempting to fetch cloog-0.17.0_1.darwin_11.x86_64.tbz2 from http://lil.fr.packages.macports.org/cloog
--->  Attempting to fetch cloog-0.17.0_1.darwin_11.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/cloog
--->  Installing cloog @0.17.0_1
--->  Cleaning cloog
--->  Computing dependencies for cloog
--->  Deactivating cloog @0.17.0_0
--->  Cleaning cloog
--->  Activating cloog @0.17.0_1
--->  Cleaning cloog
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  Found 26 broken file(s), matching files to ports
--->  Found 2 broken port(s), determining rebuild order
--->  Rebuilding in order
     gcc46 @4.6.3 
     gcc47 @4.7.2 
--->  Computing dependencies for gcc46
--->  Cleaning gcc46
--->  Computing dependencies for gcc47
--->  Cleaning gcc47
--->  Scanning binaries for linking errors: 100.0%
--->  Found 26 broken file(s), matching files to ports
--->  Found 2 broken port(s), determining rebuild order
--->  Rebuilding in order
     gcc46 @4.6.3 
     gcc47 @4.7.2 
--->  Computing dependencies for gcc46
--->  Cleaning gcc46
--->  Unable to uninstall gcc46 @4.6.3_8, the following ports depend on it:
--->    openmpi @1.5.5_0+gcc46
--->    py27-scipy @0.10.1_2+gcc46
--->    openmpi @1.5.5_1+gcc46
--->    py27-scipy @0.10.1_3+gcc46
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating gcc46 @4.6.3_8
--->  Unable to deactivate gcc46 @4.6.3_8, the following ports depend on it:
--->    openmpi @1.5.5_1+gcc46
--->    py27-scipy @0.10.1_3+gcc46
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Cleaning gcc46
--->  Uninstalling gcc46 @4.6.3_8
--->  Cleaning gcc46
--->  Computing dependencies for gcc46
--->  Fetching distfiles for gcc46
--->  Attempting to fetch gcc-4.6.3.tar.bz2 from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/gcc46
--->  Attempting to fetch ecj-4.5.jar from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/gcc46
--->  Verifying checksum(s) for gcc46
--->  Extracting gcc46
--->  Configuring gcc46
Error: org.macports.configure for port gcc46 returned: configure failure: command execution failed
Please see the log file for port gcc46 for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc46/gcc46/main.log
--->  Computing dependencies for gcc47
--->  Cleaning gcc47
--->  Unable to uninstall gcc47 @4.7.2_1, the following ports depend on it:
--->    ghc @7.4.2_0+gcc47
--->    ghc @7.4.2_1+gcc47
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating gcc47 @4.7.2_1
--->  Unable to deactivate gcc47 @4.7.2_1, the following ports depend on it:
--->    ghc @7.4.2_1+gcc47
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Cleaning gcc47
--->  Uninstalling gcc47 @4.7.2_1
--->  Cleaning gcc47
--->  Computing dependencies for gcc47
--->  Fetching distfiles for gcc47
--->  Attempting to fetch gcc-4.7.2.tar.bz2 from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/gcc47
--->  Attempting to fetch ecj-4.5.jar from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/gcc47
--->  Verifying checksum(s) for gcc47
--->  Extracting gcc47
--->  Applying patches to gcc47
--->  Configuring gcc47
--->  Building gcc47

comment:11 Changed 12 years ago by bgschaid@…

The upgrade finished and it seems tat gcc46 is broken for good:

--->  Building gcc47
--->  Staging gcc47 into destroot
--->  Installing gcc47 @4.7.2_1
--->  Activating gcc47 @4.7.2_1
--->  Cleaning gcc47
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  Found 122 broken file(s), matching files to ports
--->  Found 2 broken port(s), determining rebuild order
--->  Rebuilding in order
     openmpi @1.5.5 +gcc46
     py27-scipy @0.10.1 +gcc46
--->  Computing dependencies for openmpi
--->  Dependencies to be installed: gcc46
--->  Configuring gcc46
Error: org.macports.configure for port gcc46 returned: configure failure: command execution failed
Error: Failed to install gcc46
Please see the log file for port gcc46 for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc46/gcc46/main.log
Error: The following dependencies were not installed: gcc46
Error: Unable to upgrade port: 1
Error rebuilding openmpi
    while executing
"error "Error rebuilding $portname""
    (procedure "revupgrade_scanandrebuild" line 370)
    invoked from within
"revupgrade_scanandrebuild broken_port_counts $opts"
    (procedure "macports::revupgrade" line 5)
    invoked from within
"macports::revupgrade $opts"
    (procedure "action_revupgrade" line 2)
    invoked from within
"action_revupgrade $action $portlist $opts"
    (procedure "action_upgrade" line 24)
    invoked from within
"$action_proc $action $portlist [array get global_options]"
    (procedure "process_cmd" line 95)
    invoked from within
"process_cmd $line"
    (procedure "process_command_file" line 42)
    invoked from within
"process_command_file $in"
    (procedure "process_command_files" line 15)
    invoked from within
"process_command_files $ui_options(ports_commandfiles)"
    invoked from within
"if { ($exit_status == 0 || [macports::ui_isset ports_processall]) && [info exists ui_options(ports_commandfiles)] } {
    set exit_status [process_com..."
    (file "/opt/local/bin/port" line 4791)

comment:12 Changed 12 years ago by manphiz@…

A possible fix is proposed (also above in comment:7). comment:ticket:36385:5

Last edited 12 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:13 Changed 12 years ago by manphiz@…

Cc: manphiz@… added

Cc Me!

Changed 12 years ago by manphiz@…

Attachment: gcc46-cloog0.17.0-fix.patch added

Proposed fix by gnwiii. Added the configure option "--disable-cloog-version-check" and cloog patch to accomodate older version of gcc, with revbump. (Fixed wrong patch.dir in previous uploaded patch.)

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

Cc: mojca.miklavec.lists@… added

Cc Me!

comment:15 Changed 12 years ago by mdbecque@…

Cc: mdbecque@… added

Cc Me!

comment:16 Changed 12 years ago by eborisch (Eric A. Borisch)

Cc: eborisch@… added

Cc Me!

comment:17 Changed 12 years ago by kjellpk (Kjell Konis)

Cc: kjell.konis@… added

Cc Me!

comment:18 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed

Thanks for the patch, committed with r98368

comment:19 Changed 12 years ago by howarth@…

You do realize that FSF gcc upstream is transitioning away from ppl for graphite and toward isl?

http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01773.html

On fink, I handled this by leaving older gcc45, gcc46 and gcc47 packages depending on a cloog-org
package left at 0.16.2. A separate cloog-org2 package based on 0.17 was built against isl and used for
gcc48 and later. The current approach you are using of remaining on ppl is a short term hack because
upstream is likely to let the ppl support in cloog degrade with the focus on isl support.

Note: See TracTickets for help on using tickets.