The 'Magic Package Maker' comes of age and changes its' name
SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Try adding -m='make -i' to see if it will skip the error.
Usally building toolchains requires special instructions whixh might best be handled by commenting out the steps which are causing trouble and inserting code to perform the steps.
You might also try passing STD_FLAGS='-O2'
I have built the toolchain 3 times now on Slackware 11. No special instructions were used. Only gnu make as outlined above for every tool in the chain. There is however a special order to install them in. It is binutils, compiler, library, programmer then anything extra you want like gdb. Of course you have to set your paths and maybe do a bit of ldconfing but that is not special either. I succeeded in making a package for binutils but that is first in the chain and so has no dependencies on the others. As installation proceeds all tools add a little to the directory structure.
You should pass STD_FLAGS like this:
STD_FLAGS='O2' src2pkg ,etc,etc
Still, you probably should use a script. Generate one with the options more or less like you want with src2pkg with the -A flag. Then comment out the configure, make and make install steps. Insert the code you need to configure, compile and install into a side directory like /opt/gcc-4.1.xx or /usr/local/gcc-4.1.xx. Copy the whole directory into the PKG_DIR structure and let the script proceed as needed.
I concur, try to empty your CFLAGS a bit, drop the -mtune and -march options by setting STD_FLAGS to -O2.
STD_FLAGS='-02' is close, but not quite, STD_FLAGS='-O2' - the O is like the O in "Optimise" instead of the digit 0.
Have you installed your packaged binutils? I assume yes, my build is failing because we can't find the assembler at /usr/local/avr/bin/avr-as but it's good to know for sure. GCC is just another autotools package, so once the correct flags are set at ./configure you should be good to go.
As gnashley suggested, you might want to make a script with src2pkg and then comment out the lines that are causing problems and put them in manually (like configure_sources).
To gnashley: do we mean STD_FLAGS?
I see STD_FLAGS gets used in the src2pkg script as part of the help, but I don't see it get written to the script with -N . A feature?
Many thanks for all the help I am getting.
I have not tried my binutils package yet. I need to install Slackware 11 to another computer which I hope to do early next week.
The assembler /usr/local/avr/bin/avr-as is installed as part of the first package binutils.
Packages have to be installed in the correct order as outlined above.
I used digit 0 wich might explain a little. Was wondering about that late last night.
piete. I did try to send you an email via the forum. If you get it and reply I will be able to reply and attach my binutils installation package.
This is all very interesting and useful but starting to get a little deep for me so I would appreciate any help on exactly what do I enter at the command line. What order is the flags switch put in.
Many thanks. I have packages for binutils, compiler and programmer. I have tested the binutils and compiler packages on a new Slackware 11 installation and they worked. That is I got an installation which looks the same as a source code installation but I do not know yet if I can use that installation.
The remaining problem is that of the library. This has always looked a bit odd when installing from source. Here is the procedure.
tar -jxvf avr-libc-1.4.5.tar.bz2
./configure --prefix=/usr/local/avr --build=`./config.guess` --host=avr
It is the --build=`./config.guess` that causes a problem. What should I do with it in src2pkg ?
This package is somewhat different to the others. I think it has its roots in freeBSD but has always installed well in Slackware 11.
Or replace `./config.guess` with the result of ./config.guess (it'll return something like i686). I did get your email, sorry for the delay in responding to it! It seems you've had some success though =)
You need to use single quotes with src2pkg, although double quotes work in a src2pkg script.
To piete, note that generating a script with the -A option may give a different result than using the -N option. Since it gets written as-it-goes, it may contain details not available with the -N option which doesn't unpack the sources and hence knows nothing about what's in them.
configure : WARNING : AVR-LIBC must be built using an avr cross-compiler
configure : WARNING : Try configuring with : "/tmp/avr-libc-1.4.5-src-1/configure
configure : error : aborting configure
But what does all this mean? Does it mean that my previously packaged avr-gcc compiler must be invoked and not gcc ? How do I invoke another compiler from src2pkg?
peite - The output of config.guess was i686-pc-linux-gnu which you probably guessed anyway and direct substitution did not improve matters.