-
-
Notifications
You must be signed in to change notification settings - Fork 213
Building SC IM
Chad Skeeters edited this page Jul 2, 2024
·
27 revisions
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.
- 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.
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.
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