New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #25485 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

emacs +x11 tries to use libXaw3d.dylib

Reported by: russell.jones@… Owned by: dports@…
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: Cc: sewebster@…, ryandesign@…
Port: emacs

Description

This prevents emacs from being built with the +x11 variant.

Output of

sudo port selfupdate
sudo port clean emacs
sudo port -d install emacs +x11 &> "emacs+x11-debug-`date "+%Y%m%d%H%M%S"`.txt"

attached

Attachments

emacs+x11-debug-20100701135433.txt (368.0 KB) - added by russell.jones@… 3 years ago.
port -d install output

Change History

Changed 3 years ago by russell.jones@…

port -d install output

comment:1 Changed 3 years ago by sewebster@…

Xaw3d isn't a dependency of emacs +x11, right? Does an existing i386 Xaw3d install cause a conflict with xorg-libXaw here?

comment:2 Changed 3 years ago by sewebster@…

  • Cc sewebster@… added

Cc Me!

comment:3 Changed 3 years ago by dports@…

  • Cc dports@… added

Cc Me!

comment:4 Changed 3 years ago by dports@…

Looks like emacs +x11 is linking against Xaw3d instead of Xaw, which surprises me.

BTW, emacs +gtk is also an option.

comment:5 Changed 3 years ago by ryandesign@…

  • Keywords emacs removed
  • Cc ryandesign@… added
  • Port changed from Xaw3d to emacs
  • Summary changed from Xaw3d doesn't build +universal or 64-bit on 10.6.4 to emacs +x11 tries to use libXaw3d.dylib

Xaw3d does not build universal because it does not have a universal variant. But it does build just fine x86_64 for me on my system. And I think it did on your system too. The output you attached shows:

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

That means you are currently trying to build something i386 (the i386 part of emacs' +universal variant) but libXaw3d.dylib does not contain that architecture (it only contains x86_64).

So it appears that emacs +x11 tries to use Xaw3d, though no dependency on it is declared. A dependency needs to thus either be added somewhere (and the universal variant of that something then disabled), or it needs to not use Xaw3d.

comment:6 follow-up: ↓ 8 Changed 3 years ago by dports@…

  • Owner changed from macports-tickets@… to dports@…
  • Status changed from new to assigned

It looks like emacs+x11 only requires Xaw (hence the dependency) but looks for and uses Xaw3d if it's available. I'll pass it --without-xaw3d to stop that, assuming it works.

comment:7 Changed 3 years ago by dports@…

  • Cc dports@… removed

comment:8 in reply to: ↑ 6 Changed 3 years ago by dports@…

  • Status changed from assigned to closed
  • Resolution set to fixed

Replying to dports@…:

It looks like emacs+x11 only requires Xaw (hence the dependency) but looks for and uses Xaw3d if it's available. I'll pass it --without-xaw3d to stop that, assuming it works.

Done in r69381.

And did the same for emacs22 in r69383, albeit via a somewhat more forceful means because it didn't support --disable-xaw3d.

Note: See TracTickets for help on using tickets.