Recently I am trying to build my own desktop environment on NetBSD which is based on current branch and using current pkgsrc for packages. I successfully built up to date MATE 1.22.1 desktop environment but got stuck on pretty outaded CodeLite IDE (9.1.0 in pkgsrc compared to 13.0.0 being the latest at the time of writing). The first error I hit by was:
/usr/pkgsrc/editors/codelite/work/codelite-9.1/LiteEditor/clangpch_cache.h:35:10: fatal error: clang-c/Index.h: No such file or directory
Since I was quite sure that I should have it, I quickly looked around and I found that header exists in /usr/pkg/include/clang-c/Index.h. So quick workaround was quite obvious by setting CFLAGS environment variable to point to pkg include folder. Since I checked that this variable didn’t have any value, I just simply did:
It helped me to finish the build successfully but linking failed with “ld: cannot find -lclang” error… So yet another environment variable was needed:
After that linking went successfully but it wasn’t the end of the story yet. Package PLIST file contained 5 files which were not available after the build. Apparently spell checker was not part of the build for some reason and lib/codelite/SpellCheck.so and all files in share/codelite/dics/ folder (including folder itself) were missing. Because of this pkg_create was failing to assemble the installation package. You would see messages like “pkg_create: can’t stat <filename>”. I just decided remove those files from PLIST file:fossil diff --unified PLIST
@@ -22,11 +22,10 @@
@@ -64,14 +63,10 @@
Unfortunately there is one caveat that after changing this file I needed to make a clean build again (make clean before make install). Fortunately, it doesn’t take long to rebuild CodeLite on modern CPU, especially if all cores are utilized. Finally, after all the struggles CodeLite IDE started successfully (even if it’s a relatively old version).
Update: Actually I managed to build the latest CodeLite (13.0.1) too straight from github source code. The most applied patches were the same as pkgsrc package has (actually seems even less is needed now). Manually I needed to add /usr/pkg/libexec/wx-3.0 to PATH since build script need wx-config and I also needed to change libssh.so path to from /usr/lib/libssh.so to /usr/pkg/lib/libssh.so (libssh-0.87) in CMakeFiles/<module>.dir/link.txt files which were linking against it. Probably updating pkgsrc package should not be difficult too considering my relatively easy success , so I guess package is not actively maintained anymore. Will see if I can prepare a patch.