You are not logged in.

#1 2003-10-03 22:32:31

jlowell
Member
Registered: 2003-08-10
Posts: 270

Glibc Rebuild

Attempting to rebuild glibc with makepkg the process dies owing to the need for kernel headers in /usr/src/linux/include. I have no /usr/src/linux/include but rather a /usr/src/linux-2.4.21/include, which, I suspect, has something to do with the fact that I built my kernel from source during installation. Am I right to conclude that this problem is solved by creating a /usr/src/linux/include and creating a symlink to /usr/src/linux-2.4.21/include or will I be setting myself up for a problem by doing so?

jlowell

Offline

#2 2003-10-03 22:55:01

red_over_blue
Member
Registered: 2003-07-19
Posts: 152

Re: Glibc Rebuild

If you compile your own kernel, you should _always_ have a symbolic link /usr/src/linux that points to /usr/src/linux-version-you-are-using.

[john@limbo john]$ ls -l /usr/src/ | grep linux
lrwxrwxrwx    1 root     root           17 Oct  2 20:37 linux -> linux-2.6.0-test6

The reason for this, as you are finding out now, is that whenever you compile something that needs the kernel source/headers, it will look to /usr/src/linux.


Don't forget to post your PKGBUILD in your thread when you announce a new package in incoming.
see HERE for details

Offline

#3 2003-10-03 22:58:55

sarah31
Member
From: Middle of Canada
Registered: 2002-08-20
Posts: 2,975
Website

Re: Glibc Rebuild

my bet would be that yes the version numbering in that directory name would throw off the build process. i was always under the impression that one was supposed to create just /usr/src/linux.

now as for "fixing" it (not that it is really broken) you could relink to /usr/src/ linux but i don't know if that would force you to recompile. another option may be to link /usr/src/linux-2.4.21 to /usr/src/linux. being the lazy type i would try the latter first.

good luck and i am glad that you have located what was causing you troubles.

(oh yeah another option may be looking in configure --help to see if you can just set the path to /usr/src/linux-2.4.21 or you could (ugh) patch the makefile or other source)


AKA uknowme

I am not your friend

Offline

#4 2003-10-04 00:36:22

jlowell
Member
Registered: 2003-08-10
Posts: 270

Re: Glibc Rebuild

red_over_blue,

From what you've said, I'd conclude that the proper steps for me to take would be these:

mkdir /usr/src/linux
cd /usr/src
ln -s linux-2.4.21 linux

And running ls I should see, among other things, something like this:

linux --> linux-2.4.21

Have I got this right? The ln -s command should show version file first and generic file second, not the other way around, and be executed from the /usr/src directory? As I understand it from the manual, that's the correct order, but before running it I'd like to confirm that.

jlowell

Offline

#5 2003-10-04 01:35:49

sarah31
Member
From: Middle of Canada
Registered: 2002-08-20
Posts: 2,975
Website

Re: Glibc Rebuild

yes that is correct


AKA uknowme

I am not your friend

Offline

#6 2003-10-04 01:42:07

jlowell
Member
Registered: 2003-08-10
Posts: 270

Re: Glibc Rebuild

Sarah,

Thanks for the confirmation.

jlowell

Offline

#7 2003-10-04 01:53:27

sarah31
Member
From: Middle of Canada
Registered: 2002-08-20
Posts: 2,975
Website

Re: Glibc Rebuild

not a problem i am always happy to help (honestly).

i really do hope this helps you finally get glibc compiled to your desired specs. you have been at it for quite sometime and deserve to be rewardeed for your efforts.

one thing you may want to try (i did this when i was first trying to use makeworld for building i586 packages on a non i586 computer) when you next run makeworld is sending the compiling info to a file. the file end out being VERY large sizewise but it gives you all of the output from the compilation procedure which can be much more help than the output of the two logfiles makeworld creates, especially if the build dies ing the compile process and not at the end or beginning of the build before the build{} is executed. if i remember correctly i did it something like this:

makeworld -bc /var/abs/i586pkgs <desireddirectorytobuild> >> compile.log

sorry i forgot to mention this a long time ago but it slipped my mind until today


AKA uknowme

I am not your friend

Offline

#8 2003-10-04 03:06:20

jlowell
Member
Registered: 2003-08-10
Posts: 270

Re: Glibc Rebuild

Sarah,

I'm afraid we were far too quick to conclude that I'd understood how to create that symbolic link. The command I entered simply linked /usr/src/linux-2.4.21 to /usr/src/linux-2.4.21 in the /usr/src/linux directory; basically, it linked itself, hardly what we want! The ln -s command continues to baffle me. I've never understood the mechanism well enough to get it to do what I'd like and the man page is of no help whatsoever.

Anyway, here's what happened and here's what I'm trying to achieve:

1. I started all this with a /usr/src/linux-2.4.21 directory but no /usr/src/linux directory because I'd built the kernel from source during installation. As we know, to build glibc (and anything else requiring kernel headers) I need a /usr/src/linux directory and a link from it to /usr/src/linux-2.4.21.

2. So I created a /usr/src/linux directory.

3. From the working directory I ran ln -s linux-2.4.21 linux and got output from ls showing no change whatsoever in /usr/src. Past failures with symbolic links caused me to examine  /usr/src/linux and there I discovered linux-2.4.21 ---> linux-2.4.21! I removed it, of course.

4. Flummoxed, and, I confess, not a little frustrated, I tried ln -s the other way around and got a similar result in /usr/src/linux-2.4.21. I removed that too.

5. What I want, of course is something that looks like this after listing /usr/src:
.
..
linux --> linux-2.4.21
linux-2.4.21

God knows, I don't know how to produce this result. Can you or anyone else help? I'm lost.

jlowell

Offline

#9 2003-10-04 03:18:09

red_over_blue
Member
Registered: 2003-07-19
Posts: 152

Re: Glibc Rebuild

jlowell, don't make the directory.

/usr/src/linux is a file, not a directory.  It is a file that points to a directory.  The following is all you have to do, assuming that /usr/src/linux does _not_ exist at all.

[john@limbo john]$ su -
Password: 
[root@limbo root]# cd /usr/src/
[root@limbo src]# ln -s linux-2.6.0-test6 linux
[root@limbo src]# ls -l linux
lrwxrwxrwx    1 root     root           17 Oct  3 22:18 linux -> linux-2.6.0-test6
[root@limbo src]# 

Don't forget to post your PKGBUILD in your thread when you announce a new package in incoming.
see HERE for details

Offline

#10 2003-10-04 03:43:43

sarah31
Member
From: Middle of Canada
Registered: 2002-08-20
Posts: 2,975
Website

Re: Glibc Rebuild

jlowell,

geesh i am really sorry about confirming that my brain must be asleep. it has been a long day indeed. i must have focused on the rest of the commands more than the mkdir part. (not to mention it has been several months since i have built a kernel) next time i will check my sources before charging in and leading you down the path like that. i am very embarassed. :oops:

also about my output to a file suggestion it seems it does not work at the moment. i tried it out when i got home. i will ask judd about it to see if there is someway to do this because it really is helpful in many case to see exactly what went wrong with a build.


AKA uknowme

I am not your friend

Offline

#11 2003-10-04 04:01:24

sarah31
Member
From: Middle of Canada
Registered: 2002-08-20
Posts: 2,975
Website

Re: Glibc Rebuild

aha i think i've got it. just direct the output to a file outside /var/abs (if that is where your abs is you may not have to direct the output to an exterior file if you still have your abs in /usr) like so:

sudo makeworld -bc /var/abs/custompkgs base > 
/home/sarah/compileinfo.txt

if you are successful with directing the output to a file it will appear as though  the command did not work as your promt wil move to a new line without your standard prompt. of course this is not the case it is just sending all that you would have seen on your screen to your file. your standard prompt will return when makeworld is done.


AKA uknowme

I am not your friend

Offline

#12 2003-10-04 04:09:09

red_over_blue
Member
Registered: 2003-07-19
Posts: 152

Re: Glibc Rebuild

You can also use "tee"

[john@limbo acidrip]$ sudo makeworld -bc /var/abs/custompkgs base 2>&1 | tee -a /home/john/makeworld.log

This will allow you to see the output from the command, as well as have all stdout and stderr (sp?) messages piped to tee which appends it to makepkg.log (the -a means append).

Don't forget the 2>&1 after the command before you pipe it to tee.


Don't forget to post your PKGBUILD in your thread when you announce a new package in incoming.
see HERE for details

Offline

#13 2003-10-04 04:17:21

jlowell
Member
Registered: 2003-08-10
Posts: 270

Re: Glibc Rebuild

red_over_blue,

Ah yes, red_over_blue to the rescue! God bless you, man, I was really pulling my hair out over this one. I even tried juryrigging something using the third approach to the syntax offered by the ln man page. It crashed and burned, of course.

So the problem here is that I ran mkdir /usr/src/linux? As someone once remarked, "who'd a thunk it". I'm happy to tell you that I've successfully created the link and that glibc is compiling as we speak. Thanks very much for having taken a hand in this matter.

Regards.

jlowell

Offline

#14 2003-10-04 04:22:04

jlowell
Member
Registered: 2003-08-10
Posts: 270

Re: Glibc Rebuild

Sarah,

Not to worry, all's well that ends well. I appreciate your sincere attempt to be helpful and am grateful for that.

jlowell

Offline

#15 2003-10-04 04:29:56

red_over_blue
Member
Registered: 2003-07-19
Posts: 152

Re: Glibc Rebuild

jlowell,

No problem, just glad I could help.  As for sarah31, I think with the hour a night sleep she has probably been getting trying to get the monstrosity that is OOo to compile we should just be grateful she even reads the posts in the forums, not to mention taking care of "incoming" too.

Also, I hope you didn't miss the "tee" comment I made in this thread, as it is an under-used tool that is very useful.


Don't forget to post your PKGBUILD in your thread when you announce a new package in incoming.
see HERE for details

Offline

#16 2003-10-04 05:24:27

jlowell
Member
Registered: 2003-08-10
Posts: 270

Re: Glibc Rebuild

red_over_blue,

When I first installed Arch back in August, I thought I'd try using  makeworld to rebuild the base system binaries. Gyroplast introduced me to it at the time so I ran it. Of the sixty or seventy packages I then had installed it rebuilt all but about twelve. More than half of the remainder had had their urls change so there was nothing intrinsically wrong with the build scripts that a little research and editing wouldn't fix. groff, glibc and a couple of others were more recalcitrant though. We now know that groff appears quite ill because of a GNU security problem and that glibc had this kernel header thing, of course. But if I remember correctly, there is no mechanism in makeworld that permits you to exclude certain packages from installation. I mean I'm running Arch with reiserfs and had no need for jfsutils, for example, but it built and installed jfsutils anyway. I know you can exclude packages with pacman. But if you're using the -i option with makeworld aren't you compelled to accept the whole of a package group?

Anyway, next time I do a system rebuild (I've got Arch on three workstations here and am still at work rebuilding the first one as Sarah knows) I'll keep a log file using makeworld and the tee approach. It sounds as though it would be quite helpful should something break.

jlowell

Offline

#17 2003-10-04 14:32:16

red_over_blue
Member
Registered: 2003-07-19
Posts: 152

Re: Glibc Rebuild

jlowell wrote:

But if I remember correctly, there is no mechanism in makeworld that permits you to exclude certain packages from installation. I mean I'm running Arch with reiserfs and had no need for jfsutils, for example, but it built and installed jfsutils anyway.

Take a look here for a possible solution to your delema


Don't forget to post your PKGBUILD in your thread when you announce a new package in incoming.
see HERE for details

Offline

Board footer

Powered by FluxBB