[Haskell-cafe] Linking errors when compiling projects with the ncurses-0.2 library

Román González romanandreg at gmail.com
Sat Mar 5 21:13:28 CET 2011


Greetings,

Right now I'm developing an app, and I want to use the ncurses library,
everything compiles correctly, however when I'm linking, ugly things start
to happen:

I'm on Mac OS X Snow Leopard, with Haskell Platform
2010.2.0.0<http://hackage.haskell.org/platform/changelog.html>


This is the installation process I'm following, everything runs as expected
until trying to build the project with Cabal.

Thanks in advance.

*$ brew install ncursesw --universal*
Warning: It appears you have MacPorts or Fink installed.
Software installed with MacPorts and Fink are known to cause problems.
If you experience issues try uninstalling these tools.
==> Downloading http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz
File already downloaded and cached to /Users/roman/Library/Caches/Homebrew
==> ./configure --prefix=/Users/roman/.homebrew/Cellar/ncursesw/5.7
--mandir=/Users/roman/.homebrew/Cellar/ncursesw/5.7/share/man
--disable-debug --disable-dependency-tracking --e
==> make install
/Users/roman/.homebrew/Cellar/ncursesw/5.7: 2734 files, 14M, in 93 seconds

*$ cabal install ncurses --extra-include-dirs=/Users/roman/.homebrew/include
--extra-lib-dirs=/Users/roman/.homebrew/lib --reinstall*
Resolving dependencies...
Configuring ncurses-0.2...
Preprocessing library ncurses-0.2...
Building ncurses-0.2...
[1 of 4] Compiling UI.NCurses.Enums ( dist/build/UI/NCurses/Enums.hs,
dist/build/UI/NCurses/Enums.o )
[2 of 4] Compiling UI.NCurses.Types ( UI/NCurses/Types.hs,
dist/build/UI/NCurses/Types.o )
[3 of 4] Compiling UI.NCurses       ( dist/build/UI/NCurses.hs,
dist/build/UI/NCurses.o )
[4 of 4] Compiling UI.NCurses.Panel ( dist/build/UI/NCurses/Panel.hs,
dist/build/UI/NCurses/Panel.o )

UI/NCurses/Panel.chs:49:0:
    Warning: The import of `UI.NCurses' is redundant
               except perhaps to import instances from `UI.NCurses'
             To import instances alone, use: import UI.NCurses()
Registering ncurses-0.2...
Installing library in /Users/roman/.cabal/lib/ncurses-0.2/ghc-6.12.3
Registering ncurses-0.2...

*$ cabal build*
Preprocessing executables for TicTacToe-0.1...
Building TicTacToe-0.1...
Linking dist/build/TicTacToe/TicTacToe ...
ld: warning: in /Users/roman/.homebrew/lib/libncursesw.dylib, file was built
for unsupported file format which is not the architecture being linked
(i386)
Undefined symbols:
  "_start_color", referenced from:
      _s9ZP_info in libHSncurses-0.2.a(NCurses.o)
  "_wget_wch", referenced from:
      _sfkI_info in libHSncurses-0.2.a(NCurses.o)
  "_wenclose", referenced from:
      _s9Fs_info in libHSncurses-0.2.a(NCurses.o)
  "_beep", referenced from:
      _ncurseszm0zi2_UIziNCurses_beep1_info in libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: _ncurseszm0zi2_UIziNCurses_beep2_closure,
_ncurseszm0zi2_UIziNCurses_beep1_srt , _ncurseszm0zi2_UIziNCurses_beep_srt ,
_ncurseszm0zi2_UIziNCurses_beep3_info , _ncurseszm0zi2_UIziNCurses_beep2_srt
, _ncurseszm0zi2_UIziNCurses_beep3_srt ,
_ncurseszm0zi2_UIziNCurses_beep1_closure ,
_ncurseszm0zi2_UIziNCurses_beep_info , _ncurseszm0zi2_UIziNCurses_beep1_info
, _ncurseszm0zi2_UIziNCurses_beep3_closure ,
_ncurseszm0zi2_UIziNCurses_beep2_info ,
_ncurseszm0zi2_UIziNCurses_beep_closure )
  "_echo", referenced from:
      _sc50_info in libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: ___hscore_echo)
  "_can_change_color", referenced from:
      _ncurseszm0zi2_UIziNCurses_canDefineColor1_info in
libHSncurses-0.2.a(NCurses.o)
  "_init_color", referenced from:
      _s97K_info in libHSncurses-0.2.a(NCurses.o)
      _scw2_info in libHSncurses-0.2.a(NCurses.o)
  "_wnoutrefresh", referenced from:
      _s2JC_info in NCurses.o
      _scSh_info in libHSncurses-0.2.a(NCurses.o)
  "_noraw", referenced from:
      _scaE_info in libHSncurses-0.2.a(NCurses.o)
  "_wtouchln", referenced from:
      _sd53_info in libHSncurses-0.2.a(NCurses.o)
      _sd53_info in libHSncurses-0.2.a(NCurses.o)
  "_wcolor_set", referenced from:
      _sav6_info in libHSncurses-0.2.a(NCurses.o)
  "_meta", referenced from:
      _s9KC_info in libHSncurses-0.2.a(NCurses.o)
      _scV2_info in libHSncurses-0.2.a(NCurses.o)
  "_initscr", referenced from:
      _ncurseszm0zi2_UIziNCurses_runCurses2_info in
libHSncurses-0.2.a(NCurses.o)
  "_stdscr", referenced from:
      _stdscr$non_lazy_ptr in NCurses.o
      _stdscr$non_lazy_ptr in libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: _stdscr$non_lazy_ptr)
  "_wbkgrndset", referenced from:
      _scOA_info in libHSncurses-0.2.a(NCurses.o)
  "_raw", referenced from:
      _scaE_info in libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: _ffi_closure_raw_SYSV$non_lazy_ptr,
_ffi_closure_raw_SYSV , _ffi_raw_call , _ffi_prep_raw_closure_loc )
  "__nc_has_mouse", referenced from:
      _hsncurses_has_mouse in libHSncurses-0.2.a(hsncurses-shim.o)
  "_wtimeout", referenced from:
      _s9KE_info in libHSncurses-0.2.a(NCurses.o)
      _scV4_info in libHSncurses-0.2.a(NCurses.o)
      _sfkG_info in libHSncurses-0.2.a(NCurses.o)
  "_doupdate", referenced from:
      _ncurseszm0zi2_UIziNCurses_render1_info in
libHSncurses-0.2.a(NCurses.o)
  "_baudrate", referenced from:
      _ncurseszm0zi2_UIziNCurses_baudrate1_info in
libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: _ncurseszm0zi2_UIziNCurses_baudrate1_info,
_ncurseszm0zi2_UIziNCurses_baudrate_info ,
_ncurseszm0zi2_UIziNCurses_baudrate3_closure ,
_ncurseszm0zi2_UIziNCurses_baudrate_closure ,
_ncurseszm0zi2_UIziNCurses_baudrate_srt ,
_ncurseszm0zi2_UIziNCurses_baudrate2_info ,
_ncurseszm0zi2_UIziNCurses_baudrate2_closure ,
_ncurseszm0zi2_UIziNCurses_baudrate1_closure ,
_ncurseszm0zi2_UIziNCurses_baudrate3_info ,
_ncurseszm0zi2_UIziNCurses_baudrate1_srt ,
_ncurseszm0zi2_UIziNCurses_baudrate2_srt ,
_ncurseszm0zi2_UIziNCurses_baudrate3_srt )
  "_whline_set", referenced from:
      _s9gs_info in libHSncurses-0.2.a(NCurses.o)
  "_wvline_set", referenced from:
      _s9fL_info in libHSncurses-0.2.a(NCurses.o)
  "_cbreak", referenced from:
      _s9ZJ_info in libHSncurses-0.2.a(NCurses.o)
      _sc7P_info in libHSncurses-0.2.a(NCurses.o)
  "_endwin", referenced from:
      _ncurseszm0zi2_UIziNCurses_endwin_info in
libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: _ncurseszm0zi2_UIziNCurses_endwin_info,
_ncurseszm0zi2_UIziNCurses_endwin_closure )
  "_wattr_on", referenced from:
      _saal_info in libHSncurses-0.2.a(NCurses.o)
      _saal_info in libHSncurses-0.2.a(NCurses.o)
      _saal_info in libHSncurses-0.2.a(NCurses.o)
      _saal_info in libHSncurses-0.2.a(NCurses.o)
      _saal_info in libHSncurses-0.2.a(NCurses.o)
      _saal_info in libHSncurses-0.2.a(NCurses.o)
      _saal_info in libHSncurses-0.2.a(NCurses.o)
      _saal_info in libHSncurses-0.2.a(NCurses.o)
      _saal_info in libHSncurses-0.2.a(NCurses.o)
  "_newwin", referenced from:
      _s9du_info in libHSncurses-0.2.a(NCurses.o)
  "_getmouse", referenced from:
      _sfkP_info in libHSncurses-0.2.a(NCurses.o)
  "_touchwin", referenced from:
      _sa69_info in libHSncurses-0.2.a(NCurses.o)
  "_untouchwin", referenced from:
      _sa6c_info in libHSncurses-0.2.a(NCurses.o)
  "_has_colors", referenced from:
      _ncurseszm0zi2_UIziNCurses_supportsColor1_info in
libHSncurses-0.2.a(NCurses.o)
      _s9ZN_info in libHSncurses-0.2.a(NCurses.o)
  "_mousemask", referenced from:
      _s9ZL_info in libHSncurses-0.2.a(NCurses.o)
  "_use_default_colors", referenced from:
      _s9ZS_info in libHSncurses-0.2.a(NCurses.o)
  "_waddwstr", referenced from:
      _sduP_info in libHSncurses-0.2.a(NCurses.o)
  "_wmove", referenced from:
      _sdBo_info in libHSncurses-0.2.a(NCurses.o)
  "_dupwin", referenced from:
      _scTH_info in libHSncurses-0.2.a(NCurses.o)
  "_keypad", referenced from:
      _ncurseszm0zi2_UIziNCurses_zdwa3_info in libHSncurses-0.2.a(NCurses.o)
      _say8_info in libHSncurses-0.2.a(NCurses.o)
      _say8_info in libHSncurses-0.2.a(NCurses.o)
      _scV0_info in libHSncurses-0.2.a(NCurses.o)
  "_noecho", referenced from:
      _sc50_info in libHSncurses-0.2.a(NCurses.o)
  "_flash", referenced from:
      _ncurseszm0zi2_UIziNCurses_flash1_info in
libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: _ncurseszm0zi2_UIziNCurses_flash1_closure,
_ncurseszm0zi2_UIziNCurses_flash_info , _ncurseszm0zi2_UIziNCurses_flash_srt
, _ncurseszm0zi2_UIziNCurses_flash_closure ,
_ncurseszm0zi2_UIziNCurses_flash1_info ,
_ncurseszm0zi2_UIziNCurses_flash2_info ,
_ncurseszm0zi2_UIziNCurses_flash3_closure ,
_ncurseszm0zi2_UIziNCurses_flash1_srt ,
_ncurseszm0zi2_UIziNCurses_flash2_srt ,
_ncurseszm0zi2_UIziNCurses_flash2_closure ,
_ncurseszm0zi2_UIziNCurses_flash3_info ,
_ncurseszm0zi2_UIziNCurses_flash3_srt )
  "_wborder_set", referenced from:
      _scFt_info in libHSncurses-0.2.a(NCurses.o)
  "_COLS", referenced from:
      _COLS$non_lazy_ptr in libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: _COLS$non_lazy_ptr)
  "_init_pair", referenced from:
      _saTg_info in libHSncurses-0.2.a(NCurses.o)
      _saTg_info in libHSncurses-0.2.a(NCurses.o)
      _saTg_info in libHSncurses-0.2.a(NCurses.o)
      _saTg_info in libHSncurses-0.2.a(NCurses.o)
      _saTg_info in libHSncurses-0.2.a(NCurses.o)
      _saTg_info in libHSncurses-0.2.a(NCurses.o)
      _saTg_info in libHSncurses-0.2.a(NCurses.o)
      _saTg_info in libHSncurses-0.2.a(NCurses.o)
      _scdx_info in libHSncurses-0.2.a(NCurses.o)
      _scdx_info in libHSncurses-0.2.a(NCurses.o)
      _scdx_info in libHSncurses-0.2.a(NCurses.o)
      _scdx_info in libHSncurses-0.2.a(NCurses.o)
      _scdx_info in libHSncurses-0.2.a(NCurses.o)
      _scdx_info in libHSncurses-0.2.a(NCurses.o)
      _scdx_info in libHSncurses-0.2.a(NCurses.o)
      _scdx_info in libHSncurses-0.2.a(NCurses.o)
  "_nocbreak", referenced from:
      _sc7P_info in libHSncurses-0.2.a(NCurses.o)
  "_delwin", referenced from:
      _sb4T_info in libHSncurses-0.2.a(NCurses.o)
  "_getcurx", referenced from:
      _s9Iy_info in libHSncurses-0.2.a(NCurses.o)
  "_getcury", referenced from:
      _s9Ix_info in libHSncurses-0.2.a(NCurses.o)
  "_color_content", referenced from:
      _sff4_info in libHSncurses-0.2.a(NCurses.o)
  "_COLOR_PAIRS", referenced from:
      _COLOR_PAIRS$non_lazy_ptr in libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: _COLOR_PAIRS$non_lazy_ptr)
  "_wattr_get", referenced from:
      _s9vO_info in libHSncurses-0.2.a(NCurses.o)
  "_wattr_off", referenced from:
      _saaF_info in libHSncurses-0.2.a(NCurses.o)
      _saaF_info in libHSncurses-0.2.a(NCurses.o)
      _saaF_info in libHSncurses-0.2.a(NCurses.o)
      _saaF_info in libHSncurses-0.2.a(NCurses.o)
      _saaF_info in libHSncurses-0.2.a(NCurses.o)
      _saaF_info in libHSncurses-0.2.a(NCurses.o)
      _saaF_info in libHSncurses-0.2.a(NCurses.o)
      _saaF_info in libHSncurses-0.2.a(NCurses.o)
      _saaF_info in libHSncurses-0.2.a(NCurses.o)
  "_wattr_set", referenced from:
      _s9vS_info in libHSncurses-0.2.a(NCurses.o)
  "_LINES", referenced from:
      _LINES$non_lazy_ptr in libHSncurses-0.2.a(NCurses.o)
     (maybe you meant: _LINES$non_lazy_ptr)
ld: symbol(s) not found
collect2: ld returned 1 exit status
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110305/99db9f1d/attachment.htm>


More information about the Haskell-Cafe mailing list