Opened 13 years ago
Closed 11 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)
Change History (21)
Changed 13 years ago by soehn@…
comment:1 follow-ups: 2 4 Changed 13 years ago by mf2k (Frank Schima)
Owner: | changed from macports-tickets@… to mcalhoun@… |
---|
comment:2 follow-up: 3 Changed 13 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 Changed 13 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 Changed 13 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 13 years ago by jmroot (Joshua Root)
Summary: | dbus fails to build → dbus links with dbus-glib, fails to build when it has different archs |
---|
comment:6 Changed 13 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:12 follow-up: 15 Changed 13 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 13 years ago by andigros72@…
sorry, it should read
port clean --all dbus
port upgrade outdated
comment:14 Changed 13 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 Changed 13 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:17 Changed 13 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:20 Changed 11 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | new → closed |
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.
It looks like you are trying to build it universal.