Opened 11 years ago

Closed 11 years ago

#25738 closed defect (fixed)

opencdk universal build fails when dependencies aren't universal

Reported by: dershow Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: Cc: sfiera@…, ryandesign (Ryan Schmidt)
Port: opencdk

Description

I was trying to upgrade wine-devel, which has a dependency on opencdk. So macports tried to install opencdk, but gives an odd error. It appears that it does first install:

--->  Computing dependencies for opencdk
--->  Fetching opencdk
--->  Attempting to fetch opencdk-0.6.6.tar.bz2 from http://distfiles.macports.org/opencdk
--->  Verifying checksum(s) for opencdk
--->  Extracting opencdk
--->  Configuring opencdk
--->  Building opencdk
--->  Staging opencdk into destroot
--->  Installing opencdk @0.6.6_0
--->  Activating opencdk @0.6.6_0
--->  Cleaning opencdk

But later tries to reinstall and gives an error:

--->  Computing dependencies for wine-devel
--->  Dependencies to be installed: gnutls lzo opencdk
--->  Fetching lzo
--->  Verifying checksum(s) for lzo
--->  Extracting lzo
--->  Configuring lzo
--->  Building lzo
--->  Staging lzo into destroot
--->  Installing lzo @1.08_0+universal
--->  Deactivating lzo @1.08_0
--->  Cleaning lzo
--->  Activating lzo @1.08_0+universal
--->  Cleaning lzo
--->  Fetching opencdk
--->  Verifying checksum(s) for opencdk
--->  Extracting opencdk
--->  Configuring opencdk
--->  Building opencdk
Error: Target org.macports.build returned: shell command failed
Log for opencdk is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_opencdk/main.log
Error: The following dependencies failed to build: gnutls opencdk
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>

It was suggested that perhaps it is first installing non-universal, then tries to upgrade to universal and that fails. I will attached log that is generated as well.

Thanks,

Attachments (2)

main.log (18.1 KB) - added by dershow 11 years ago.
opencdk build log file
main2.log (47.5 KB) - added by dershow 11 years ago.
upgrade log after a successful universal build

Download all attachments as: .zip

Change History (6)

Changed 11 years ago by dershow

Attachment: main.log added

opencdk build log file

comment:1 Changed 11 years ago by dershow

In order to see if the problem was the non-universal build, I did a force uninstall of opencdk (the force is because gnutls depends on it), then I cleaned the install and finally I re-installed it with a universal variant with no problem. But then, when I tried to again upgrade wine-devel I again got the following:

--->  Computing dependencies for wine-devel
--->  Dependencies to be installed: gnutls opencdk
--->  Fetching opencdk
--->  Verifying checksum(s) for opencdk
--->  Extracting opencdk
--->  Configuring opencdk
--->  Building opencdk
Error: Target org.macports.build returned: shell command failed
Log for opencdk is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_opencdk/main.log
Error: The following dependencies failed to build: gnutls opencdk
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>

So it seems that even if it is universal that it again tries to reinstall it, and the build fails.

Changed 11 years ago by dershow

Attachment: main2.log added

upgrade log after a successful universal build

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

Cc: ryandesign@… added
Summary: Opencdkopencdk universal build fails when dependencies aren't universal

The relevant lines of your log are:

ld: warning: in /opt/local/lib/libgcrypt.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: in /opt/local/lib/libgpg-error.dylib, file was built for unsupported file format which is not the architecture being linked (i386)

This tells us your libgcrypt (which is a dependency of opencdk) and libgpg-error (which is a dependency of libgcrypt) are not installed universal. MacPorts base should not have permitted this situation to happen; it should have automatically rebuilt opencdk's dependencies universal if they were not already so. I don't know why this didn't happen (it could be that you built the dependencies with a version of MacPorts earlier than 1.9 so it didn't record what architectures it used), so I added the archcheck portgroup to opencdk in r69847, to libgcrypt in r69848, and to libgpg-error in r69849, because I know it works. Please selfupdate and try again.

comment:3 Changed 11 years ago by dershow

Those fixes did the job. Now wine-devel compiles fine. I have used macports for a while, but I never explicitly used any of those ports, to they were probably present as a dependency to something else. Anyway, as always, thanks much for the fix!

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

Resolution: fixed
Status: newclosed

Ok, I'm glad you got it working.

Note: See TracTickets for help on using tickets.