Portable Object Compiler builds on OmniOS r151056 with gcc 14.3. Also cursel builds and works ok on OmniOS.
add SUSE SLES 16.0 to Platforms.txt
The openSUSE rpm for Tumbleweed x86_64 also installs on SUSE SLES 16.0. The compiler 3.4.11 builds on SLES 16 with gcc 15.1.1 on the Linux 6.12.0 kernel. Cursel 1.1.3 runs on SLES 16 with ncurses 6.5 version 20250531 in console mode (TERM=linux).
I've placed binaries objc-3.4.11-1.i586.rpm and objc-3.4.10-1.x86_64.rpm for openSUSE Tumbleweed with Linux kernel 6.17.6-1 and gcc 15.2.1 using automake 1.18, autoconf 2.72 and byacc 20241231 in the openSUSE folder at https://sourceforge.net/projects/objc/files/opensuse/. The amd64 64bit rpm also installs on openSUSE Leap 16, it seems.
For me cursel 1.1.3 runs fine on openSUSE Tumbleweed with gcc 15.2.1 and Portable Object Compiler 3.4.11 (both AMD64 and Intel i586). Some new options are ./configure --without-ncursesw or --with-ncurses. Is the SLES15 system - where you said you installed objc-3.3.16-1.x86_64 and objc-3.4.3-1.x86_64 rpms, is it please under support from SUSE ? If you have a subscription (to get updates via "zypper"), perhaps best check with SUSE before changing anything, but in theory I think it would be useful...
add -bdwgc option
update objc.spec, build without-gnu17 --with-impcplus
add openSUSE Tumbleweed i586/x86_64 gcc 15.21
I've placed new 3.4.10 packages for i586 (Pentium) and for x86_64 (AMD64) in the opensuse directory. Those are built on "Tumbleweed" 32bit and 64bit. Also I have enabled "sysstat" on the Pentium and AMD64 machine using: zypper install sysstat systemctl enable sysstat systemctl start sysstat so that "sar -r" shows free memory on the machines. "cursel" runs fine on the i586 with 1GB of RAM using the latest Linux kernel. "cursel" also builds and runs fine (and compiles much faster) on the modern AMD64...
I succesfully installed SUSE Tumbleweed with the Linux 6.17.6 kernel on both Intel pentium (physical hardware 32bit) and AMD Ryzen (physical hardware 64bit). SUSE Tumbleweed is available on both 32bit and 64bit (see https://www.opensuse.org/). It appears that SUSE Leap 16 with the new "Agama" installer is only 64bit but I have to check later. Anyway I do NOT suggest or encourage you to upgrade from SLES15 (not at all). In fact, I will certainly continue to support all versions of Slackware Linux...
Thanks for the feedback. SUSE SLES 15 is SUSE Linux Entreprise Server. I will test first on OpenSUSE (which is related to SUSE SLES). The OpenSUSE project has Desktop and Server OS, I'll first give it a try with objc 3.4.10 (which is the latest version of Portable Object Compiler) and cursel 1.0.2 (latest version from https://sourceforge.net/projects/cursel) on OpenSUSE Tumbleweed or OpenSUSE Leap. Tumbleweed and Leap are available both in x86 32 bit and 64 bit. From my perspective it is most important...
Hi, I have a problem with memory leaks in cursel. I can see that objects are created by new, but no free is issued. With the 32-bit version it caused an inconvenience, but 64-bit eats up all the memory. To get round this I tried recompiling cursel with -refcnt (-gc is not recognised) to invoke garbage collection, but this gives a seg fault. objc-3.3.16-1.x86_64 and objc-3.4.3-1.x86_64 on SLES 15 both give the seg fault. Is there something I have not installed to get garbage collection to work? Let...
Added objc-3.4.10 package. Test code in "make check" (test objut.m file) for computing Legendre Symbol.
Add LegrendreTest to Unit Test
unittest: TestSuite class
Add OpenBSD7.7 to list of Platforms.txt
add factorial test to src/unittest
Add --with-impcplus option to configure
add multivariate polynomial test in src/unittest
Add cakit test in unittest
objc-3.4.6
Add -impcplus option to objc1
replace -cplus option of objc1 by -c23 option
Use C++ style definition of IMP method pointer in C23
add PerfectNumberTest subclass of TestCase
configure objc driver for -std=gnu17
add openSUSE 16 to Platform.txt
add openSUSE 16
Add TestCase and TestSuite class
Move objcut.m to src/unittest
add examples/perfect.m
Added some test code in "make check" (test objut.m file equivalent to the following Smalltalk code) for perfect numbers 6,28,496,8128. Will add more tests in the future to objut.m d := #(2 3 5 7). c := OrderedCollection new. d do:[ :p | c add:((2 raisedToInteger:(p-1)) * ((2 raisedToInteger:p) - 1)). ]
add gcc 14.2 to Platform.txt
I've created a package Portable Object Compiler objc-3.3.48. This compiles for me with gcc 14.2 as C backend compiler and with byacc 20241231 as parser generator. For byacc I used the version from https://invisible-island.net/byacc/byacc.html
I've created a package Portable Object Compiler objc-3.3.48. This compiles for me with gcc 14.2 as C backend compiler and with byacc 20241231 as parser generator. For byacc I used the version from https://invisible-island.net/byacc/byacc.html.
objc-3.3.48: add eachElement test
add test for Bag class
Based on SUnit (Smalltalk Unit) the testing framework of Smalltalk, there is a simple objut.m (Object Unit Test) program in objc-3.3.46 (objc-3.3.46 is the latest release now as of 2024). The command to run the tests is : "make check" In the future additional tests wil be added to objut.m
update objut.m Unit Test - add OrderedCollection test
Add link to Taskmaster paper
add gcc 13.3 as compatible C compiler
I've released a package objc 3.3.45.
add howmany-utmpx.m example
Fix make distclean
Fix LEX='flex --nounistd' example
Add comment on Berkeley yacc
Portable Object Compiler 3.3.42 seems to compile fine using the latest byacc - 2.0 20240109 Any version of byacc should work, for convenience I have byacc 1.9.1 on the byacc files folder on this site but if the operating system (such as OpenBSD) has a native Berkeley yacc package (which is called yacc and not byacc there) that version of yacc can be used of course.
I hope that my answer helped and that you were able to compile Portable Object Compiler on OpenBSD for ARM. Before installing you optionally can run tests with : gmake test This should print something like : Portable Object Compiler 3.3.39 (c) 1997-2023. Distributed under the terms of the GNU LGPL. /usr/bin/objc objut.o -noLibs ../oclib/oclib.a ../objpak/objpak.a ../objcrt/objcrt.a -o objut ./objut Object ... Message Block Object Unit Test: number of classes is 105 Object Unit Test: success Note...
I've upgraded the autoconf related scripts to the 2023 (latest) release of GNU autoconf. As always I'm interested in submissions for the objc-3.3.42/Platforms.txt file (the config.guess output and additional info such as the C compiler that is being used or info on the CPU and hardware being targeted). Regards David Stes
Upgraded to autoconf 2.72
OpenBSD is an excellent UNIX distribution so hopefully I can help to get the Portable Object Compiler ported to OpenBSD 7.4 ARM. From looking at the screenshots, I think you correctly configured the boostrap compiler with configure --prefix=/opt/objc-bootstrap That is correct and well done so that the bootstrtap compiler was installed in /opt/objc-bootstrap. The next step is to build the real compiler and there you should use a different prefix. For the real compiler you can use something like: configure...
I was able to build the bootstrap compiler, however when I was building the compiler itself, it complained not finding yacc.h as seen from the attached screenshot. It seems to be looking for yacc.h file which doesn't seem to exist in OpenBSD 7.4 even if I already installed the default development tools and libraries of the platform. Can this dependency be removed during building of the compiler itself? Or are there workarounds to this? Please advise. Thank s.
Create configure with autoconf 2.71
Although I'm not generating the configure script with autoconf 2.71, I am releasing objc-3.3.40 (see src directory under Files) with an update to prepare for using autoconf 2.71 (in the future). For the moment the configure script is generated with autoconf 2.68 but future versions of POC will start using autoconf 2.71 or higher. Also I'm glad to say that a few months ago our submission for a macro for 'tentative definitions' was accepted in the autoconf-archive (a set of macros for configure/autoconf)....
remove AC_HEADER_STDC for autoconf 2.71
Add Debian 12.1 to Platforms
Portable Object Compiler 3.3.39 compiles and works without problems it seems on Debian 12 with gcc 12 (Debian 12.2.0-14) and interestingly, with the BSD yacc (byacc) bundled with Debian : byacc - 2.0 20221106 (installed by "apt install byacc"). Flex 2.6.4 and autoconf 2.7.1 / automake 1.16.5. I''ve created a .deb package and put in under files/debian. for amd64.
Installations instructions are at https://sourceforge.net/p/objc/code/ci/master/tree/Install.txt First build objc-bootstrap and install in some non-standard directory or non-standard location like: gnutar xvfz objc-3.3.38-bootstrap.tar.gz cd objc-3.3.38-bootstrap ./configure --prefix=/opt/objc-bootstrap make make install This installs in an unusual or non-standard place like /opt/objc-bootstrap, which is intentional. By this I mean, that the purpose is to install these files in an unusual location...
Hi David, Can you please guide me on the requirements to build this from source for OpenBSD? OpenBSD makes release every 6 months and would like to help making this project regularly available to that platform. Please advise. Thanks. On Fri, May 13, 2022 at 2:18 AM David Stes stes@users.sourceforge.net wrote: objpak is an implementation of the basic collection class library as described in Brad Cox' book on Objective-C. This implementation is relatively close to the classes as discussed there (see...
fix Exception class -otb build
move C tentative definition test to ax_cc_tentdef.m4