Install tcl/tk: sudo port install tk +x11 Cursed build system: http://repo.hu/projects/scconfig/ Download, build, and install fungw: curl -O 'http://www.repo.hu/projects/fungw/releases/fungw-1.2.2.tar.gz' tar zxvf fungw-1.2.2.tar.gz cd fungw-1.2.2 ./configure --prefix=/opt/forks /arg/tk-version=8.6 --CFLAGS="-I/opt/local/include" --LDFLAGS="-L/opt/local/lib" make because make install wasn't defined as phony: make: `install' is up to date. Go in and mark it as phony .PHONY: install install: cd libfungw && $(MAKE) install cd libfungwbind && $(MAKE) install cd doc && $(MAKE) install Build librnd: WARNING: Since there's no suitable system-installed fungw, only limited scripting is available using libfawk - if you need more scripting languages, install fungw and reconfigure librnd. WARNING: Since there's no gl support for gtk2 found, disabling the hid_gtk2_gl rendering... (you may need to install gtkglext1) WARNING: Since there's no libgtk4 and libepoxy found, disabling hid_gtk4_gl... curl -O 'http://www.repo.hu/projects/librnd/releases/librnd-4.4.0.tar.gz' tar zxvf librnd-4.4.0.tar.gz cd librnd-4.4.0 ./configure --prefix=/opt/forks /arg/tk-version=8.6 --CFLAGS="-I/opt/local/include -I/opt/forks/include" --LDFLAGS="-L/opt/local/lib -L/opt/forks/lib" make sudo make install Build sch-rnd curl -O 'http://www.repo.hu/projects/sch-rnd/releases/sch-rnd-1.0.10.tar.gz' tar zxvf sch-rnd-1.0.10.tar.gz cd sch-rnd-1.0.10 LIBRND_PREFIX=/opt/forks/ ./configure --prefix=/opt/forks /arg/tk-version=8.6 --CFLAGS="-I/opt/local/include -I/opt/forks/include" --LDFLAGS="-L/opt/local/lib -L/opt/forks/lib" make sudo make install NEEDS PHONY FIX. .PHONY: install To run requires: DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/opt/forks/lib" sch-rnd Build pcb-rnd curl -O 'http://www.repo.hu/projects/pcb-rnd/releases/pcb-rnd-3.1.7b.tar.gz' tar zxvf pcb-rnd-3.1.7b.tar.gz cd pcb-rnd-3.1.7b LIBRND_PREFIX=/opt/forks/ ./configure --prefix=/opt/forks /arg/tk-version=8.6 --CFLAGS="-I/opt/local/include -I/opt/forks/include" --LDFLAGS="-L/opt/local/lib -L/opt/forks/lib" make During make: cd src && /Applications/Xcode.app/Contents/Developer/usr/bin/make /Applications/Xcode.app/Contents/Developer/usr/bin/make revcheck cd ../scconfig && ./revtest Rev.stamp < Rev.tab /Applications/Xcode.app/Contents/Developer/usr/bin/make all_exe gcc -c -I/opt/local/include -I/opt/forks/include -fPIC -O3 -DNDEBUG -I. -I.. -I/opt/forks//include/librnd4 -I/opt/forks//include/librnd4/librnd/src_3rd -I/opt/forks//include -I../src_3rd -I../src -I../src_3rd/liblihata -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/webp -I/opt/local/include/libxml2 -o ../src_plugins/cam/cam.o ../src_plugins/cam/cam.c In file included from ../src_plugins/cam/cam.c:53: ../src_plugins/cam/cam_compile.c: In function 'cam_exec': ../src_plugins/cam/cam_compile.c:160:9: error: implicit declaration of function 'rnd_event'; did you mean 'endservent'? [-Wimplicit-function-declaration] 160 | rnd_event(&PCB->hidlib, RND_EVENT_EXPORT_SESSION_BEGIN, NULL); | ^~~~~~~~~ | endservent ../src_plugins/cam/cam_compile.c:160:33: error: 'RND_EVENT_EXPORT_SESSION_BEGIN' undeclared (first use in this function) 160 | rnd_event(&PCB->hidlib, RND_EVENT_EXPORT_SESSION_BEGIN, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src_plugins/cam/cam_compile.c:160:33: note: each undeclared identifier is reported only once for each function it appears in ../src_plugins/cam/cam_compile.c:167:33: error: 'RND_EVENT_EXPORT_SESSION_END' undeclared (first use in this function) 167 | rnd_event(&PCB->hidlib, RND_EVENT_EXPORT_SESSION_END, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src_plugins/cam/cam_compile.c:178:41: error: 'PCB_EVENT_LAYERVIS_CHANGED' undeclared (first use in this function) 178 | rnd_event(&PCB->hidlib, PCB_EVENT_LAYERVIS_CHANGED, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [../src_plugins/cam/cam.o] Error 1 make[1]: *** [all] Error 2 make: *** [all] Error 2 FIX: src_plugins/cam/cam_compile.c: Added #include NEXT: cd src && /Applications/Xcode.app/Contents/Developer/usr/bin/make /Applications/Xcode.app/Contents/Developer/usr/bin/make revcheck cd ../scconfig && ./revtest Rev.stamp < Rev.tab /Applications/Xcode.app/Contents/Developer/usr/bin/make all_exe gcc -c -I/opt/local/include -I/opt/forks/include -fPIC -O3 -DNDEBUG -I. -I.. -I/opt/forks//include/librnd4 -I/opt/forks//include/librnd4/librnd/src_3rd -I/opt/forks//include -I../src_3rd -I../src -I../src_3rd/liblihata -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/webp -I/opt/local/include/libxml2 -o ../src_plugins/cam/cam.o ../src_plugins/cam/cam.c In file included from ../src_plugins/cam/cam.c:53: ../src_plugins/cam/cam_compile.c: In function 'cam_exec': ../src_plugins/cam/cam_compile.c:179:41: error: 'PCB_EVENT_LAYERVIS_CHANGED' undeclared (first use in this function) 179 | rnd_event(&PCB->hidlib, PCB_EVENT_LAYERVIS_CHANGED, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../src_plugins/cam/cam_compile.c:179:41: note: each undeclared identifier is reported only once for each function it appears in make[2]: *** [../src_plugins/cam/cam.o] Error 1 make[1]: *** [all] Error 2 make: *** [all] Error 2 This one was never defined. FUCK. make clean and make again didn't fix the issue. Asked in IRC send over scconfig/config.log please send full logs after make clean FIXED! [10:44:41] good morning [10:45:10] good morning! [10:45:18] got your mail, will check soon [10:45:27] awesome, thanks very much! [10:45:27] I also like your home page! [10:45:35] haha thanks! [10:45:53] my favorite web browser is w3m [10:46:04] it's an eternal work in progress [10:46:05] one of the main features is that it does not have js! [10:46:19] not having javascript is one of the best things lately [10:46:34] every site is extremely bloated and filled with js [10:46:41] yeah 😞 [10:46:58] it has been a long time since I last tried w3m, maybe I should give it a go again [10:47:18] ok, so you have this: [10:47:20] -I/opt/local/include -I/opt/forks/include [10:47:29] these are early in your failing compile command line [10:47:40] a friend of mine is always trying to get me into links2 [10:47:43] may it be that there's an event.h in any of these? [10:47:49] that'd explain the strange error we get [10:47:52] oh, let me check [10:47:57] because the wrong even.h would be picked up [10:48:06] never thought of that possibility [10:48:12] it'd also explain why it doesn't happen elsewhere [10:48:34] I can't believe this. Bingo! [10:48:37] nathanpc facepalms [10:48:38] I had this suspiction yesterday, but now that I see the full context, with the custom flags, it makes sense to look at this possibility [10:48:40] cool! [10:48:48] it's a shortcoming of C and #includes [10:49:19] it's from libevent [10:49:27] cool, I know that one! [10:49:28] ok [10:49:34] so what you really want is this: [10:49:47] adding your custom -I's in a way they end up at the end, not in the front [10:50:44] or altenratively, we should have -I../src in front, as we always want that to override anything else [10:50:55] before we do anything about this, there's an administrative question [10:51:06] you should package a release tarball, never svn HEAD [10:51:15] but anything I fix can be done only in svn HEAD [10:51:43] so for me the easiest way dealing with this would be: [10:51:48] 1. I do a fix in svn [10:51:56] 2. you manually test directly from svn [10:52:13] 3. if it works, you take the patch and add it as a packaging patch, until the next release [10:52:20] would that work for you? [10:52:30] ok, that's fine by me! [10:53:04] ok, let me try to do this before lunch [10:53:17] thank you so much! [10:53:41] no hurry, I can wait for this [10:54:37] no worries, I have some 6 minutes before lunch time! [10:55:01] ok then, thanks! 😊 [10:56:14] Igor2 is test compiling [10:56:36] so please don't remove your libevent, we need the offender there for the test [10:57:01] don't worry, it'll be there haha [10:57:22] removing it would probably break half of my packages haha [10:57:27] Igor2 is running tests [11:00:00] <@strchr> (SVN) pcb-rnd rev: 40165 by igor2 | [scconfig] -Fix: make sure our own -I's are before user supplied -I's in the CFLAGS; Nathan demonstrated a case where prepending user supplied -I made CC find libevent's event.h sooner than our ../src/event.h while compiling plugins|| [11:00:21] ok, so please make an svn checkout of pcb-rnd trunk and try that with the same ./configure line [11:00:35] non need to redo librnd or anything else [11:01:03] Igor2 is starting lunch [11:01:46] alright! [11:01:51] have a nice lunch [11:02:00] thanks! [11:03:17] build state change: pcb-rnd from unkown to good in r40165 [11:13:21] it compiled! [11:14:43] great! [11:14:56] this is how you can get a patch: [11:15:09] svn diff -c 40165 svn://svn.repo.hu/pcb-rnd [11:26:30] thanks! [11:27:11] now I'll have to build the package... svn diff -c 40165 svn://svn.repo.hu/pcb-rnd: Index: trunk/src/Makefile.in =================================================================== --- trunk/src/Makefile.in (revision 40164) +++ trunk/src/Makefile.in (revision 40165) @@ -1,4 +1,4 @@ -append /local/rnd/CFLAGS [@-I. -I.. -I@/local/pcb/librnd_prefix@/include/librnd4 -I@/local/pcb/librnd_prefix@/include/librnd4/librnd/src_3rd @?/local/pcb/librnd_extra_inc@ -I../src_3rd -I../src -I../src_3rd/liblihata @] +put /local/rnd/CFLAGS [@-I. -I.. -I@/local/pcb/librnd_prefix@/include/librnd4 -I@/local/pcb/librnd_prefix@/include/librnd4/librnd/src_3rd @?/local/pcb/librnd_extra_inc@ -I../src_3rd -I../src -I../src_3rd/liblihata @/local/rnd/CFLAGS@ @] append /local/rnd/LDFLAGS [@@?/local/pcb/librnd_extra_ldf@@] append /local/rnd/LDFLAGS cc/ldflags append /local/rnd/LDFLAGS cc/rdynamic BUILDS AND RUNS!!! YAY!!