Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Fri 19 Dec 2014, 16:19
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
opttools.sfs GNU C Compiler released
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 2 [26 Posts]   Goto page: 1, 2 Next
Author Message
Guest
Guest


PostPosted: Wed 13 Jul 2005, 02:12    Post subject:  opttools.sfs GNU C Compiler released  

http://www.edgarbrits.net/puppy/opttools.sfs

To use loop
1. mkdir /op/tools
2. loopt mount opttools.sfs at /opt/tools
3. update the path export PATH=/opt/tools/bin:/opt/tools/sbin:$PATH
4. ln -s /opt/tools/bin/perl /usr/bin/perl

Now you have a complete (well just about) gcc development enviroment plus a FULL installation of perl

if you type motor at the command prompt you will be taken into an IDE

For more info
http://www.freeos.com/articles/2876/
http://linuxtoday.com/news_story.php3?ltsn=2000-12-12-004-06-NW-HL-SW

Or for those of you with a HDD install extract a kernel source, patch and build following the Puppy instructions.
Back to top
PeterSieg

Joined: 04 May 2005
Posts: 361
Location: Germany, 37603

PostPosted: Wed 13 Jul 2005, 05:09    Post subject: That's great news!!  

Hi. by following your link to opttool.sfs I get the following error message:
Quote:
Forbidden
You don't have permission to access /puppy/opttools.sfs on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


And I know I have the commands on how to loop mount a
squash fs somewhere, but I am lazy Rolling Eyes
So it would be nice if you could just write the required command sequence
within this thread, so everybody knows what to do...

Is there also a small test app included, that can be compiled by issuing
make somewhere, so that everybody knows, that everything is setup fine?

Thanks, PS

_________________
Have fun Smile
Back to top
View user's profile Send private message Visit poster's website 
Guest
Guest


PostPosted: Wed 13 Jul 2005, 05:29    Post subject:  

Sorry didn't quite set the permissions right.

Embarassed



Another sorry.....Should have really added that this is the kind of thing experienced users should try at this moment....
It works I know that for a fact (not trying to sound arrogant). I feel if you don't know the right commands to loop mount a filesystem then maybe it should be an idea to not have a go at the moment.
I should also mention that after asking for people interested in beta testing I got a big fat ZERO replies, so I thought I'd bite the bullet and see what happens.
As for a test app......If you are unable to write a simple hello world app then it maybe a good idea to give this a miss.The only libs included are glibc2 and ncurses. The LDP sight has some simple info on starting ncurses and I provided two links on a simple run down of how to use motor....
Yes this will need some prior knowledge of Linux and gcc and C in general, I suppose I really should have added this to begin with. One thing I have noticed that it is hard to get feedback on projects that are of the none GUI type, yes I know Puppy is a desktop enviroment but I feel whilst developing it's easier to iron out the bugs before even thinking of GUI. Get the basics right and then add the bells and whistles......Anyone can issue a simple make command but how many actually go through the README's INSTALL and other such files before.....Who even runs ./configure --help > cfg.hlp and read through the file to see what happens.
Back to top
Guest
Guest


PostPosted: Wed 13 Jul 2005, 05:37    Post subject:  

Actually maybe I shouldn't have announced it ?

Quote:
And I know I have the commands on how to loop mount a
squash fs somewhere, but I am lazy


Wanna know how much time I spent researching and experimenting trying to get it to a point that's usable ?
Back to top
PeterSieg

Joined: 04 May 2005
Posts: 361
Location: Germany, 37603

PostPosted: Wed 13 Jul 2005, 06:42    Post subject: Some comments  

Hi bladehunter.

I feel like I have to make some comments here so please forgive me..

1.
If you say you got ZERO response, you probably have NOT seen my
response of willing to test..?

2.
As you also probably NOT aware of, I have posted how to install and
use GCC from slakware and compile some apps.. So I know how to
get around in this area...

3.
Somwhow, I feel between the lines, some disappointments about peoples
reaction here..? I believe you are right, that the majority is just
interested in GUI apps, that are ready to run... But that are NOT the one
you would like to get interested with your post.. Am I right..?

4.
I still think, that my comments was ment NOT as a howto on guiding
a 'linux gcc dummy' to create a new KDE sort of thing from scratch,
but just help the really interested a bit and NOT have to sort just for
the very basic things to just get started...

Hope you don't mind if I expressed my feelings and thought to much..
but I like to be straigt if I have the feeling it helps at least me Smile

I still think, the idea of having GCC environment available by just
mounting a file system is great and way better that my post of
installing from slakware packages.

I will try to download now and will google on how to mount a squash fs..

PS

_________________
Have fun Smile
Back to top
View user's profile Send private message Visit poster's website 
Guest
Guest


PostPosted: Wed 13 Jul 2005, 07:14    Post subject:  

Don't mind me I can be a bit hard...

Let's play games Smile


It's the same as mounting an iso file....and if you look through the boot scripts you'll find out....

Only thing I don't do is setup a loop device.......It seems that some earlier version of mount don't interact witth the kernel to do that but later version do....don't ask me what the cut off is...hahahahaha

I think the only diff is when mounting a raw file and creating a filesystem.
Back to top
PeterSieg

Joined: 04 May 2005
Posts: 361
Location: Germany, 37603

PostPosted: Wed 13 Jul 2005, 07:44    Post subject: It works!!  

Hi bladehunter. It works!! Great stuff!
Actually googling for the mount command was a lot faster then writing
my comment.. Embarassed

My test environment:
w2k with qemu. 1.0.3 bare bones running as live-cd. I downloaded opttools.sfs (app.46MB) and put it into the root of the 1.0.3 iso image.
Then started qemu to boot from cd image und selected option 2 (don't touch hdd). When puppy was up and running, I opened a rxvt terminal and
based on your instructions, I did:

1. mkdir /opt/tools
2. loop mount opttools.sfs at /opt/tools:
[..mounted cd image with puppy drive mounter on /mnt/cdrom]
mount /mnt/cdrom/opttools.sfs /opt/tools -t squashfs -o loop
(#mount: WARNING: loop device is read-only)
3. update the path
export PATH=/opt/tools/bin:/opt/tools/sbin:$PATH
4. ln -s /opt/tools/bin/perl /usr/bin/perl
(#ln: /usr/bin/perl: Read-only file system)
5. test it: created an ascii file named 'hello.c' that contains:

Code:
main()
{
  printf("Hello World\");
}

compiled it: gcc -o hello hello.c
run it: ./hello
(#Hello World)

(#... are messages/responses you get back..)
Yup. It works guys!
I also compiled a more complex program (txt2pdb.c) the same way
without any problem!

Just great work bladehunter!!
===================

Now you really have fatten Puppy Wink

Will do some more compiling when times allows and will let you know
about the results..

PS

Here is a quick 2min hack scripts, that could be a starting point to
automated the above steps:

Code:
#!/bin/sh
mkdir /opt/tools
echo "mount cd that (hopefully) contains opttools.sfs :)"
echo Use Puppy drive mounter for that. Press any key when done.
read x
# loop mount opttools.sfs at /opt/tools
mount /mnt/cdrom/opttools.sfs /opt/tools -t squashfs -o loop
# (#mount: WARNING: loop device is read-only) is ok
# update the path
export PATH=/opt/tools/bin:/opt/tools/sbin:$PATH
ln -s /opt/tools/bin/perl /usr/bin/perl
# (#ln: /usr/bin/perl: Read-only file system) is ok
cat <<EOF >hello.c
#create a ascii file named hello.c that contains:
main()
{
  printf("Hello World\");
}
<<EOF
# compile it:
gcc -o hello hello.c
# run it:
./hello

_________________
Have fun Smile
Back to top
View user's profile Send private message Visit poster's website 
PeterSieg

Joined: 04 May 2005
Posts: 361
Location: Germany, 37603

PostPosted: Wed 13 Jul 2005, 09:35    Post subject: Some more test results and corrections  

Hi. I booted from a hdd installation (qemu+1.0.3bb) and did nearly the same
as with the live-cd. Just /opt was not there, so mkdir -p /opt/tools heals that.

Also everything works!!

Here is the corrected script, that works for me to automate things a bit:
(Also attached as zip file)

Code:
#!/bin/sh
mkdir -p /opt/tools
echo "mount cd that (hopefully) contains opttools.sfs :)"
echo User Puppy drive mounter for that. Press any key when done.
read x
# loop mount opttools.sfs at /opt/tools
mount /mnt/cdrom/opttools.sfs /opt/tools -t squashfs -o loop
# (#mount: WARNING: loop device is read-only) is ok
ln -s /opt/tools/bin/perl /usr/bin/perl
# (#ln: /usr/bin/perl: Read-only file system) is ok
cat <<EOF >hello.c
//create a ascii file named hello.c that contains:
main()
{
  printf("Hello World\n");
}
EOF
# update the path
export PATH=/opt/tools/bin:/opt/tools/sbin:$PATH
# compile it:
gcc -o hello hello.c
# run it:
./hello
# (#Hello World) should print this..
echo "You shoud see a Hello World messages above this line, if all ok.."


PS
opttools.zip
Description 
zip

 Download 
Filename  opttools.zip 
Filesize  573 Bytes 
Downloaded  677 Time(s) 

_________________
Have fun Smile
Back to top
View user's profile Send private message Visit poster's website 
menno
Guest


PostPosted: Wed 13 Jul 2005, 13:31    Post subject:  

Hi bladehunter. It works!!

I have download it to my download directory and mount it to /opt/tools .

Hi , you have to put there because of the libc.so has the referencing to this directori . (That the same comment I give in my version of gcc )

I run puppy 0.9.9 on harddisk . (700mHz/256mByte)

I run two examples the first is the program to talk to parrallel port directly .
(This comes from the old forum : parcom.c ) This use outb() inb() function .
As far I know this are defined in asm/io.h . This file does a request to linux/config.h which ask for linux/autoconfig.h . The last one isn't there .
I have , in my system , markoff the linux/config.h in asm/io.h .
The problem now is that the file system is readonly so I cann't change it .

Maybe you have to thing about the fact that all compilers normaly look in /usr/include for the default includes (puppy has linked this to /root/my-applications/include . This is a writeble directory . Maybe it beter to put it there , so you can add and change the include files .

The secound example was the peu interpreter (public version of euphoria) .
This uses a make files , it compiles and runs currectly .

The third example was the randtest.c (used for tcc' wiki) , this works correctly .

A other thing I noticed is that the executuble's are a 10% bigger as which of the older compiler . You used gcc 3.3.3 , I use gcc 3.2.2 . I have know idea where this comes from .

Some other comment is that .sfs is only mounteble by puppy 0.9.9 and higher the older version doesn't have this type .

Have fun , Menno
Back to top
Flash
Official Dog Handler


Joined: 04 May 2005
Posts: 11180
Location: Arizona USA

PostPosted: Wed 13 Jul 2005, 13:50    Post subject:  

Hey guys, I have a suggestion: why not ask JohnM to create a Developers "Usergroup," that only you coders can belong to? That way you could have fun without feeling like those of us who like GUI applications don't appreciate your work. Smile

Maybe John could even find room for a "beta test" area, where you release your programs for testing by people who won't ask you to do everything for them.

That's if the idea of a VPN Puppy development server doesn't interest you Question
Back to top
View user's profile Send private message 
Guest
Guest


PostPosted: Wed 13 Jul 2005, 15:07    Post subject:  

Menno and Paul,

Thanks guys, I'll look into autoconf.h, as this is generated automatically, I'll look into that a bit more, I'm assuming it maybe generated after a kernel config and a make dep.Yes it will be only mountable by Puppy 0.9.9 and later as Barry changed from cramfs to squashfs with that version, so I thought I'd just keep with the current trend to avoid confusion.
As for final compiler version and what not that should really be a issue voted on by the community or let Barry decide. The only thing is I'd suggest staying away from 3.4.x as I could not get a 2.4.x kernel to compile with this version. And I guess the kernel headers used to compile glibc should be decided upon too. Should I look into downgrading to glibc-2.3.2 ?
I'll confess and say that this is my first attempt at this sort of thing and all I know so far has been from my experience with LFS and the uclibc buildroot enviroment, so if I've stuffed up or made some errors along the way please feel free to douse me in petrol and set me alight.....hahahaha
I knew this would work ok as I compiled the included perl with it.
Back to top
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 7099
Location: Perth, Western Australia

PostPosted: Wed 13 Jul 2005, 22:21    Post subject:  

Don't forget, as announced on the News page, that opttools.sfs will get mounted automatically by loopback device when Pup 1.0.4 boots -- well, in theory anyway as I haven't actually tested it.

However, the other stuff like setting PATH still has to be done.
Back to top
View user's profile Send private message Visit poster's website 
PeterSieg

Joined: 04 May 2005
Posts: 361
Location: Germany, 37603

PostPosted: Thu 14 Jul 2005, 05:03    Post subject: Hi coders/compilers - isn't that just great news!  

Just would like to give my kudos to bladehunter for this excellent work and
idea! To my knowledge, NO distribution before hat a compiling environment that one just has to mount it is (almost) ready to rumble!!

The envision I have is:
* Stay with the small end user centric approach that Puppy already has.
* Have a compiling environment, that contains all that is needed to
compile Puppy apps and kernel modules, resulting in no longer
requiring ANY other distribution for make a Puppy!
(but still allows that too Smile )
* If found, this compiling environment could/should be automounted.
* It should be possible to alter small things, by using unionfs for that.
That would give the change to install an extra lib needed for a special
app. etc. etc. But there should normally nothing copied to valuable
space in ANY read/write area, so you still can have your pup001/100
on an USB-Stick, even now when compiling apps!
* There should be some kind of a autorun functionality executed after
mounting the squash filesystem, allowing here for ex. setting the PATH
etc. etc.

To what I have read so far, we are almost there Razz

Great!
Already 'seeing' the news posting on the well known linux sites about
this unique feature.

PS

_________________
Have fun Smile
Back to top
View user's profile Send private message Visit poster's website 
Lobster
Official Crustacean


Joined: 04 May 2005
Posts: 15122
Location: Paradox Realm

PostPosted: Thu 14 Jul 2005, 07:10    Post subject: Puppy C development . . . develops . . .  

Wonderful.

So important to Puppy potential.
John has been very quiet but I have a feeling he might be working on something. . ..

Also some of our holidaying Pups will be back in August with tails wagging at Puppy 1.0.4

Who was working on the GUI for Tinycc?

I still feel Puppy Bare Bones was the best Puppy ever. (my belief is min Pup and then add ons with Pupget)

C and C++ are with us - does anyone use nasm? (available as a dotpup?)
and our first user of LUA which seems an excellent language has yet to emerge . . .

Congratulations to Bladehunter, Menno and Peter
As always Puppy will attract new users and developers.

. . . gosh so much going on - had no time to look into XUL very much


Smile
Woof! woof!

_________________
Puppy WIKI

Last edited by Lobster on Sat 23 Jul 2005, 01:00; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website 
Guest
Guest


PostPosted: Sat 16 Jul 2005, 01:59    Post subject:  

I've canned it but if anyone wants to take over they may.


cya's
Back to top
Display posts from previous:   Sort by:   
Page 1 of 2 [26 Posts]   Goto page: 1, 2 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Cutting edge
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
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1014s ][ Queries: 12 (0.0035s) ][ GZIP on ]