Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#48683 closed defect (invalid)

ncurses does not install /opt/local/lib/libncurses.5.dylib

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: jmroot (Joshua Root)
Port: ncurses

Description

While trying to install ocaml I get:

../boot/ocamlrun ../ocamlopt -nostdlib -I ../stdlib -pack const.cmx loc.cmx discard_printf.cmx signatures.cmi my_std.cmx my_unix.cmx tags.cmx display.cmx log.cmx shell.cmx bool.cmx glob_ast.cmx glob_lexer.cmx glob.cmx lexers.cmx param_tags.cmx command.cmx ocamlbuild_config.cmx ocamlbuild_where.cmx slurp.cmx options.cmx pathname.cmx configuration.cmx flags.cmx hygiene.cmx digest_cache.cmx resource.cmx rule.cmx solver.cmx report.cmx tools.cmx fda.cmx findlib.cmx ocaml_arch.cmx ocaml_utils.cmx ocaml_dependencies.cmx ocaml_compiler.cmx ocaml_tools.cmx ocaml_specific.cmx plugin.cmx exit_codes.cmx hooks.cmx main.cmx -o ocamlbuild_pack.cmx
dyld: Library not loaded: /opt/local/lib/libncurses.5.dylib
  Referenced from: /opt/local/libexec/llvm-3.4/lib/libLTO.dylib
  Reason: no suitable image found.  Did find:
	/usr/lib/libncurses.5.dylib: no matching architecture in universal wrapper
File "ocamlbuild_pack.cmx", line 1:
Error: Error during partial linking
make[3]: *** [ocamlbuild_pack.cmx] Error 2
make[2]: *** [ocamlbuild.native] Error 2
make[1]: *** [opt.opt] Error 2
make: *** [world.opt] Error 2
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_ocaml/ocaml/work/ocaml-4.02.2" && unset LD_PREBIND LD_PREBIND_ALLOW_OVERLAP && /usr/bin/make world.opt 
Exit code: 2
Error: org.macports.build for port ocaml returned: command execution failed

/opt/local/lib has only these ncurses related libraries:

-rwxr-xr-x  1 root  admin   170596 23 Aug 10:20 /opt/local/lib/libncurses++.6.dylib
-rw-r--r--  1 root  admin   234272 23 Aug 10:20 /opt/local/lib/libncurses++.a
lrwxr-xr-x  1 root  admin       20 23 Aug 10:20 /opt/local/lib/libncurses++.dylib -> libncurses++.6.dylib
lrwxr-xr-x  1 root  admin       20 23 Aug 10:20 /opt/local/lib/libncurses++w.6.dylib -> libncurses++.6.dylib
lrwxr-xr-x  1 root  admin       14 23 Aug 10:20 /opt/local/lib/libncurses++w.a -> libncurses++.a
lrwxr-xr-x  1 root  admin       20 23 Aug 10:20 /opt/local/lib/libncurses++w.dylib -> libncurses++.6.dylib
-rwxr-xr-x  1 root  admin   641616 23 Aug 10:20 /opt/local/lib/libncurses.6.dylib
-rw-r--r--  1 root  admin  1026224 23 Aug 10:20 /opt/local/lib/libncurses.a
lrwxr-xr-x  1 root  admin       18 23 Aug 10:20 /opt/local/lib/libncurses.dylib -> libncurses.6.dylib
lrwxr-xr-x  1 root  admin       18 23 Aug 10:20 /opt/local/lib/libncursesw.6.dylib -> libncurses.6.dylib
lrwxr-xr-x  1 root  admin       12 23 Aug 10:20 /opt/local/lib/libncursesw.a -> libncurses.a
lrwxr-xr-x  1 root  admin       18 23 Aug 10:20 /opt/local/lib/libncursesw.dylib -> libncurses.6.dylib

Change History (7)

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

When I try to invoke (/opt/local/bin/)vi I get:

  Referenced from: /opt/local/bin/vi
  Reason: no suitable image found.  Did find:
	/usr/lib/libncurses.5.dylib: no matching architecture in universal wrapper

comment:2 Changed 9 years ago by dbevans (David B. Evans)

ncurses was recently updated to version 6.0 which installs /opt/local/lib/libncurses.6.dylib so ports such as ocaml and vim (which provides ${prefix}/bin/vi) and many more needed a revbump at a minimum to relink with the new version.

Both ocaml and vim were so bumped in r139469 so perhaps you need to update your ports?

comment:3 Changed 9 years ago by jmroot (Joshua Root)

Resolution: invalid
Status: newclosed

comment:4 Changed 9 years ago by jmroot (Joshua Root)

llvm-3.4 was also rev bumped.

comment:5 in reply to:  2 ; Changed 9 years ago by ballapete (Peter "Pete" Dyballa)

Replying to devans@…:

ncurses was recently updated to version 6.0 which installs /opt/local/lib/libncurses.6.dylib so ports such as ocaml and vim (which provides ${prefix}/bin/vi) and many more needed a revbump at a minimum to relink with the new version.

Both ocaml and vim were so bumped in r139469 so perhaps you need to update your ports?

My version of port neither does understand an update command nor a revdump.

Ocaml and vim were listed as outdated, but port decided not to upgrade them but create problems instead. Does port need an update?

comment:6 in reply to:  5 ; Changed 9 years ago by dbevans (David B. Evans)

Replying to Peter_Dyballa@…:

Replying to devans@…:

ncurses was recently updated to version 6.0 which installs /opt/local/lib/libncurses.6.dylib so ports such as ocaml and vim (which provides ${prefix}/bin/vi) and many more needed a revbump at a minimum to relink with the new version.

Both ocaml and vim were so bumped in r139469 so perhaps you need to update your ports?

My version of port neither does understand an update command nor a revdump.

Ocaml and vim were listed as outdated, but port decided not to upgrade them but create problems instead. Does port need an update?

Sorry. Failure to communicate. By 'revbump' I mean incrementing the revision of a port to cause it to rebuild, in this case due to the revision change of libncurses. This has already been done.

Now you just need to issue the command

sudo port selfupdate

to synchronize your ports tree with the latest versions/revisions on the rsync server. This is what I meant by 'update your ports'.

Once you've done that you can execute

sudo port upgrade outdated

to upgrade your outdated ports.

Sorry for not being more precise in my language. My fault entirely.

comment:7 in reply to:  6 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)

Replying to devans@…:

Replying to Peter_Dyballa@…:

Replying to devans@…:

I performed exactly these two steps yesterday – and ran into this disaster. Presumingly port needs an upgrade, performing the necessary rebinding to a new library once the old version was removed and the new one was installed instead of procrastinating the faulty state.

Note: See TracTickets for help on using tickets.