From: Don Q. <pro...@rc...> - 2004-03-05 06:30:26
|
Hi - When I compiled both smartmontools-5.1-18 and smartmontools-5.29 I got the same compile error: escalade.c:197: `ENOTSUP' undeclared (first use in this function) So I surfed a bit and found this: #if !defined (ENOTSUP) #define ENOTSUP ENOSYS /* Operation not supported */ #endif /* !ENOTSUP */ I stuck that into os_linux.h and everything worked fine after that. FWIW Nice tool. Thank you. Don Quinn |
From: Bruce A. <ba...@gr...> - 2004-03-05 16:47:08
|
> > escalade.c:197: `ENOTSUP' undeclared (first use in this function) > Well, that's all I had to write. Now it's up to Bruce. This is such a minor modification (just affects the wording of the error message) that I just put it into os_linux.c. I've added: #ifndef ENOTSUP #define ENOTSUP ENOSYS #endif |
From: Don Q. <pro...@rc...> - 2004-03-16 02:02:48
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <title></title> </head> <body text="#000000" bgcolor="#ffffff"> Frédéric L. W. Meunier wrote:<br> <blockquote type="cite" cite="mid...@pe..."> <pre wrap="">On Fri, 5 Mar 2004, Don Quinn wrote: </pre> <blockquote type="cite"> <pre wrap="">When I compiled both smartmontools-5.1-18 and smartmontools-5.29 I got the same compile error: escalade.c:197: `ENOTSUP' undeclared (first use in this function) So I surfed a bit and found this: #if !defined (ENOTSUP) #define ENOTSUP ENOSYS /* Operation not supported */ #endif /* !ENOTSUP */ I stuck that into os_linux.h and everything worked fine after that. </pre> </blockquote> <pre wrap=""><!----> Since you're the first to report it in 1 1/2 year, may I ask which architecture, distribution, libc (glibc or libc5), kernel, and compiler you're using ? </pre> </blockquote> i-386 (PII); Slackware 8.1; glibc2.2; kernel 2.4.6; gcc3.2.1<br> <br> <blockquote type="cite" cite="mid...@pe..."> <pre wrap=""> I suspect you're using libc5 or a glibc older than 2.1 ? </pre> </blockquote> nope.<br> <blockquote type="cite" cite="mid...@pe..."> <pre wrap=""> According to <a class="moz-txt-link-freetext" href="http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/bits/errno.h.diff?r1=1.4&r2=1.5&cvsroot=glibc">http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/bits/errno.h.diff?r1=1.4&r2=1.5&cvsroot=glibc</a> , it has been added in 1998: </pre> </blockquote> "ENOSYS" is defined in my errno.h file. "ENOTSUP" is not. Your diff is on a RedHat tree. Is this another case of Red Hat quietly doing microsoft's subtle incompatibility dance? RH may be the most popular distro, but it's not the standard....<br> <blockquote type="cite" cite="mid...@pe..."> <pre wrap="">Tue Jun 30 12:03:08 1998 UTC (5 years, 8 months ago) by drepper Define ENOTSUP though the kernel doesn't do this. The file gets included by /usr/include/errno.h, which gets included by... os_linux.c. Well, that's all I had to write. Now it's up to Bruce. </pre> </blockquote> Thanks for responding.<br> <br> D. Quinn<br> </body> </html> |
From: <li...@pe...> - 2004-03-16 02:15:13
|
So, while Bruce added a workaround, you should investigate it. Something looks broken on your system. On Mon, 15 Mar 2004, Don Quinn wrote: > Fr=E9d=E9ric L. W. Meunier wrote: > > On Fri, 5 Mar 2004, Don Quinn wrote: > > > > When I compiled both smartmontools-5.1-18 and smartmontools-5.29 I got > the same compile error: > > escalade.c:197: `ENOTSUP' undeclared (first use in this function) > > So I surfed a bit and found this: > > #if !defined (ENOTSUP) > #define ENOTSUP ENOSYS /* Operation not supported */ > #endif /* !ENOTSUP */ > > I stuck that into os_linux.h and everything worked fine after that. > > > Since you're the first to report it in 1 1/2 year, may I ask > which architecture, distribution, libc (glibc or libc5), > kernel, and compiler you're using ? > > > i-386 (PII); Slackware 8.1;=A0 glibc2.2;=A0 kernel 2.4.6;=A0 gcc3.2.1 > > I suspect you're using libc5 or a glibc older than 2.1 ? > > > nope. > > According to > http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux= /bits/errno.h.diff?r1=3D1.4&r2=3D1.5&cvsroot=3Dglibc > , it has been added in 1998: > > > > "ENOSYS"=A0 is defined in my errno.h file.=A0 "ENOTSUP" is not.=A0 Your d= iff is > on a RedHat tree.=A0 Is this another=A0 case of Red Hat quietly doing=A0 > microsoft's subtle incompatibility dance?=A0 RH may be the most popular > distro, but it's not the standard.... > > Tue Jun 30 12:03:08 1998 UTC (5 years, 8 months ago) by drepper > Define ENOTSUP though the kernel doesn't do this. > > The file gets included by /usr/include/errno.h, which gets > included by... os_linux.c. > > Well, that's all I had to write. Now it's up to Bruce. --=20 http://www.pervalidus.net/contact.html |
From: Bruce A. <ba...@gr...> - 2004-03-16 05:22:47
|
Hi Don, This problem should be fixed in 5.30. Could you please check and let me know? Bruce On Mon, 15 Mar 2004, Don Quinn wrote: > Fr=E9d=E9ric L. W. Meunier wrote: >=20 > On Fri, 5 Mar 2004, Don Quinn wrote: >=20 > =20 >=20 > When I compiled both smartmontools-5.1-18 and smartmontools-5.29 I got > the same compile error: >=20 > escalade.c:197: `ENOTSUP' undeclared (first use in this function) >=20 > So I surfed a bit and found this: >=20 > #if !defined (ENOTSUP) > #define ENOTSUP ENOSYS /* Operation not supported */ > #endif /* !ENOTSUP */ >=20 > I stuck that into os_linux.h and everything worked fine after that. > =20 >=20 > Since you're the first to report it in 1 1/2 year, may I ask > which architecture, distribution, libc (glibc or libc5), > kernel, and compiler you're using ? > =20 >=20 > i-386 (PII); Slackware 8.1;=A0 glibc2.2;=A0 kernel 2.4.6;=A0 gcc3.2.1 >=20 > I suspect you're using libc5 or a glibc older than 2.1 ? > =20 >=20 > nope. >=20 > According to > http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux= /bits/errno.h.diff?r1=3D1.4&r2=3D1.5&cvsroot=3Dglibc > , it has been added in 1998: >=20 > =20 >=20 > "ENOSYS"=A0 is defined in my errno.h file.=A0 "ENOTSUP" is not.=A0 Your d= iff is on a RedHat tree.=A0 Is this another=A0 case of Red > Hat quietly doing=A0 microsoft's subtle incompatibility dance?=A0 RH may = be the most popular distro, but it's not the > standard.... >=20 > Tue Jun 30 12:03:08 1998 UTC (5 years, 8 months ago) by drepper > Define ENOTSUP though the kernel doesn't do this. >=20 > The file gets included by /usr/include/errno.h, which gets > included by... os_linux.c. >=20 > Well, that's all I had to write. Now it's up to Bruce. >=20 > =20 >=20 > Thanks for responding. >=20 > D. Quinn > ------------------------------------------------------- This SF.Net email= is sponsored by: IBM Linux Tutorials Free Linux > tutorial presented by Daniel Robbins, President and CEO of GenToo technol= ogies. Learn everything from fundamentals to > system administration.http://ads.osdn.com/?ad_id=3D1470&alloc_id=3D3638&o= p=3Dclick > _______________________________________________ Smartmontools-support mai= ling list > Sma...@li... https://lists.sourceforge.net= /lists/listinfo/smartmontools-support >=20 |
From: <li...@pe...> - 2004-03-16 05:45:26
|
> On Mon, 15 Mar 2004, Don Quinn wrote: > > > Fr=E9d=E9ric L. W. Meunier wrote: > > > > On Fri, 5 Mar 2004, Don Quinn wrote: > > > > According to > > http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/lin= ux/bits/errno.h.diff?r1=3D1.4&r2=3D1.5&cvsroot=3Dglibc > > , it has been added in 1998: > > > > > > > > "ENOSYS"=A0 is defined in my errno.h file.=A0 "ENOTSUP" is > > not.=A0 Your diff is on a RedHat tree.=A0 Is this another=A0 case > > of Red Hat quietly doing=A0 microsoft's subtle > > incompatibility dance?=A0 RH may be the most popular distro, > > but it's not the standard.... I overlooked it in my reply. If you aren't aware, I pointed you to the official sources. The GNU C Library (AKA glibc) is hosted at Red Hat, and maintained mainly by various of their developers. The official source packages are at ftp://sources.redhat.com/pub/glibc/releases/ . And here's the version for your 2.2: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/b= its/?cvsroot=3Dglibc&only_with_tag=3Dglibc-2_2 It has /* Linux has no ENOTSUP error code. */ # define ENOTSUP EOPNOTSUPP But if you're using Slackware 8.1, it ships with 2.2.5. Anyway, it didn't change: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/b= its/?cvsroot=3Dglibc&only_with_tag=3Dglibc-2-2-5 And here are the Slackware sources for 8.1: ftp://ftp.slackware.com/pub/slackware/slackware-8.1/source/l/glibc/ =2E As you can see, it uses an unmodified glibc, so it's the same. Here (with 2.3.2 and 2.4.20 kernel headers - yes, you shouldn't symlink /usr/include/asm and /usr/include/linux to the kernel include directories, but instead copy the ones which were used to compile glibc): % grep -r ENOTSUP /usr/include /usr/include/libxml2/libxml/xmlerror.h: XML_IO_ENOTSUP, /* 1532 */ /usr/include/linux/errno.h:#define ENOTSUPP 524 /* Operation is not= supported */ /usr/include/bits/errno.h:/* Linux has no ENOTSUP error code. */ /usr/include/bits/errno.h:# define ENOTSUP EOPNOTSUPP % grep -r EOPNOTSUPP /usr/include /usr/include/linux/cdrom.h:#define EDRIVE_CANT_DO_THIS EOPNOTSUPP /usr/include/bits/errno.h:# define ENOTSUP EOPNOTSUPP /usr/include/asm/errno.h:#define EOPNOTSUPP 95 /* Operatio= n not supported on transport endpoint */ --=20 http://www.pervalidus.net/contact.html |
From: Don Q. <pro...@rc...> - 2004-03-16 19:38:09
|
It looks like I was in too much of a hurry when I upgraded in the past: several infinite symlinks. Thank you for your patience in straightening me out. Now all I have to do is untie this mess. Don Quinn btw - Bruce has just notified me that the problem has been fixed in v. 5.30. I tried it out, and it has. Frédéric L. W. Meunier wrote: ... >Here (with 2.3.2 and 2.4.20 kernel headers - yes, you shouldn't >symlink /usr/include/asm and /usr/include/linux to the kernel >include directories, but instead copy the ones which were used >to compile glibc): > >% grep -r ENOTSUP /usr/include >/usr/include/libxml2/libxml/xmlerror.h: XML_IO_ENOTSUP, /* 1532 */ >/usr/include/linux/errno.h:#define ENOTSUPP 524 /* Operation is not supported */ >/usr/include/bits/errno.h:/* Linux has no ENOTSUP error code. */ >/usr/include/bits/errno.h:# define ENOTSUP EOPNOTSUPP > >% grep -r EOPNOTSUPP /usr/include >/usr/include/linux/cdrom.h:#define EDRIVE_CANT_DO_THIS EOPNOTSUPP >/usr/include/bits/errno.h:# define ENOTSUP EOPNOTSUPP >/usr/include/asm/errno.h:#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ > > > > |
From: Don Q. <pro...@rc...> - 2004-03-16 19:39:39
|
Works fine. Thanks to you and to Frédéric for your help. Don Bruce Allen wrote: >Hi Don, > >This problem should be fixed in 5.30. Could you please check and let me >know? > >Bruce > >On Mon, 15 Mar 2004, Don Quinn wrote: > > > ... |