Opened 10 years ago

Closed 8 years ago

#30088 closed defect (fixed)

dbus links with dbus-glib, fails to build when it has different archs

Reported by: soehn@… Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: boydb@…, dershow, pixilla (Bradley Giesbrecht), erben22-macports@…, scooter.phd@…, drkp (Dan Ports), mkae (Marko Käning), cooljeanius (Eric Gallager)
Port: dbus

Description

When trying to update my ports, dbus fails to build.

Attachments (1)

main.log (286.8 KB) - added by soehn@… 10 years ago.

Download all attachments as: .zip

Change History (21)

Changed 10 years ago by soehn@…

Attachment: main.log added

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

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

It looks like you are trying to build it universal.

comment:2 in reply to:  1 ; Changed 10 years ago by soehn@…

Replying to macsforever2000@…:

It looks like you are trying to build it universal.

Yes. The active port is dbus 1.2.10_1+universal (I do not know why). So the upgrade tries to build it universal again.

comment:3 in reply to:  2 Changed 10 years ago by soehn@…

Replying to soehn@…:

Replying to macsforever2000@…:

It looks like you are trying to build it universal.

Yes. The active port is dbus 1.2.10_1+universal (I do not know why). So the upgrade tries to build it universal again.

Sorry. Active port is 1.4.10_1+universal, of course.

comment:4 in reply to:  1 Changed 10 years ago by soehn@…

Replying to macsforever2000@…:

It looks like you are trying to build it universal.

I tried

sudo port upgrade dbus -universal

and it worked. Thank you for the hint.

comment:5 Changed 10 years ago by jmroot (Joshua Root)

Summary: dbus fails to builddbus links with dbus-glib, fails to build when it has different archs

comment:6 Changed 10 years ago by psenough@…

stumbled upon similar problem when doing sudo upgrade outdated

then tried to upgrade it individually, failed

tried to upgrade it forcing +universal

sudo port upgrade dbus +universal

--->  Computing dependencies for dbus
--->  Building dbus
Error: Target org.macports.build returned: shell command failed (see log for details)
Log for dbus is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_dbus/main.log
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>

tried the suggested -universal

sudo port upgrade dbus -universal

Warning: Skipping upgrade since pkgconfig 0.26_0 >= pkgconfig 0.26_0, even though installed variants "+universal" do not match "". Use 'upgrade --enforce-variants' to switch to the requested variants.
Warning: Skipping upgrade since glib2 2.28.8_0 >= glib2 2.28.8_0, even though installed variants "+universal" do not match "". Use 'upgrade --enforce-variants' to switch to the requested variants.
Warning: Skipping upgrade since gettext 0.18.1.1_2 >= gettext 0.18.1.1_2, even though installed variants "+universal" do not match "". Use 'upgrade --enforce-variants' to switch to the requested variants.
Warning: Skipping upgrade since libiconv 1.13.1_0 >= libiconv 1.13.1_0, even though installed variants "+universal" do not match "". Use 'upgrade --enforce-variants' to switch to the requested variants.
Warning: Skipping upgrade since ncurses 5.9_0 >= ncurses 5.9_0, even though installed variants "+universal" do not match "". Use 'upgrade --enforce-variants' to switch to the requested variants.
Warning: Skipping upgrade since expat 2.0.1_1 >= expat 2.0.1_1, even though installed variants "+universal" do not match "". Use 'upgrade --enforce-variants' to switch to the requested variants.
Warning: Skipping upgrade since zlib 1.2.5_0 >= zlib 1.2.5_0, even though installed variants "+universal" do not match "". Use 'upgrade --enforce-variants' to switch to the requested variants.
Warning: Skipping upgrade since perl5.12 5.12.3_1 >= perl5.12 5.12.3_1, even though installed variants "+universal" do not match "". Use 'upgrade --enforce-variants' to switch to the requested variants.
Error: Requested variants "" do not match original selection "+universal".
Please use the same variants again, perform 'port clean dbus' or specify the force option (-f).
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>

dont want to enforce -universal couz i believe i need +universal for some other dependencies.

did try to enforce +universal, had it compile a new version of perl15.12 and then gave the same dbus error.

main.log of +universal attempt:

version:1
:msg:main --->  Computing dependencies for dbus:info:main .:debug:main Searching for dependency: pkgconfig
:debug:main Found Dependency: receipt exists for pkgconfig
:debug:main Searching for dependency: expat
:debug:main Found Dependency: receipt exists for expat
:msg:main
:debug:main Executing org.macports.main (dbus):debug:main Skipping completed org.macports.fetch (dbus)
:debug:main Skipping completed org.macports.checksum (dbus)
:debug:main Skipping completed org.macports.extract (dbus)
:debug:main Skipping completed org.macports.patch (dbus)
:debug:main Skipping completed org.macports.configure (dbus)
:msg:main --->  Building dbus
:debug:build build phase started at Wed Jul 13 11:12:17 EEST 2011
:debug:build Executing org.macports.build (dbus)
:info:build --->  Building dbus for architecture x86_64
:debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_va\
r_macports_sources_rsync.macports.org_release_ports_devel_dbus/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC\_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6'
:debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_r\
elease_ports_devel_dbus/work/dbus-1.4.12-x86_64" && /usr/bin/make -j2 all'
:info:build /usr/bin/make  all-recursive:info:build Making all in dbus
:info:build /usr/bin/make  all-am
:info:build make[3]: Nothing to be done for `all-am'.
:info:build Making all in bus
:info:build make[2]: Nothing to be done for `all'.
:info:build Making all in doc
:info:build make[2]: Nothing to be done for `all'.
:info:build Making all in tools
:info:build make[2]: Nothing to be done for `all'.:info:build Making all in test
:info:build Making all in .
:info:build -- No need to copy test data as srcdir = builddir
:info:build -- Copying ../bus/session.conf ../bus/system.conf to test directory
:info:build Making all in name-test
:info:build make[3]: Nothing to be done for `all'.
:info:build make[2]: Nothing to be done for `all-am'.
:info:build --->  Building dbus for architecture i386
:debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_va\
r_macports_sources_rsync.macports.org_release_ports_devel_dbus/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC\
_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6'
:debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_r\
elease_ports_devel_dbus/work/dbus-1.4.12-i386" && /usr/bin/make -j2 all'
:info:build /usr/bin/make  all-recursive
:info:build Making all in dbus
:info:build /usr/bin/make  all-am
:info:build make[3]: Nothing to be done for `all-am'.
:info:build Making all in bus
:info:build make[2]: Nothing to be done for `all'.
:info:build Making all in doc
:info:build make[2]: Nothing to be done for `all'.
:info:build Making all in tools
:info:build make[2]: Nothing to be done for `all'.
:info:build Making all in test
:info:build Making all in .
:info:build   CCLD   test-corrupt
:info:build   CCLD   test-dbus-daemon
:info:build ld: warning: in /opt/local/lib/libdbus-glib-1.dylib, file was built for unsupported file format which is no\
t the architecture being linked (i386)
:info:build Undefined symbols:
:info:build   "_dbus_connection_setup_with_g_main", referenced from:
:info:build       _connect_to_bus in test_dbus_daemon-dbus-daemon.o
:info:build ld: symbol(s) not found
:info:build collect2: ld returned 1 exit status
:info:build make[3]: *** [test-dbus-daemon] Error 1
:info:build make[2]: *** [all-recursive] Error 1
:info:build make[1]: *** [all-recursive] Error 1
:info:build make: *** [all] Error 2
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_releas\
e_ports_devel_dbus/work/dbus-1.4.12-i386" && /usr/bin/make -j2 all " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"$procedure $targetname"
:info:build Warning: the following items did not execute (for dbus): org.macports.destroot org.macports.build
:notice:build Log for dbus is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_relea\
se_ports_devel_dbus/main.log

comment:7 Changed 10 years ago by boydb@…

Cc: boydb@… added

Cc Me!

comment:8 Changed 10 years ago by dershow

Cc: dersh@… added

Cc Me!

comment:9 Changed 10 years ago by pixilla (Bradley Giesbrecht)

Cc: pixilla@… added

Cc Me!

comment:10 Changed 10 years ago by erben22-macports@…

Cc: erben22-macports@… added

Cc Me!

comment:11 Changed 10 years ago by scooter.phd@…

Cc: scooter.phd@… added

Cc Me!

comment:12 Changed 10 years ago by andigros72@…

I circumnavigated the problem by uninstalling dbus, then installing dbus-devel, and then running

port clean --all dbus port upgrade outdated

afterwards I was forced to force-activate dbus, but it seems to have fixed the problem

Good luck!

comment:13 Changed 10 years ago by andigros72@…

sorry, it should read

port clean --all dbus

port upgrade outdated

comment:14 Changed 10 years ago by ecronin (Eric Cronin)

dbus (incorrectly I would say) tries to link against dbus-glib when building (which depends on dbus, not the other way around). If you port -f deactivate dbus-glib before upgrading dbus it will build just fine +universal, and afterward you can then re-activate dbus-glib (or port install dbus-glib +universal as well, which probably would fix future architecture mismatch issues on upgrading dbus).

But dbus should not be linking against its dependents...

Installing dbus-devel and then having dbus be reactivated isn't a real solution. In fact, dbus-devel conflicts with dbus but dbus does not conflict with dbus-devel, so this would only "work" in the right order to begin with, and you needed to force activate it because obviously the two ports share some common filenames.

comment:15 in reply to:  12 Changed 10 years ago by pixilla (Bradley Giesbrecht)

Sorry, this does not make sense to me.

I circumnavigated the problem by uninstalling dbus

So dbus is gone from the system.

then installing dbus-devel

Fine, dbus-devel works fine for me.

port clean --all dbus

Ok, at this point dbus is uninstalled and all of dbus has been clean.

port upgrade outdated

Ok, good.

afterwards I was forced to force-activate dbus, but it seems to have fixed the problem

Lost me here. The dbus port is not installed, so what exactly do you mean by "force-activate dbus"?

I will add that for the dbus-devel port the launchctl load command appears to need the -w (write change to plist) flag.

$ launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist

comment:16 Changed 10 years ago by drkp (Dan Ports)

Cc: dports@… added

Cc Me!

comment:17 Changed 10 years ago by drkp (Dan Ports)

I added --disable-tests to configure.args, which should solve this problem unless the +test variant is used. r81852

I'm leaving the ticket open because this is still an issue if building +test, and we should either fix that or remove the variant. I'm not sure it's fixable if the test cases are using dbus-glib, but I'm not familiar enough to say for sure.

See also #30409.

comment:18 Changed 10 years ago by mkae (Marko Käning)

Cc: mk@… added

Cc Me!

comment:19 Changed 9 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:20 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

There seems to be no ideal fix to this problem.
I think the only thing to do short of removing the variant test is to issue a warning, as was done in r119921.
Unless someone has a better idea, marking as fixed.

Note: See TracTickets for help on using tickets.