Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#48682 closed defect (wontfix)

libedit build fails because is opportunistically uses gawk which links with readline which is still linked with libncurses.5

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), izmir.boogie@…
Port: libedit

Description

configure: creating ./config.status
config.status: creating Makefile
dyld: Library not loaded: /opt/local/lib/libncurses.5.dylib
  Referenced from: /opt/local/lib/libreadline.6.dylib
  Reason: no suitable image found.  Did find:
	/usr/lib/libncurses.5.dylib: no matching architecture in universal wrapper
sed: stdout: Broken pipe
./config.status: line 1232: 31515 Done(1)                 eval sed \"\$ac_sed_extra\" "$ac_file_inputs"
     31516 Trace/BPT trap          | $AWK -f "$ac_tmp/subs.awk" > $ac_tmp/out
config.status: error: could not create Makefile

I tried to fix this by deactivating and uninstalling ncurses to be able to install it again. It failed, because readline had a similar issue with no "matching architecture in universal wrapper". So I went deactivating and uninstalling readline. Its reinstallation failed because of gawk not finding a "matching architecture in universal wrapper". After deactivation and uninstallation of gawk MacPorts seems to be pretty unusable now…

Attachments (1)

main.log (19.5 KB) - added by ballapete (Peter "Pete" Dyballa) 9 years ago.
main.log

Download all attachments as: .zip

Change History (6)

Changed 9 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

main.log

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

Summary: libedit 20150325-3.1_0 does not build on Snow Leopard, Mac OS X 10.6.8, because /usr/lib/libncurses.5.dylib: [has] no matching architecture in universal wrapperlibedit build fails because is opportunistically uses gawk which links with readline which is still linked with libncurses.5

The problem is not that /usr/lib/libncurses.5.dylib has no matching architecture in universal wrapper. The problem is that /opt/local/lib/libreadline.6.dylib is still referencing /opt/local/lib/libncurses.5.dylib. It needs to be rebuilt so that it will properly reference /opt/local/lib/libncurses.6.dylib.

It is indeed possible that if you had the gawk port installed, then it could cause this problem. I don't understand, however, in what way MacPorts is unusable after deactivating or uninstalling gawk, since that is the solution I would have suggested. Can you elaborate?

comment:2 Changed 9 years ago by pafontai (Patrice Fontaine)

I solved this issue by rebuilding readline.

port -f upgrade readline

It seems that the tree of dependencies is wrong : when I typed "port upgrade outdated", the first port to be built was libedit whereas readline was also outdated and libedit depends on readline.

After having built readline, the "port" command automatically built dependant ports.

Last edited 9 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:3 Changed 9 years ago by izmir.boogie@…

Cc: izmir.boogie@… added

Cc Me!

comment:4 in reply to:  2 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: wontfix
Status: newclosed

Replying to mail_commercial@…:

It seems that the tree of dependencies is wrong : when I typed "port upgrade outdated", the first port to be built was libedit whereas readline was also outdated and libedit depends on readline.

libedit does not depend on readline. But libedit, like thousands of other ports, uses a configure script. And part of the boilerplate that autotools bakes into every configure script is to locate an awk implementation. The first one it checks for is gawk, so if the gawk port happens to be installed, a configure script will try to use that. gawk depends on readline, and if you have upgraded ncurses but haven't upgraded readline to use the new ncurses, then gawk will be broken.

I don't know of a good way to fix this. We don't really want to add unnecessary gawk dependencies to thousands of ports. So I think we'll handle this as a user education issue for now and not make any change to the ports, though I may add a ProblemHotlist entry.

Last edited 9 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:5 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Note: See TracTickets for help on using tickets.