Hello, I've noticed a few emails about running Cog on FreeBSD on some of the other mailing lists and was wondering if it would be possible to get a few patches integrated into the main repository? Sorry if I'm not following protocol for patch submission or style, I couldn't find any guidelines. I'd be happy to resubmit if this isn't the place. With the following patches, Cog r2372 will compile and run on FreeBSD (and PCBSD) 8.2 i386. I've been able to use Squeak, Pharo, and Seaside images. Here is the configure line: ../../platforms/unix/config/configure CFLAGS="-g -O2 -msse2 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DNOEXECINFO -DDEBUGVM=0" LIBS=-lpthread --without-npsqueak Here is the diff. Index: platforms/unix/plugins/SqueakFFIPrims/ffi-config =================================================================== --- platforms/unix/plugins/SqueakFFIPrims/ffi-config (revision 2372) +++ platforms/unix/plugins/SqueakFFIPrims/ffi-config (working copy) @@ -39,6 +39,7 @@ case ${abi} in linux) abi=sysv;; + freebsd) abi=sysv;; darwin*) abi=darwin;; *) abi=libffi; lib="-lffi";; esac Index: platforms/unix/vm/sqUnixMain.c =================================================================== --- platforms/unix/vm/sqUnixMain.c (revision 2372) +++ platforms/unix/vm/sqUnixMain.c (working copy) @@ -60,6 +60,9 @@ # include <execinfo.h> # define BACKTRACE_DEPTH 64 #endif +#if __FreeBSD__ +# include <sys/ucontext.h> +#endif #if defined(__alpha__) && defined(__osf__) # include <sys/sysinfo.h> @@ -777,6 +780,9 @@ # elif __linux__ && __i386__ void *fp = (void *)(uap ? uap->uc_mcontext.gregs[REG_EBP]: 0); void *sp = (void *)(uap ? uap->uc_mcontext.gregs[REG_ESP]: 0); +# elif __FreeBSD__ && __i386__ + void *fp = (void *)(uap ? uap->uc_mcontext.mc_ebp: 0); + void *sp = (void *)(uap ? uap->uc_mcontext.mc_esp: 0); # else # error need to implement extracting pc from a ucontext_t on this system # endif Index: platforms/Cross/plugins/SqueakFFIPrims/sqFFIPlugin.c =================================================================== --- platforms/Cross/plugins/SqueakFFIPrims/sqFFIPlugin.c (revision 2372) +++ platforms/Cross/plugins/SqueakFFIPrims/sqFFIPlugin.c (working copy) @@ -10,7 +10,7 @@ *****************************************************************************/ #include <stdio.h> -#if !WIN32 +#if !WIN32 && !__FreeBSD__ # include <alloca.h> #endif #include <string.h> |
On 21 March 2011 14:50, David Graham <[hidden email]> wrote: > > Hello, > > I've noticed a few emails about running Cog on FreeBSD on some of the other mailing lists and was wondering if it would be possible to get a few patches integrated into the main repository? Sorry if I'm not following protocol for patch submission or style, I couldn't find any guidelines. I'd be happy to resubmit if this isn't the place. > Hello, David. You could make things much easier if you could register at gitorious.org and clone cogvm repository (http://gitorious.org/cogvm) Then you can have own copy of sources and publish your changes there. So, then its extremely easy to pick them up and integrate them in a couple of minutes. And more important, in a longer perspective it will serve much better: - your changes will be recorded (and not lost in mailing list) - if you find another bug or two, you already have a place where to put it and its much easier for others to pick them up.. In addition we can create a separate FreeBSD configuration which could build VM out of the box (see CMakeVMMaker package). Another thing which could be done is , if you (or someone else) having FreeBSD box where you could install Hudson slave software, then we could add it to our continuous integration setup (see https://pharo-ic.lille.inria.fr/hudson/view/Cog/), and then you will have freshly built VMs each time we posting changes to VM. > With the following patches, Cog r2372 will compile and run on FreeBSD (and PCBSD) 8.2 i386. I've been able to use Squeak, Pharo, and Seaside images. Here is the configure line: > > ../../platforms/unix/config/configure CFLAGS="-g -O2 -msse2 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DNOEXECINFO -DDEBUGVM=0" LIBS=-lpthread --without-npsqueak > > Here is the diff. > Index: platforms/unix/plugins/SqueakFFIPrims/ffi-config > =================================================================== > --- platforms/unix/plugins/SqueakFFIPrims/ffi-config (revision 2372) > +++ platforms/unix/plugins/SqueakFFIPrims/ffi-config (working copy) > @@ -39,6 +39,7 @@ > > case ${abi} in > linux) abi=sysv;; > + freebsd) abi=sysv;; > darwin*) abi=darwin;; > *) abi=libffi; lib="-lffi";; > esac > Index: platforms/unix/vm/sqUnixMain.c > =================================================================== > --- platforms/unix/vm/sqUnixMain.c (revision 2372) > +++ platforms/unix/vm/sqUnixMain.c (working copy) > @@ -60,6 +60,9 @@ > # include <execinfo.h> > # define BACKTRACE_DEPTH 64 > #endif > +#if __FreeBSD__ > +# include <sys/ucontext.h> > +#endif > > #if defined(__alpha__) && defined(__osf__) > # include <sys/sysinfo.h> > @@ -777,6 +780,9 @@ > # elif __linux__ && __i386__ > void *fp = (void *)(uap ? uap->uc_mcontext.gregs[REG_EBP]: 0); > void *sp = (void *)(uap ? uap->uc_mcontext.gregs[REG_ESP]: 0); > +# elif __FreeBSD__ && __i386__ > + void *fp = (void *)(uap ? uap->uc_mcontext.mc_ebp: 0); > + void *sp = (void *)(uap ? uap->uc_mcontext.mc_esp: 0); > # else > # error need to implement extracting pc from a ucontext_t on this system > # endif > Index: platforms/Cross/plugins/SqueakFFIPrims/sqFFIPlugin.c > =================================================================== > --- platforms/Cross/plugins/SqueakFFIPrims/sqFFIPlugin.c (revision 2372) > +++ platforms/Cross/plugins/SqueakFFIPrims/sqFFIPlugin.c (working copy) > @@ -10,7 +10,7 @@ > *****************************************************************************/ > > #include <stdio.h> > -#if !WIN32 > +#if !WIN32 && !__FreeBSD__ > # include <alloca.h> > #endif > #include <string.h> -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by dsg
Hi David, On Mon, Mar 21, 2011 at 6:50 AM, David Graham <[hidden email]> wrote:
This'll do. This is the place. Thanks, but I have some reservations.
Thanks.
This should be irrelevant. You should not be building the old plugin but instead be using ReentrantFFIPlugin or ThreadedFFIPlugin. Is this simply to get the configure to run? If so I'll try and excise support for the old FFI plugin.
Index: platforms/unix/vm/sqUnixMain.c Excellent. Thanks. Index: platforms/Cross/plugins/SqueakFFIPrims/sqFFIPlugin.c Great, thanks!
|
In reply to this post by Igor Stasenko
On Mar 21, 2011, at 9:03 AM, Igor Stasenko wrote: > > On 21 March 2011 14:50, David Graham <[hidden email]> wrote: >> >> Hello, >> >> I've noticed a few emails about running Cog on FreeBSD on some of the other mailing lists and was wondering if it would be possible to get a few patches integrated into the main repository? Sorry if I'm not following protocol for patch submission or style, I couldn't find any guidelines. I'd be happy to resubmit if this isn't the place. >> > > Hello, David. > > You could make things much easier if you could register at gitorious.org and > clone cogvm repository (http://gitorious.org/cogvm) > Done. http://gitorious.org/~dgraham/cogvm/dgraham-freebsd > > In addition we can create a separate FreeBSD configuration which could > build VM out of the box (see CMakeVMMaker package). > > Another thing which could be done is , if you (or someone else) having > FreeBSD box where you could install Hudson slave software, > then we could add it to our continuous integration setup (see > https://pharo-ic.lille.inria.fr/hudson/view/Cog/), and then you will > have freshly built VMs each time we posting changes to VM. > I'd be interested in getting this working, is there someone I can contact directly? Thanks, David |
Thanks david contact marcus or igor [hidden email] or igor since they manage the slaves. We are waiting for a windows slave. Stef >>> Hello, David. >> >> You could make things much easier if you could register at gitorious.org and >> clone cogvm repository (http://gitorious.org/cogvm) >> > > Done. http://gitorious.org/~dgraham/cogvm/dgraham-freebsd > >> >> In addition we can create a separate FreeBSD configuration which could >> build VM out of the box (see CMakeVMMaker package). >> >> Another thing which could be done is , if you (or someone else) having >> FreeBSD box where you could install Hudson slave software, >> then we could add it to our continuous integration setup (see >> https://pharo-ic.lille.inria.fr/hudson/view/Cog/), and then you will >> have freshly built VMs each time we posting changes to VM. >> > > I'd be interested in getting this working, is there someone I can contact directly? > > Thanks, > David > |
In reply to this post by dsg
On Mon, Mar 21, 2011 at 08:50:25AM -0500, David Graham wrote: > With the following patches, Cog r2372 will compile and run on FreeBSD > (and PCBSD) 8.2 i386. I've been able to use Squeak, Pharo, and Seaside > images. Here is the configure line: Hi David, Have you by chance tested your patches on 7.x? I'm still running the older version of Cog I built on 7.3, since 7.3 is an LTS. Will try your patches but just wondering. Thanks. Pierce |
In reply to this post by Eliot Miranda-2
Thanks Eliot! > > Index: platforms/unix/plugins/SqueakFFIPrims/ffi-config > =================================================================== > --- platforms/unix/plugins/SqueakFFIPrims/ffi-config (revision 2372) > +++ platforms/unix/plugins/SqueakFFIPrims/ffi-config (working copy) > @@ -39,6 +39,7 @@ > > case ${abi} in > linux) abi=sysv;; > + freebsd) abi=sysv;; > darwin*) abi=darwin;; > *) abi=libffi; lib="-lffi";; > esac > > This should be irrelevant. You should not be building the old plugin but instead be using ReentrantFFIPlugin or ThreadedFFIPlugin. Is this simply to get the configure to run? If so I'll try and excise support for the old FFI plugin. > Sorry, I picked this up from the freebsd squeak port and didn't realize it wasn't needed anymore. Cog will configure, build, and run without this change. The other two patches are required to successfully build. |
In reply to this post by Pierce Ng-2
Hi Pierce, I haven't tested on FreeBSD 7, but none of my changes are specific to 8. Also, most of my testing is with headless builds using RFBServer in the image (I'm running Amazon EC2, ARP Networks VPS, and vmware instances), although I did fire up PCBSD to make sure x11 worked. On Mar 22, 2011, at 6:23 AM, Pierce Ng wrote: > > On Mon, Mar 21, 2011 at 08:50:25AM -0500, David Graham wrote: >> With the following patches, Cog r2372 will compile and run on FreeBSD >> (and PCBSD) 8.2 i386. I've been able to use Squeak, Pharo, and Seaside >> images. Here is the configure line: > > Hi David, > > Have you by chance tested your patches on 7.x? > > I'm still running the older version of Cog I built on 7.3, since 7.3 is an > LTS. Will try your patches but just wondering. > > Thanks. > > Pierce > > |
I have a (jail on a) FreeBSD 7.3 machine, if we need a Hudson slave. Can slaves run behind a NAT? frank On 2011/03/22 16:06, David Graham wrote: > > Hi Pierce, > I haven't tested on FreeBSD 7, but none of my changes are specific to 8. Also, most of my testing is with headless builds using RFBServer in the image (I'm running Amazon EC2, ARP Networks VPS, and vmware instances), although I did fire up PCBSD to make sure x11 worked. > > > On Mar 22, 2011, at 6:23 AM, Pierce Ng wrote: > >> >> On Mon, Mar 21, 2011 at 08:50:25AM -0500, David Graham wrote: >>> With the following patches, Cog r2372 will compile and run on FreeBSD >>> (and PCBSD) 8.2 i386. I've been able to use Squeak, Pharo, and Seaside >>> images. Here is the configure line: >> >> Hi David, >> >> Have you by chance tested your patches on 7.x? >> >> I'm still running the older version of Cog I built on 7.3, since 7.3 is an >> LTS. Will try your patches but just wondering. >> >> Thanks. >> >> Pierce >> >> > > > |
>>>>> "Frank" == Frank Shearar <[hidden email]> writes: Frank> I have a (jail on a) FreeBSD 7.3 machine, if we need a Hudson slave. Frank> Can slaves run behind a NAT? I recently gave a slave a 127.1/16 address on my box, and then used pf BINAT to allow selective inward/outward connections to a secondary public IP I had. Worked pretty well. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <[hidden email]> <URL:http://www.stonehenge.com/merlyn/> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.posterous.com/ for Smalltalk discussion |
On 2011/03/22 16:21, Randal L. Schwartz wrote: >>>>>> "Frank" == Frank Shearar<[hidden email]> writes: > > Frank> I have a (jail on a) FreeBSD 7.3 machine, if we need a Hudson slave. > > Frank> Can slaves run behind a NAT? > > I recently gave a slave a 127.1/16 address on my box, and then used pf > BINAT to allow selective inward/outward connections to a secondary > public IP I had. Worked pretty well. I was thinking primarily of my laptop, which I'm happy to have as a slave. It's not always online, and it's always behind some NAT or other, so I wondered whether it'd be suitable as a hudson slave. But my FreeBSD jail has a public IP so I just need to be told how to set it up! frank |
On 22 March 2011 17:32, Frank Shearar <[hidden email]> wrote: > > On 2011/03/22 16:21, Randal L. Schwartz wrote: >>>>>>> >>>>>>> "Frank" == Frank Shearar<[hidden email]> writes: >> >> Frank> I have a (jail on a) FreeBSD 7.3 machine, if we need a Hudson >> slave. >> >> Frank> Can slaves run behind a NAT? >> >> I recently gave a slave a 127.1/16 address on my box, and then used pf >> BINAT to allow selective inward/outward connections to a secondary >> public IP I had. Worked pretty well. > > I was thinking primarily of my laptop, which I'm happy to have as a slave. > It's not always online, and it's always behind some NAT or other, so I > wondered whether it'd be suitable as a hudson slave. > > But my FreeBSD jail has a public IP so I just need to be told how to set it > up! > and put the attached file to its .ssh dir (in attachment) (and probably you have to enable sshd options somewhere to use authorized_keys file(s) if its not on by default) You also need a working java there. And give your IP :) > frank > -- Best regards, Igor Stasenko AKA sig. authorized_keys (566 bytes) Download Attachment |
On 2011/03/22 18:25, Igor Stasenko wrote: > > > > > On 22 March 2011 17:32, Frank Shearar<[hidden email]> wrote: >> >> On 2011/03/22 16:21, Randal L. Schwartz wrote: >>>>>>>> >>>>>>>> "Frank" == Frank Shearar<[hidden email]> writes: >>> >>> Frank> I have a (jail on a) FreeBSD 7.3 machine, if we need a Hudson >>> slave. >>> >>> Frank> Can slaves run behind a NAT? >>> >>> I recently gave a slave a 127.1/16 address on my box, and then used pf >>> BINAT to allow selective inward/outward connections to a secondary >>> public IP I had. Worked pretty well. >> >> I was thinking primarily of my laptop, which I'm happy to have as a slave. >> It's not always online, and it's always behind some NAT or other, so I >> wondered whether it'd be suitable as a hudson slave. >> >> But my FreeBSD jail has a public IP so I just need to be told how to set it >> up! >> > > create a user named hudson > and put the attached file to its .ssh dir > (in attachment) > > (and probably you have to enable sshd options somewhere to use > authorized_keys file(s) if its not on by default) > > You also need a working java there. > And give your IP :) OK, the account's set up, and I have a java 1.6 installed. You also have my IP, in another mail :) frank |
>>>> >>>> Frank> I have a (jail on a) FreeBSD 7.3 machine, if we need a Hudson >>>> slave. >>>> >>>> Frank> Can slaves run behind a NAT? >>>> >>>> I recently gave a slave a 127.1/16 address on my box, and then used pf >>>> BINAT to allow selective inward/outward connections to a secondary >>>> public IP I had. Worked pretty well. >>> >>> I was thinking primarily of my laptop, which I'm happy to have as a slave. >>> It's not always online, and it's always behind some NAT or other, so I >>> wondered whether it'd be suitable as a hudson slave. >>> >>> But my FreeBSD jail has a public IP so I just need to be told how to set it >>> up! >>> >> >> create a user named hudson >> and put the attached file to its .ssh dir >> (in attachment) >> >> (and probably you have to enable sshd options somewhere to use >> authorized_keys file(s) if its not on by default) >> >> You also need a working java there. >> And give your IP :) > > OK, the account's set up, and I have a java 1.6 installed. > > You also have my IP, in another mail :) > > frank We probably don't need two freebsd build servers, but I now have a dedicated host available if you guys are still interested? |
On 2011/03/22 22:15, David Graham wrote: > >>>>> >>>>> Frank> I have a (jail on a) FreeBSD 7.3 machine, if we need a Hudson >>>>> slave. >>>>> >>>>> Frank> Can slaves run behind a NAT? >>>>> >>>>> I recently gave a slave a 127.1/16 address on my box, and then used pf >>>>> BINAT to allow selective inward/outward connections to a secondary >>>>> public IP I had. Worked pretty well. >>>> >>>> I was thinking primarily of my laptop, which I'm happy to have as a slave. >>>> It's not always online, and it's always behind some NAT or other, so I >>>> wondered whether it'd be suitable as a hudson slave. >>>> >>>> But my FreeBSD jail has a public IP so I just need to be told how to set it >>>> up! >>>> >>> >>> create a user named hudson >>> and put the attached file to its .ssh dir >>> (in attachment) >>> >>> (and probably you have to enable sshd options somewhere to use >>> authorized_keys file(s) if its not on by default) >>> >>> You also need a working java there. >>> And give your IP :) >> >> OK, the account's set up, and I have a java 1.6 installed. >> >> You also have my IP, in another mail :) >> >> frank > > > We probably don't need two freebsd build servers, but I now have a dedicated host available if you guys are still interested? David, I offered because I thought you were running 8, and it'd be useful verifying things on both a 7.x and 8.x machine. (Also, for extra kinks/kicks my box is an amd64, so that might help push the envelope further.) But even if you're also running a 7.3 amd64, a bit of redundancy won't hurt. frank |
On 22 March 2011 23:24, Frank Shearar <[hidden email]> wrote: > > On 2011/03/22 22:15, David Graham wrote: >> >>>>>> >>>>>> Frank> I have a (jail on a) FreeBSD 7.3 machine, if we need a >>>>>> Hudson >>>>>> slave. >>>>>> >>>>>> Frank> Can slaves run behind a NAT? >>>>>> >>>>>> I recently gave a slave a 127.1/16 address on my box, and then used pf >>>>>> BINAT to allow selective inward/outward connections to a secondary >>>>>> public IP I had. Worked pretty well. >>>>> >>>>> I was thinking primarily of my laptop, which I'm happy to have as a >>>>> slave. >>>>> It's not always online, and it's always behind some NAT or other, so I >>>>> wondered whether it'd be suitable as a hudson slave. >>>>> >>>>> But my FreeBSD jail has a public IP so I just need to be told how to >>>>> set it >>>>> up! >>>>> >>>> >>>> create a user named hudson >>>> and put the attached file to its .ssh dir >>>> (in attachment) >>>> >>>> (and probably you have to enable sshd options somewhere to use >>>> authorized_keys file(s) if its not on by default) >>>> >>>> You also need a working java there. >>>> And give your IP :) >>> >>> OK, the account's set up, and I have a java 1.6 installed. >>> >>> You also have my IP, in another mail :) >>> >>> frank >> >> >> We probably don't need two freebsd build servers, but I now have a >> dedicated host available if you guys are still interested? > > David, I offered because I thought you were running 8, and it'd be useful > verifying things on both a 7.x and 8.x machine. (Also, for extra kinks/kicks > my box is an amd64, so that might help push the envelope further.) > > But even if you're also running a 7.3 amd64, a bit of redundancy won't hurt. > Yep. No problem.. we could use both slaves for SETI program (in case of need ;) > frank > -- Best regards, Igor Stasenko AKA sig. |
So, at this point could someone either build me a FreeBSD 8.1 amd64 VM, or point me at an up-to-date set of instructions to build it myself? And it'd be nice to get the FreeBSD "port" updated as well, since I'd rather install it from a port. The existing port is still building 3.9 at patchlevel 7067. :) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <[hidden email]> <URL:http://www.stonehenge.com/merlyn/> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.posterous.com/ for Smalltalk discussion |
In reply to this post by Frank Shearar
>> >> We probably don't need two freebsd build servers, but I now have a dedicated host available if you guys are still interested? > > David, I offered because I thought you were running 8, and it'd be useful verifying things on both a 7.x and 8.x machine. (Also, for extra kinks/kicks my box is an amd64, so that might help push the envelope further.) > > But even if you're also running a 7.3 amd64, a bit of redundancy won't hurt. > > frank Hi Frank, Sounds good, I just didn't know if it would create extra work for the build admins. You're correct, the host is FreeBSD 8.2 i386. thanks, David |
In reply to this post by Randal L. Schwartz
On 22 March 2011 23:35, Randal L. Schwartz <[hidden email]> wrote: > > > So, at this point could someone either build me a FreeBSD 8.1 amd64 VM, > or point me at an up-to-date set of instructions to build it myself? > Here i sketched a brief instructions how to do that: http://code.google.com/p/cog/wiki/CMakeVMMaker > And it'd be nice to get the FreeBSD "port" updated as well, since I'd > rather install it from a port. The existing port is still building > 3.9 at patchlevel 7067. :) > > -- > Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 > <[hidden email]> <URL:http://www.stonehenge.com/merlyn/> > Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. > See http://methodsandmessages.posterous.com/ for Smalltalk discussion > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by dsg
On 22 March 2011 23:38, David Graham <[hidden email]> wrote: > >>> >>> We probably don't need two freebsd build servers, but I now have a dedicated host available if you guys are still interested? >> >> David, I offered because I thought you were running 8, and it'd be useful verifying things on both a 7.x and 8.x machine. (Also, for extra kinks/kicks my box is an amd64, so that might help push the envelope further.) >> >> But even if you're also running a 7.3 amd64, a bit of redundancy won't hurt. >> >> frank > > > Hi Frank, > > Sounds good, I just didn't know if it would create extra work for the build admins. You're correct, the host is FreeBSD 8.2 i386. > Adding/configuring extra job(s) is few minutes. We reuse existing (and working jobs) as a template, so mostly its just a copy/paste process with changing some little details. > thanks, > David > > -- Best regards, Igor Stasenko AKA sig. |
Free forum by Nabble | Edit this page |