Syllable Forum Index Syllable
Syllable Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Building Syllable
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Syllable Forum Index -> Syllable Desktop
View previous topic :: View next topic  
Author Message
Ronaldlees



Joined: 15 Oct 2014
Posts: 144

PostPosted: Thu Oct 23, 2014 1:39 pm    Post subject: Building Syllable Reply with quote

Building most of the Syllable drivers was pretty easy once I figured out that I needed to set the environment thusly:

[code]
1) ATHEOS_SRC set to the "system" directory

2) ATHEOS_INCLUDE_PATH set to the "system/sys/include" directory
[/code]

Then I could build most of the drivers with either of:

[code]
1) build sys/kernel/drivers/

2) cd system/sys/kernel/drivers
make
[/code]

I could successfully build all of the network drivers with either of:

[code]
1) build sys/kernel/drivers/net

2) cd system/sys/kernel/drivers/net
make
[/code]

The kernel was a different story. There seems to be an element that I must be missing. The build needs to point to specific "types.h" headers, depending upon whether or not the work piece involves kernel, atheos, or posix pieces and parts. It seems that I need a slightly different setup that points to the correct bits/types.h header, depending upon the stituation.

I dinked around in the code, trying to bandage it - quickly realizing that I was spinning my gerbil wheels. My environment is a little short of what's needed. Any tips?.
Back to top
View user's profile Send private message
Ronaldlees



Joined: 15 Oct 2014
Posts: 144

PostPosted: Thu Oct 23, 2014 2:42 pm    Post subject: Ahhh... Reply with quote

I guess it helps to read the other threads. I think I may have had the same problem as the other guy in the "compiling the kernel" thread. I was using a downloaded source tarball snapshot from sourceforge. Maybe it's out of sync with the current Builder?

Anyway, I've restarted from scratch, using "image syllable" - and it's in the process of grabbing everything via CVS. It's generally looking better, and compiling some things it did not compile on the first go. So ... we'll see... Smile
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2201
Location: Friesland

PostPosted: Thu Oct 23, 2014 5:14 pm    Post subject: Reply with quote

You don't need to do all that: Builder does it for you. That's why I encouraged you elsewhere to read its manual.

The source tarball is for Syllable 0.6.6. It's indeed better to let Builder fetch the latest source from CVS.

Further, section 3.9 of the manual explains that building all of Syllable is the most difficult thing you can make Builder do:

"Attempts to build Syllable from source may cause temporary blindness, paranoia, madness, rudeness and athlete's foot. Do not use Builder if pregnant or stupid. If in doubt, consult a trained arborist."

It's a recipe for failure. I very strongly advise to start with the simplest thing you can do, and work your way up from there. Wasn't your original goal to compile the DHCP client?

Actually, building the basic kernel is not hard to do, because it doesn't depend on all the other modules. The higher you go up in the stack, the more dependencies there are.
Back to top
View user's profile Send private message Visit poster's website
Ronaldlees



Joined: 15 Oct 2014
Posts: 144

PostPosted: Fri Oct 24, 2014 12:18 pm    Post subject: More info Reply with quote

Thanx for the suggestions. Since I'm already blind and paranoid, I have no fears! Smile

I read through the "Builder" manual, and did exactly what it said to do. Yet, the builder did not seem to want to rebuild the kernel related makefiles. The source that came down from CVS included some stagnant makefiles, which were not subsequently overwritten by builder, and those makefiles reference include paths for headers that are outside of the source tree, and are non-existent. Nontheless, all of the kernel driver modules build fine, excepting for a couple that I thought were pretty irrelevant. Then when building the kernel, I got up to the point where a stagnant makefile referenced an include for headers outside of the tree:

[code]
make[1]: Entering directory `/boot/home/ron/snapshot/syllable/syllable/system/sys/kernel/kernel'
mkdir objs
Assembling: intel.s
Compiling : cpuid.c
Compiling : descriptors.c
Compiling : kernel.c
kernel.c: In function 'do_get_system_info':
kernel.c:154: warning: assignment makes integer from pointer without a cast
kernel.c:198: warning: passing argument 2 of 'get_kernel_arguments' from incompatible pointer type
kernel.c:219: warning: assignment makes integer from pointer without a cast
Compiling : dbconsole.c
Compiling : ksyms.c
Compiling : init.c
Compiling : fork.c
Assembling: syscall.s
Compiling : debug.c
Compiling : timer.c
timer.c:58: warning: 'get_pit_offset' defined but not used
Compiling : process.c
Compiling : threads.c
Compiling : sema.c
Compiling : msgport.c
Compiling : memory.c
Compiling : strace.c
nasm smp_entry.asm -o objs/smp_entry.bin
export C_INCLUDE_PATH=/system/development/resources/gcc/4.1.2/include:/resources/index/framework/headers:/resources/index/include:/usr/local/i
nclude:/system/index/include:/system/development/headers ; cc bintohex.c -o objs/bintohex
bintohex.c:20:19: error: stdio.h: No such file or directory
[/code]

So, the real solution is to look into the Ruby Builder program and try to understand what it is doing. I was hoping to avoid that - as I'm not native to Ruby Smile (Yea - I'm one of the last few)
.
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2201
Location: Friesland

PostPosted: Fri Oct 24, 2014 4:40 pm    Post subject: Reply with quote

Builder does not rebuild or replace makefiles. The recursive makefiles for multiple modules are historical remnants that haven't been maintained for many years. Building multiple modules at once is achieved with profiles that list the individual modules. You should look in Builder/profiles/ to see which paths you can use as an argument to Builder commands.

That you're missing a fundamental header such as stdio.h suggests that you may not have the system headers installed. Did you install the development files pack, as listed on the download page?

Really, Builder is designed to be usable as a black box, so if you can't get something to work without making extra settings or looking in its code, you're doing something wrong. You should really, really start with a simple build operation to test that you installed your environment correctly and that you are following the proper procedures. Continuing with errors is pointless: they will just multiply.
Back to top
View user's profile Send private message Visit poster's website
Ronaldlees



Joined: 15 Oct 2014
Posts: 144

PostPosted: Fri Oct 24, 2014 5:26 pm    Post subject: Reply with quote

Thanx for the info Kaj. Well, the "developer files pack" link I followed simply did a download of an ISO install image for Syllable. I assumed that it was a special ISO with the "developer files" package.

Where can I get the real deal?

- Ron
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2201
Location: Friesland

PostPosted: Fri Oct 24, 2014 5:31 pm    Post subject: Reply with quote

Again, on the page where you downloaded Syllable from.

Where do you see a developer files pack link that goes to an ISO?
Back to top
View user's profile Send private message Visit poster's website
Ronaldlees



Joined: 15 Oct 2014
Posts: 144

PostPosted: Fri Oct 24, 2014 5:47 pm    Post subject: Reply with quote

It was one of the developer pages (Syllable.org). Maybe you could cut and paste the correct URL into a message in this thread?

I remember I downloaded twice, because it didn't make sense.

- Ron
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2201
Location: Friesland

PostPosted: Fri Oct 24, 2014 6:45 pm    Post subject: Reply with quote

I have never seen a link to a development files pack wrapped in an ISO, and I wrote and maintain the download pages. The only ISO's are for the full system CD's.

The instructions for the development files pack are here in step 9:

http://web.syllable.org/pages/get-Syllable.html#installation-CD
Back to top
View user's profile Send private message Visit poster's website
Ronaldlees



Joined: 15 Oct 2014
Posts: 144

PostPosted: Fri Oct 24, 2014 11:14 pm    Post subject: Reply with quote

Ok - that did the trick. I installed the package from the link in your message, and builder did its thing, working for about an hour or so.

Now I have a nice new shiny kernel to play with. It's slightly larger than the one on the system now, for some reason. Slightly different configuration perhaps. Anyway - in the morning I'll swap it in, and see what happens.

- Thanx Kaj

- Ron
Back to top
View user's profile Send private message
werdna



Joined: 11 Feb 2015
Posts: 9
Location: Seattle

PostPosted: Thu Feb 12, 2015 12:52 am    Post subject: Reply with quote

I really would like help with how to compile the whole system. I tried following the instructions in the Builder manual, but I'm really not sure what about what I'm doing wrong. It says "cd system" what system folder? The one in the checked out CVS source? The system folder on my

Ron, did you ever figure it out?

Also, Kaj, I really like Syllable, and always have. I would like to help in any way I can to get this project going again, what can I do?
Back to top
View user's profile Send private message
Ronaldlees



Joined: 15 Oct 2014
Posts: 144

PostPosted: Thu Feb 12, 2015 8:30 am    Post subject: Reply with quote

[quote="werdna"]I really would like help with how to compile the whole system. I tried following the instructions in the Builder manual, but I'm really not sure what about what I'm doing wrong. It says "cd system" what system folder? The one in the checked out CVS source? The system folder on my

Ron, did you ever figure it out?

Also, Kaj, I really like Syllable, and always have. I would like to help in any way I can to get this project going again, what can I do?[/quote]

-------------

Hi werdna:

Yes, I managed to compile the kernel/drivers at least once by using Builder, but mostly I've been directly using make files. The officical way to build things is by using Builder, but I have a compulsion for tweaking makefiles.

You can create a system directory anywhere. When you use Builder inside of a directory named "system" it will assume you are building the system (as opposed to third party programs)

One thing I have found is that you should make sure you have all available resources installed, and all available development librariies. The project has been static for a while, and some third party dependency repositories no longer have the packages or sources available. This causes Builder to stop. So make sure you download the whole ball of wax from the dev package and resource pages.

Another thing you should do is familiarize yourself with the file system layout used in Syllable. It will save you headaches by learning this first. As an example, take the gzip program. As a resource, it resides in /resources/gzip. The only "real" file exists in /resources/gzip/bin/gzip. All the other references to it are symlinks. These symlinks create a "view" of the system that is more in line with Posix style operating systems. For instance, the various programs in /resources/[appname]/bin can be seen as a more familiar "view" in /boot/resources/index/bin ( - but those are all symlinks). Building programs requires an all inclusive include directory, but the resources in /resources/[appname]... are "backwards" relative to building programs. So, the "view" /boot/resources/index/include provides the necessary alignment.

You should be able to follow some of my posts to build the kernel and some major apps like Webster. But, alas - most of my efforts subscribe to my complusion for make files.

Good luck!
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2201
Location: Friesland

PostPosted: Thu Feb 12, 2015 8:58 am    Post subject: Reply with quote

Hello Andrew.

If you want to build the entire system, the system directory means the one in the Syllable source tree. As Ronald says, you can create a system directory of your own, but Builder will use system components from there, so if they're not there, it will fall back to the installed system. This is the way new Syllable versions or system components are bootstrapped on an existing one.

You're welcome to help keep Syllable going. Any constructive activity helps, so just pick something you like best. Developing an operating system is a daunting task, so motivation is key.
Back to top
View user's profile Send private message Visit poster's website
Ronaldlees



Joined: 15 Oct 2014
Posts: 144

PostPosted: Thu Feb 12, 2015 11:35 am    Post subject: Reply with quote

Werdna:

Maybe an explicit TO-DO list could jump start it for you:

cd /system
build update
build log
package unregister Builder
package register Builder
build prepare
build get syllable
build configure syllable
build make syllable

(get and make will run a long time)
Back to top
View user's profile Send private message
Ronaldlees



Joined: 15 Oct 2014
Posts: 144

PostPosted: Thu Feb 12, 2015 11:52 am    Post subject: Reply with quote

The build prepare step creates a staging area that will hold the built components when you issue build image syllable rather than "install".

Install will put the components into real directories, which in a development environment you may not want. Kaj's Builder program (his own invention) - is pretty good, I guess. It tries to create a black box effect for the building of programs. It's just us old ones are set in our ways....

On another subject, one thing I like about Syllable is the file layout. Many systems such as FreeBSD put all of their programs in /usr/bin or /usr/sbin or /usr/local/bin, etc. Having separate application directories, and then symlinks to the bin dirs is a great thing really. At first one is put off by the symlinks, but they're genius in the end. Some Linux distros are doing this.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Syllable Forum Index -> Syllable Desktop All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group