SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I got the same problem. I traced it to a missing define:
/usr/include/linux/fs.h is included in the check for BLKGETSIZE64, and
that file uses the typedef pgoff_t.
It is in /usr/include/linux/types.h, but only available there for the
kernel.
This only happens if your /usr/include/linux is a link to the kernel
includes (which I think is bad, since it introduces dependencies based
on the kernel version...):
> l /usr/include/linux
lrwxrwxrwx 1 root root 28 Dec 16 12:38 /usr/include/linux ->
/usr/src/linux/include/linux/
I'm using kernel 2.6.10, btw.:
l /usr/src/linux
lrwxrwxrwx 1 root root 12 Feb 13 18:28 /usr/src/linux -> linux-2.6.10/
My workaround was to just add the define:
--- configure.orig 2005-01-24 18:46:24.000000000 -0800
+++ configure 2005-03-20 11:21:25.000000000 -0800
@@ -22784,6 +22784,9 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <sys/types.h>
+#ifndef pgoff_t
+#define pgoff_t unsigned long
+#endif
#include <linux/ioctl.h>
#include <linux/fs.h>
int
-Joe
I'd say it's a kernel header problem... Duh... I bet you wouldn't have this problem you were using linux-libc-headers instead of the kernel ones.... You ussually don't listen to me anyway acidjuice, but I'll try to suggest something. Do it if you want...
Code:
cat << EOF > blkgetsize.c
#include <sys/types.h>
#include <linux/ioctl.h>
#include <linux/fs.h>
int main(int argc, char *argv[])
{
int fd = 0;
unsigned long long int n;
ioctl (fd, BLKGETSIZE64, &n);
return 0;
}
EOF
gcc -o blkgetsize blkgetsize.c
What's that spit out at ya? Just copy/paste all of that in a terminal.. I'd still move to linux-libc-headers if I were you. I've been using them on Slack for quite some time instead of the headers he provides..
By the way... What headers are you running. That doesn't look like a 2.4 fs.h
Originally posted by jong357 I'd say it's a kernel header problem... Duh... I bet you wouldn't have this problem you were using linux-libc-headers instead of the kernel ones.... You ussually don't listen to me anyway acidjuice, but I'll try to suggest something.
i do! i do! i did follow all your suggestions to finally be able to compile some gnome bits.
but in this case i actually don't even know what you are talking about... how can i 'use' linux-libc-headers? i would love to do that!
Quote:
I'd still move to linux-libc-headers if I were you. I've been using them on Slack for quite some time instead of the headers he provides..
that's more than allright for me... how?
Quote:
By the way... What headers are you running. That doesn't look like a 2.4 fs.h
yes you are right as per my post here above these are 2.6.9 (original headers on slamd64).
Not to sound mean in anyway (cause I'm not), but this is what I'm talking about... You didn't run those commands like I asked..... Thats why I find it frustrating to try and help you because you never do what I suggest...
Did that compile or no? It shouldn't according to your hal error. I'm curious as to what the output from gcc is.. Compile that C file and then post the output. I was waiting on the output of "file" from weeks ago, but I've long since lost interest in whether or not you are actually producing 64 bit libraries and binaries when you compile these packages. It actually wouldn't suprise me if you've been cranking out 32bit packages this whole time...
Yea, he's running dropline on his regular slack install. I think he wanted to build and package vanilla Gnome x86_64 for slamd. I'm pretty sure Dropline only comes in one flavor. x86_32... It certainly would be easier using dropline...
Originally posted by jong357 Not to sound mean in anyway (cause I'm not), but this is what I'm talking about... You didn't run those commands like I asked..... Thats why I find it frustrating to try and help you because you never do what I suggest...
Did that compile or no? It shouldn't according to your hal error. I'm curious as to what the output from gcc is.. Compile that C file and then post the output. I was waiting on the output of "file" from weeks ago, but I've long since lost interest in whether or not you are actually producing 64 bit libraries and binaries when you compile these packages. It actually wouldn't suprise me if you've been cranking out 32bit packages this whole time...
LOL
ok so you want me to copy / paste this code into a file:
Code:
cat << EOF > blkgetsize.c
#include <sys/types.h>
#include <linux/ioctl.h>
#include <linux/fs.h>
int main(int argc, char *argv[])
{
int fd = 0;
unsigned long long int n;
ioctl (fd, BLKGETSIZE64, &n);
return 0;
}
EOF
gcc -o blkgetsize blkgetsize.c
and run it? i'm sorry i didn't follow some suggestions actually because i didn't understand them
if this is what you are looking for i'll do it asap.
Originally posted by jong357 What's that spit out at ya? Just copy/paste all of that in a terminal..
So for further clarification ( I didn't think it needed any), COPY/PASTE every single line of code that I listed into a TERMINAL. Then press ENTER. Then COPY/PASTE your terminal OUPUT here...
It might help to identify the problem. Altho, posting the relevant section of your configure log would probably produce similar results... I'm not going to ask you to, because you WONT anyway....
Here... This has been sitting on my desktop for a day or two now and I want to get rid of it. Not sure what's up with your hal problem right now but good luck in whatever route you try to take... Obviously, I can't guarantee that linux-libc-headers will fix your problem, but it's atleast worth a shot in my book... Sory about the previous pissy post. I got my ass handed to me all day long in enemy territory. Tends to make me grumpy....
Code:
#!/bin/sh
#
# linux-libc-headers for slamd64
# They can be found at http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
CWD=`pwd`
TMP=/tmp
PKG=$TMP/package-linux-libc-headers
VERSION=2.6.9.0
PKGVERSION=2.6.9
ARCH=x86_64
BUILD=1
# Obviously, we don't need this here. This WILL be an
# x86_64 arch tho, because of our asm headers...
if [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
fi
rm -rf $PKG
mkdir -p $PKG/usr/include
cd $TMP
rm -rf linux-libc-headers-$VERSION
tar xjf $CWD/linux-libc-headers-$VERSION.tar.bz2
cd linux-libc-headers-$VERSION
# Again, I'm assuming you want 'asm-x86_64' instead of
# 'asm-i386'.. Makes sense anyway...
cp -R include/asm-x86_64 $PKG/usr/include/asm
cp -R include/linux $PKG/usr/include
( cd $PKG
chown -R root.root .
find usr/include/{asm,linux} -type d -exec chmod 755 {} \;
find usr/include/{asm,linux} -type f -exec chmod 644 {} \; )
mkdir -p $PKG/install
cat << EOF > $PKG/install/slack-desc
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler-------------------------------------------|
linux-libc-headers: linux-$PKGVERSION (kernel headers)
linux-libc-headers:
linux-libc-headers: For years it has been common practice to use 'raw'
linux-libc-headers: kernel headers (straight from a kernel tarball) in
linux-libc-headers: /usr/include, but over the last few years, the
linux-libc-headers: kernel developers have taken a strong stance that
linux-libc-headers: this should not be done. This gave birth to the
linux-libc-headers: Linux-Libc-Headers Project, which was designed to
linux-libc-headers: maintain an API stable version of the Linux headers.
linux-libc-headers:
linux-libc-headers:
EOF
# Build the package:
cd $PKG
makepkg -l y -c n $TMP/linux-libc-headers-$PKGVERSION-$ARCH-$BUILD.tgz
sorry for the late reply i was away the whole weekend.
here it is... even though i do not think this is what you were looking for...
Code:
/home/slamd# cat << EOF > blkgetsize.c
> #include <sys/types.h>
> #include <linux/ioctl.h>
> #include <linux/fs.h>
>
> int main(int argc, char *argv[])
> {
> int fd = 0;
> unsigned long long int n;
>
> ioctl (fd, BLKGETSIZE64, &n);
> return 0;
> }
>
> EOF
root@rslamd:/home/slamd# gcc -o blkgetsize blkgetsize.c
In file included from /usr/include/linux/wait.h:21,
from /usr/include/linux/fs.h:12,
from blkgetsize.c:3:
/usr/include/linux/list.h:715:2: warning: #warning "don't include kernel headers in userspace"
In file included from /usr/include/linux/wait.h:22,
from /usr/include/linux/fs.h:12,
from blkgetsize.c:3:
/usr/include/linux/pid.h:19: error: field `pid_chain' has incomplete type
In file included from /usr/include/linux/fs.h:19,
from blkgetsize.c:3:
/usr/include/linux/prio_tree.h:22: error: parse error before "pgoff_t"
/usr/include/linux/prio_tree.h:27: error: parse error before "pgoff_t"
/usr/include/linux/prio_tree.h: In function `prio_tree_iter_init':
/usr/include/linux/prio_tree.h:29: error: `iter' undeclared (first use in this function)
/usr/include/linux/prio_tree.h:29: error: (Each undeclared identifier is reported only once
/usr/include/linux/prio_tree.h:29: error: for each function it appears in.)
/usr/include/linux/prio_tree.h:29: error: `root' undeclared (first use in this function)
/usr/include/linux/prio_tree.h:30: error: `r_index' undeclared (first use in this function)
if you need anything else please do let me know... fyi, couldn't find any proper config.log this time because my script cleaned it. if you think this can make any difference i will recompile and post it here for you.
shall i instead use the script you provided to install the linux headers? btw already thank you for this precious script and no need to worry for the 'rudeness', you are being all but that.
Well, yea.. That helps. Look, they are even telling you not to use the kernel headers basically..
warning: #warning "don't include kernel headers in userspace"
Thats pretty much what I expected to see. And there is your pgoff_t error as well...
Actually, I'd feel pretty good about using linux-libc-headers if I were you... Give it a try, can't hurt. Even if it doesn't work, I'd probably still leave them installed. As long as they are they same version that's installed now (more importantly, the same version Glibc was compiled against), it shouldn't hurt anything. Do a removepkg on your current kernel headers and then install the new ones... Hopefully, hal will like your new headers...
thank to your suggestions i was able to compile hal.
however, when i compile dbus (just prior hal) i get this error:
Code:
dbus.py File "/usr/lib/python2.3/site-packages/dbus.py", line 518
@method('org.freedesktop.DBus.Introspectable')
^
SyntaxError: invalid syntax
if i ignore it, hal compiles ok but of course after that, gnome-vfs gives:
Code:
gnome-vfs-hal-mounts.c:52: error: parse error before "HalStoragePolicy"
gnome-vfs-hal-mounts.c:52: warning: no semicolon at end of struct or union
gnome-vfs-hal-mounts.c:53: warning: data definition has no type or storage class
gnome-vfs-hal-mounts.c: In function `_hal_device_added':
gnome-vfs-hal-mounts.c:66: error: `hal_userdata' undeclared (first use in this function)
gnome-vfs-hal-mounts.c:66: error: (Each undeclared identifier is reported only once
gnome-vfs-hal-mounts.c:66: error: for each function it appears in.)
gnome-vfs-hal-mounts.c:69: error: parse error before ')' token
gnome-vfs-hal-mounts.c:78: warning: assignment makes pointer from integer without a cast
gnome-vfs-hal-mounts.c: In function `_hal_device_removed':
gnome-vfs-hal-mounts.c:97: error: `hal_userdata' undeclared (first use in this function)
gnome-vfs-hal-mounts.c:100: error: parse error before ')' token
gnome-vfs-hal-mounts.c: In function `_hal_device_new_capability':
gnome-vfs-hal-mounts.c:130: error: `hal_userdata' undeclared (first use in this function)
compiling gnome-vfs fails.
yes, it is a neverending story. learning, but starting to get tired
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.