Skip to content
Chad Skeeters edited this page Jul 2, 2024 · 27 revisions

Building SC-IM

SC-IM depends on ncurses.
Prefer building SC-IM linking to ncursesw rather than ncurses and setting the USELOCALE flag to prevent problems with special characters (extended ascii chars).

Note that there are separate wiki pages for many systems and configurations, simply consult the sidebar.

Build instructions for NetBSD

  • Use gmake and bison.
  • Make sure to have ncurses library or a symlink to it in the library directory.
  • If you have problems not finding ncurses library, replace -lncurses with -lcurses in Makefile.

Build instructions for OSX

Install homebrew if missing:

curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash
brew install ncurses
git clone https://github.com/andmarti1424/sc-im
brew link --force ncurses

You should now see a bunch of /usr/local/lib/libncursesw* file links needed by SC-IM.

make

If you have problem with colors see [this] (https://github.com/andmarti1424/sc-im/issues/107)

If you want to build with xlsx import and export on OSX:

# necessary for xlsx import
brew install libzip
# necessary for xlsx import
brew install libxml2

# sets up scim Makefile to find libxml2 library
export PKG_CONFIG_PATH=/usr/local/opt/libxml2/lib/pkgconfig

#libxlsxwriter is needed for export, has no brew install formula
git clone https://github.com/jmcnamara/libxlsxwriter.git
cd libxlsxwriter
make

# links into /usr/include where the scim Makefile is looking to determine presence of xlsxwriter library
sudo ln -s `pwd`/include/xlsxwriter.h  /usr/include/
sudo ln -s `pwd`/include/xlsxwriter /usr/include/

sudo ln -s `pwd`/lib/libxlsxwriter.a /usr/lib/
sudo ln -s `pwd`/lib/libxlsxwriter.dylib /usr/lib/

then go into sc-im/src folder and make.

Build instructions for ArchLinux

You might need to create some symlinks for ncursesw headers be found by SC-IM

NOTE: This was not needed in my Arch installation.

if [[ `whereis ncursesw` == "ncursesw: /usr/include/ncursesw" ]]; then
    mkdir /usr/include/ncursesw
    cd /usr/include/ncursesw
    ln -s ../{cursesapp.h,cursesf.h,curses.h,cursesm.h,cursesp.h,cursesw.h,cursslk.h,eti.h,etip.h,form.h,menu.h,nc_tparm.h,ncurses_dll.h,ncurses.h,panel.h,termcap.h,term_entry.h,term.h,tic.h,unctrl.h} ./
fi