|
OpenBSD Installation and Upgrading Installing and upgrading OpenBSD. |
|
Thread Tools | Display Modes |
|
|||
Minimum Specs to Build -stable
I'm trying to build a -stable base system and X release on a small virtual machine for quick distribution to a few machines as per the release(8) instructions, but it keeps crashing during the userland build in step 3. I can't find any recommendations for compiling the kernel and userland from source, but I'm guessing 1 GB RAM on 1 CPU isn't sufficient?
|
|
|||
Sorry, that really is useless, vague information! I was wondering if there are any minimum recommended specs to build userland in OpenBSD as I don't think this is a case of any build errors but a case of the system becoming unresponsive due to stress. The system would freeze; top(1) would show increasingly more demand being placed on the system before the machine became unresponsive.
|
|
||||
OK, since your problem report so far doesn't let me help you....and your two messages report different symptoms (a "crash" is not a "hang")....
1. How much swap space do you have configured in your 1G RAM systems? 2. Where in your build process do your compiles stop operating ("hang") or fail ("crash")? Is it at the same point each time? Different points? If the same point, what is it building? Here's a hint: use script(1) post-processed with col(1) -b, or the pipe-pane command in tmux(1) to log your builds. Determine if the builds hang or crash at the same point each time, and, if there is a crash, capture the actual error messages produced.3. You posted that top(1) reports "demand." What does that mean? I'm sorry, but I'm not looking over your shoulder at your workstation. I can only see what you post in this forum. Last edited by jggimi; 20th March 2018 at 09:17 AM. Reason: stress -> demand |
|
|||
That's cool. I know I haven't provided anything useful. Hopefully this helps.
The build hangs at different points each time. This latest attempt, the console froze at this point for a long time without any movement: Code:
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -p /usr/src/lib/libfuse/dict.c -o dict.po cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -p /usr/src/lib/libfuse/fuse.c -o fuse.po cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -p /usr/src/lib/libfuse/fuse_ops.c -o fuse_ops.po cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -p /usr/src/lib/libfuse/fuse_opt.c -o fuse_opt.po cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -p /usr/src/lib/libfuse/fuse_subr.c -o fuse_subr.po cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -p /usr/src/lib/libfuse/tree.c -o tree.po building profiled fuse library ranlib libfuse_p.a cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -fpic -DPIC /usr/src/lib/libfuse/debug.c -o debug.so cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -fpic -DPIC /usr/src/lib/libfuse/dict.c -o dict.so cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -fpic -DPIC /usr/src/lib/libfuse/fuse.c -o fuse.so cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -fpic -DPIC /usr/src/lib/libfuse/fuse_ops.c -o fuse_ops.so cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -fpic -DPIC /usr/src/lib/libfuse/fuse_opt.c -o fuse_opt.so cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -fpic -DPIC /usr/src/lib/libfuse/fuse_subr.c -o fuse_subr.so cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG -MD -MP -c -fpic -DPIC /usr/src/lib/libfuse/tree.c -o tree.so building shared fuse library (version 1.1) cc -shared -fpic -o libfuse.so.1.1 `echo debug.so dict.so fuse.so fuse_ops.so fuse_opt.so fuse_subr.so tree.so | tr ' ' '\n' | sort -R` ===> libkeynote yacc -d -d -p kn -b k /usr/src/lib/libkeynote/keynote.y cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c k.tab.c -o k.tab.o lex -Cr -Pkn -s -i /usr/src/lib/libkeynote/keynote.l cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c lex.kn.c -o lex.kn.o cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c /usr/src/lib/libkeynote/environment.c -o environment.o cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c /usr/src/lib/libkeynote/parse_assertion.c -o parse_assertion.o cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c /usr/src/lib/libkeynote/signature.c -o signature.o cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c /usr/src/lib/libkeynote/auxil.c -o auxil.o cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c /usr/src/lib/libkeynote/base64.c -o base64.o building standard keynote library ranlib libkeynote.a cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c -p k.tab.c -o k.tab.po cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c -p lex.kn.c -o lex.kn.po cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c -p /usr/src/lib/libkeynote/environment.c -o environment.po cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c -p /usr/src/lib/libkeynote/parse_assertion.c -o parse_assertion.po cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c -p /usr/src/lib/libkeynote/signature.c -o signature.po cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c -p /usr/src/lib/libkeynote/auxil.c -o auxil.po cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote -MD -MP -c -p /usr/src/lib/libkeynote/base64.c -o base64.po building profiled keynote library ranlib libkeynote_p.a ===> libkvm cc -O2 -pipe -g -D_LIBKVM -MD -MP -c /usr/src/lib/libkvm/kvm_i386.c -o kvm_i386.o cc -O2 -pipe -g -D_LIBKVM -MD -MP -c /usr/src/lib/libkvm/kvm.c -o kvm.o cc -O2 -pipe -g -D_LIBKVM -MD -MP -c /usr/src/lib/libkvm/kvm_file2.c -o kvm_file2.o cc -O2 -pipe -g -D_LIBKVM -MD -MP -c /usr/src/lib/libkvm/kvm_getloadavg.c -o kvm_getloadavg.o cc -O2 -pipe -g -D_LIBKVM -MD -MP -c /usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o cc -O2 -pipe -g -D_LIBKVM -MD -MP -c /usr/src/lib/libkvm/kvm_proc2.c -o kvm_proc2.o cc -O2 -pipe -g -D_LIBKVM -MD -MP -c /usr/src/lib/libkvm/kvm_cd9660.c -o kvm_cd9660.o cc -O2 -pipe -g -D_LIBKVM -MD -MP -c /usr/src/lib/libkvm/kvm_udf.c -o kvm_udf.o cc -O2 -pipe -g -D_LIBKVM -MD -MP -c /usr/src/lib/libkvm/kvm_ntfs.c -o kvm_ntfs.o building standard kvm library ranlib libkvm.a cc -O2 -pipe -g -D_LIBKVM -MD -MP -c -p /usr/src/lib/libkvm/kvm_i386.c -o kvm_i386.po cc -O2 -pipe -g -D_LIBKVM -MD -MP -c -p /usr/src/lib/libkvm/kvm.c -o kvm.po cc -O2 -pipe -g -D_LIBKVM -MD -MP -c -p /usr/src/lib/libkvm/kvm_file2.c -o kvm_file2.po packet_write_wait: Connection to port 22: Broken pipe Code:
$ tail stableBuild.log cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden -MD -MP -c /usr/src/lib/libexpat/lib/xmlrole.c -o xmlrole.o building standard expat library ranlib libexpat.a cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden -MD -MP -c -p /usr/src/lib/libexpat/lib/xmlparse.c -o xmlparse.po cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden -MD -MP -c -p /usr/src/lib/libexpat/lib/xmltok.c -o xmltok.po cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden -MD -MP -c -p /usr/src/lib/libexpat/lib/xmlrole.c -o xmlrole.po building profiled expat library ranlib libexpat_p.a cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden -MD -MP -c -fpic -DPIC /usr/src/lib/libexpat/lib/xmlparse.c -o xmlparse.so cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden -MD -MP -c -fpic -DPIC /usr/src/lib/libexpat/lib/xmltok.c -o xmltok.so Code:
16 partitions: # size offset fstype [fsize bsize cpg] a: 2092384 64 4.2BSD 2048 16384 12958 # / b: 2620248 2092448 swap # none |
|
||||
Your "b" swap partition has only 1.25GB of swap, assuming 512-byte sectors. How much swap space does top() report is consumed? What is your memory consumption?
Have you tried bumping the virtual machine's RAM? My host is amd64, and -current. What is the architecture/flavor of your host? |
|
|||
I neglected to catch the memory consumption but am about to try another build now so will pay attention. I haven't tried increasing RAM yet. I'll do that after this attempt. Or maybe increase the swap partition.
My host is also amd64 and running -current. |
|
||||
The output from top() can be piped to a log file.
Based solely on what I have obtained from you in this thread, I can only make guesses. Right now, I'm going to guess your guest(s) is(are) running out of swap space, or are "thrashing" between swap and virtual RAM. |
|
|||
Lack of memory was my first though too. I mean, the unresponsiveness at different points in the build with no errors made me think as much. Which is why I wondered if there were any minimum recommendations to build world. But I can remember building OpenBSD 20+ years ago on a pretty limited system.
Last two iterations of top: Code:
load averages: 1.08, 0.28, 0.10 dev1.msk.com 00:25:46 52 processes: 2 running, 49 idle, 1 on processor up 0:32 CPU states: 13.3% user, 0.0% nice, 84.7% system, 2.0% interrupt, 0.0% idle Memory: Real: 27M/300M act/tot Free: 691M Cache: 198M Swap: 0K/1279M load averages: 1.08, 0.28, 0.10 dev1.msk.com 00:25:49 50 processes: 1 running, 47 idle, 1 dead, 1 on processor up 0:32 CPU states: 14.3% user, 0.0% nice, 84.4% system, 0.7% interrupt, 0.7% idle Memory: Real: 26M/300M act/tot Free: 691M Cache: 198M Swap: 0K/1279M Code:
load averages: 0.00, 0.01, 0.00 dev1.msk.com 00:24:24 42 processes: 2 running, 39 idle, 1 on processor up 0:31 CPU states: 1.9% user, 0.0% nice, 0.8% system, 0.1% interrupt, 97.3% idle Memory: Real: 23M/293M act/tot Free: 699M Cache: 198M Swap: 0K/1279M load averages: 0.00, 0.01, 0.00 dev1.msk.com 00:24:27 42 processes: 41 idle, 1 on processor up 0:31 CPU states: 8.3% user, 0.0% nice, 0.3% system, 0.0% interrupt, 91.4% idle Memory: Real: 23M/293M act/tot Free: 698M Cache: 198M Swap: 0K/1279M It doesn't look like it's using any swap. Should I log swapctl during next attempt? |
|
||||
The output from top() you posted doesn't show any swapping, nor any significant load.
Does the guest report anything on its console? The guest's console is logged in /var/log/messages but that assumes syslogd(8) is still functional. You may find more info on the virtual machine's console, connected via vmctl(8). I can build large packages on my guests, which is not the same as a system build, but should be similar in terms of resource consumption. But my host is not resource constrained. Yours might be. Could you please post more information? For example:
|
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
-stable snapshots "openbsd-stable.org" (?) | dnix | OpenBSD Installation and Upgrading | 9 | 18th December 2011 12:48 PM |
ARM specs out first 64-bit RISC chips | J65nko | News | 0 | 28th October 2011 08:54 PM |
8-STABLE build fails at installworld | ionflux | FreeBSD Installation and Upgrading | 7 | 3rd November 2009 09:51 PM |
Bare Minimum Site-to-Site VPN on OpenBSD | ai-danno | Guides | 0 | 20th May 2008 12:45 AM |