[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:14:07 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
>
>
Of course, the question is, how can I fix this issue?

Thanks.

:-)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110305/b463f646/attachment-0001.htm>


More information about the Haskell-Cafe mailing list