Opened 12 years ago

Closed 10 years ago

#36782 closed defect (fixed)

cyrus-sasl2 @2.1.25_3+universal: failure when building architectures that host doesn't support

Reported by: jeremy.booker@… Owned by: larryv (Lawrence Velázquez)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: cooljeanius (Eric Gallager), landonf (Landon Fuller)
Port: cyrus-sasl2

Description

In trying to get JavaHL bindings for Subversion working...

$ sudo port install subversion-javahlbindings +no_bdb +universal
Password:
--->  Computing dependencies for subversion-javahlbindings
--->  Dependencies to be installed: cyrus-sasl2 gettext junit hamcrest-core apache-ant neon serf1 subversion curl-ca-bundle
--->  Building cyrus-sasl2
Error: org.macports.build for port cyrus-sasl2 returned: command execution failed
Error: Failed to install cyrus-sasl2
Please see the log file for port cyrus-sasl2 for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_cyrus-sasl2/cyrus-sasl2/main.log
Error: The following dependencies were not installed: cyrus-sasl2 gettext junit hamcrest-core apache-ant neon serf1 subversion curl-ca-bundle
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port subversion-javahlbindings failed

The main.log contains (after a bunch of successful commands):

:info:build make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_cyrus-sasl2/cyrus-sasl2/work/cyrus-sasl-2.1.25-x86_64/include'
:info:build rm -f md5global.h
:info:build ./makemd5 md5global.h:info:build make[2]: ./makemd5: Bad CPU type in executable
:info:build make[2]: *** [md5global.h] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_cyrus-sasl2/cyrus-sasl2/work/cyrus-sasl-2.1.25-x86_64/include'
:info:build make[1]: *** [all-recursive] Error 1:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_cyrus-sasl2/cyr
us-sasl2/work/cyrus-sasl-2.1.25-x86_64'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_cyrus-sasl2/cyrus-
sasl2/work/cyrus-sasl-2.1.25-x86_64'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_cyrus-sasl2/cyrus-sasl
2/work/cyrus-sasl-2.1.25-x86_64" && /usr/bin/make -w all 
:info:build Exit code: 2
:error:build org.macports.build for port cyrus-sasl2 returned: command execution failed
:debug:build Error code: NONE
:debug:build Backtrace: command execution failed
    while executing
"$procedure $targetname"
:info:build Warning: targets not executed for cyrus-sasl2: org.macports.activate org.macports.build org.macports.destroot org.macports.install
:error:build Failed to install cyrus-sasl2
:debug:build couldn't open "/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tclIndex": no such file or directory
    while executing
"open [file join $dir tclIndex]"

I'm running Snow Leopard (10.6.8), with MacPorts 2.1.2.

Attachments (1)

main.log (64.6 KB) - added by jeremy.booker@… 12 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: landonf@… added
Owner: changed from macports-tickets@… to jmpp@…
Port: cyrus-sasl2 added
Summary: yrus-sasl2 build failed (returned: command execution failed)cyrus-sasl2: ./makemd5: Bad CPU type in executable

This was not a clean build attempt. Please "sudo port clean cyrus-sasl2", then try again, then attach the main.log file if it fails again.

Changed 12 years ago by jeremy.booker@…

Attachment: main.log added

comment:2 Changed 12 years ago by jeremy.booker@…

Ran the following commands, with the same end result:

jbooker$ sudo port clean cyrus-sasl2
Password:
--->  Cleaning cyrus-sasl2
Jeremy-Bookers-MacBook-Pro-15:svn-repo jbooker$ sudo port install subversion-javahlbindings +no_bdb +universal
--->  Computing dependencies for subversion-javahlbindings
--->  Dependencies to be installed: cyrus-sasl2 gettext junit hamcrest-core apache-ant neon serf1 subversion curl-ca-bundle
--->  Fetching archive for cyrus-sasl2
--->  Attempting to fetch cyrus-sasl2-2.1.25_3+kerberos+universal.darwin_10.i386-x86_64.tbz2 from http://packages.macports.org/cyrus-sasl2
--->  Attempting to fetch cyrus-sasl2-2.1.25_3+kerberos+universal.darwin_10.i386-x86_64.tbz2 from http://lil.fr.packages.macports.org/cyrus-sasl2
--->  Attempting to fetch cyrus-sasl2-2.1.25_3+kerberos+universal.darwin_10.i386-x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/cyrus-sasl2
--->  Fetching distfiles for cyrus-sasl2
--->  Verifying checksum(s) for cyrus-sasl2
--->  Extracting cyrus-sasl2
--->  Applying patches to cyrus-sasl2
--->  Configuring cyrus-sasl2
--->  Building cyrus-sasl2
Error: org.macports.build for port cyrus-sasl2 returned: command execution failed
Error: Failed to install cyrus-sasl2
Please see the log file for port cyrus-sasl2 for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_cyrus-sasl2/cyrus-sasl2/main.log
Error: The following dependencies were not installed: cyrus-sasl2 gettext junit hamcrest-core apache-ant neon serf1 subversion curl-ca-bundle
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port subversion-javahlbindings failed

See uploaded main.log above.

Last edited 12 years ago by jeremy.booker@… (previous) (diff)

comment:3 Changed 12 years ago by jmroot (Joshua Root)

What does file(1) say about the makemd5 executable?

comment:4 Changed 12 years ago by jeremy.booker@…

I don't seem to have a 'makemd5' executable in any of my default search paths. Is there a particular place I should be looking for it?

comment:5 Changed 12 years ago by jeremy.booker@…

Ohh, found it. It appears to be located in:

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_security_cyrus-sasl2/cyrus-sasl2/work/cyrus-sasl-2.1.25-x86_64/include/

The file command gives:

# file makemd5
makemd5: Mach-O 64-bit executable x86_64

That's odd. Pretty sure I'm not running a 64bit processor...

comment:6 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:7 Changed 10 years ago by mf2k (Frank Schima)

Cc: landonf@… removed
Owner: changed from jmpp@… to landonf@…

jmpp is no longer active. See #44809.

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

Keywords: snowleopard added

comment:9 Changed 10 years ago by larryv (Lawrence Velázquez)

Cc: landonf@… added
Keywords: snowleopard removed
Owner: changed from landonf@… to larryv@…
Status: newassigned
Summary: cyrus-sasl2: ./makemd5: Bad CPU type in executablecyrus-sasl2 @2.1.25_3+universal: failure when building architectures that host doesn't support

Better late than never, I guess.

Cyrus SASL’s build process compiles and runs that makemd5 executable. The problem occurs when the host OS isn’t able to run it.

The OP was building i386 + x86_64 on an i386 machine, so the build failed during the x86_64 portion. I was building i386 + x86_64 + ppc + ppc64 in an x86_64 VM running Leopard Server, so my build failed for ppc64, which Rosetta doesn’t translate.

Barring a shift away from muniversal-1.0, the cyrus-sasl2 portfile needs to set its supported_archs more selectively based on the host hardware. I’ll try to work on this if I find some time; I daresay no one’s exactly jonesing for a fix.

comment:10 in reply to:  9 Changed 10 years ago by larryv (Lawrence Velázquez)

Resolution: fixed
Status: assignedclosed

Turns out that muniversal-1.0 has an option for this. Easy.

r129012

Note: See TracTickets for help on using tickets.