Unix Technical Forum

Which file in which package defines ENOMEM?

This is a discussion on Which file in which package defines ENOMEM? within the Slackware Linux Support forums, part of the Unix Operating Systems category; --> Hi all. I am having trouble compiling a package that includes libtool's ltdl library. Whenever I run make I ...


Go Back   Unix Technical Forum > Unix Operating Systems > Slackware Linux Support

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-20-2008, 06:02 PM
Nate Bargmann
 
Posts: n/a
Default Which file in which package defines ENOMEM?

Hi all.

I am having trouble compiling a package that includes libtool's ltdl
library. Whenever I run make I am getting the following error text:

/bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O0
-c -o ltdl.lo ltdl.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O0 -c ltdl.c -fPIC -DPIC
-o .libs/ltdl.o
ltdl.c: In function `argzize_path':
ltdl.c:2613: error: `ENOMEM' undeclared (first use in this function)
ltdl.c:2613: error: (Each undeclared identifier is reported only once
ltdl.c:2613: error: for each function it appears in.)

grep as I might, I cannot find a file that #defines ENOMEM. On a Debian Sid
system I find it defined in /usr/include/asm-generic/errno-base.h That
file does not exist on this Slackware 10.2 system which has been upgraded
to the latest 10.2 packages.

The odd thing is that I had successfully compiled this program a couple of
months back so I'm not sure when things broke.

Thanks!

- Nate >>

--
Wireless | Amateur Radio Station N0NB | Successfully Microsoft
Amateur radio exams; ham radio; Linux info @ | free since January 1998.
http://www.qsl.net/n0nb/ | "Debian, the choice of
My Kawasaki KZ-650 SR @ | a GNU generation!"
http://www.networksplus.net/n0nb/ | http://www.debian.org
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-20-2008, 06:02 PM
Old Man
 
Posts: n/a
Default Re: Which file in which package defines ENOMEM?

Nate Bargmann wrote:

> grep as I might, I cannot find a file that #defines ENOMEM. On a Debian
> Sid
> system I find it defined in /usr/include/asm-generic/errno-base.h That
> file does not exist on this Slackware 10.2 system which has been upgraded
> to the latest 10.2 packages.
>
> The odd thing is that I had successfully compiled this program a couple of
> months back so I'm not sure when things broke.
>
> Thanks!
>
> - Nate >>
>


kernel-headers-2.4.33.2-i386-1:usr/include/asm-i386/errno.h

--
Old Man
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-20-2008, 06:03 PM
Nate Bargmann
 
Posts: n/a
Default Re: Which file in which package defines ENOMEM?

Old Man wrote:

>
> kernel-headers-2.4.33.2-i386-1:usr/include/asm-i386/errno.h
>


Okay, here is the content of that file:

#ifndef _I386_ERRNO_H
#define _I386_ERRNO_H

#include <asm-generic/errno.h>

#endif


I'm missing the directory of /usr/include/asm-generic entirely. :-/

Also, I have kernel 2.4.31 installed. Did all this change with a new kernel
version? Looking in /usr/src/linux/include/asm the errno.h seems to be the
file I need as ENOMEM is #defined there.

- Nate >>

--
Wireless | Amateur Radio Station N0NB | Successfully Microsoft
Amateur radio exams; ham radio; Linux info @ | free since January 1998.
http://www.qsl.net/n0nb/ | "Debian, the choice of
My Kawasaki KZ-650 SR @ | a GNU generation!"
http://www.networksplus.net/n0nb/ | http://www.debian.org
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 02-20-2008, 06:03 PM
Petri Kaukasoina
 
Posts: n/a
Default Re: Which file in which package defines ENOMEM?

Nate Bargmann <n0nb@networksplus.net> wrote:
>Okay, here is the content of that file:
>
>#ifndef _I386_ERRNO_H
>#define _I386_ERRNO_H
>
>#include <asm-generic/errno.h>
>
>#endif


That's not correct.

Try:
ls -ld /usr/include/linux /usr/include/asm-i386 /usr/include/asm

It should output something like this:

lrwxrwxrwx 1 root root 8 Jan 30 2006 /usr/include/asm -> asm-i386
drwxr-xr-x 2 root root 4096 Apr 4 2005 /usr/include/asm-i386
drwxr-xr-x 14 root root 12288 Jun 6 2005 /usr/include/linux

asm-i386 and linux are directories and asm is a link to asm-i386

On the other hand, this would not be correct:

lrwxrwxrwx 1 root root 31 Sep 22 14:39 /usr/include/asm -> /usr/src/linux/include/asm-i386
lrwxrwxrwx 1 root root 31 Sep 22 14:39 /usr/include/linux -> /usr/src/linux/include/linux

where asm and linux are links to kernel source. If you have that then remove
the links:

rm /usr/include/asm /usr/include/linux

and after that (or in any case) get the correct kernel-headers package
(kernel-headers-2.4.31-i386-1.tgz) from the cdrom or from any slackware
mirror site and reinstall it:

upgradepkg --reinstall --install-new kernel-headers-2.4.31-i386-1.tgz
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 02-20-2008, 06:03 PM
Old Man
 
Posts: n/a
Default Re: Which file in which package defines ENOMEM?

Nate Bargmann wrote:

> Okay, here is the content of that file:
>
> #ifndef _I386_ERRNO_H
> #define _I386_ERRNO_H
>
> #include <asm-generic/errno.h>
>
> #endif
>

Odd. On my system, /usr/include/asm-i386/errno.h looks like this:
#ifndef _I386_ERRNO_H
#define _I386_ERRNO_H

#define EPERM 1 /* Operation not permitted */
#define ENOENT 2 /* No such file or directory */
#define ESRCH 3 /* No such process */
#define EINTR 4 /* Interrupted system call */
#define EIO 5 /* I/O error */
#define ENXIO 6 /* No such device or address */
#define E2BIG 7 /* Argument list too long */
#define ENOEXEC 8 /* Exec format error */
#define EBADF 9 /* Bad file number */
#define ECHILD 10 /* No child processes */
#define EAGAIN 11 /* Try again */
#define ENOMEM 12 /* Out of memory */

<snip many additional #defines>

#define ENOMEDIUM 123 /* No medium found */
#define EMEDIUMTYPE 124 /* Wrong medium type */
#endif

> I'm missing the directory of /usr/include/asm-generic entirely. :-/


As am I. I suspect that's not the problem.

> Also, I have kernel 2.4.31 installed. Did all this change with a new
> kernel
> version?


The in the original 10.2 kernel headers package for
2.4.31, /usr/include/asm-i386/errno.h is exactly the same as the one I show
above. Mayber you need to reinstall the kernel headers package?

> Looking in /usr/src/linux/include/asm the errno.h seems to be
> the file I need as ENOMEM is #defined there.


--
Old Man
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 02-20-2008, 06:03 PM
Nate Bargmann
 
Posts: n/a
Default Re: Which file in which package defines ENOMEM?

I punted and reinstalled 10.2 after figuring that doing updates from a
Slackware repository other than PV's probably wasn't a good thing. All is
well now as I think a glibc update wiped everything out expecting a 2.6
kernel install to supply those files.

I've got another partition to try 11.0 on when it becomes final.

Thanks for the replies.

- Nate >>

--
Wireless | Amateur Radio Station N0NB | Successfully Microsoft
Amateur radio exams; ham radio; Linux info @ | free since January 1998.
http://www.qsl.net/n0nb/ | "Debian, the choice of
My Kawasaki KZ-650 SR @ | a GNU generation!"
http://www.networksplus.net/n0nb/ | http://www.debian.org
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 02-20-2008, 06:03 PM
Grant
 
Posts: n/a
Default Re: Which file in which package defines ENOMEM?

On Fri, 22 Sep 2006 15:02:43 -0500, Nate Bargmann <n0nb@networksplus.net> wrote:

>I punted and reinstalled 10.2 after figuring that doing updates from a
>Slackware repository other than PV's probably wasn't a good thing.


At this stage of the game I'd have installed slack-current

> All is
>well now as I think a glibc update wiped everything out expecting a 2.6
>kernel install to supply those files.


Stuff happened...
>
>I've got another partition to try 11.0 on when it becomes final.


Try it now, report any problems to Pat V? I've done five boxen last week
or two, nothing blew up Most were bare metal installs, the firewall is
an upgrade to -current from 10.2 done over several months, running 24/7
with very small downtime (minute or two each) due to reboots for new kernels.

Grant.
--
http://bugsplatter.mine.nu/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 02-20-2008, 06:04 PM
Nate Bargmann
 
Posts: n/a
Default Re: Which file in which package defines ENOMEM?

Grant wrote:

> Try it now, report any problems to Pat V? I've done five boxen last week
> or two, nothing blew up Most were bare metal installs, the firewall is
> an upgrade to -current from 10.2 done over several months, running 24/7
> with very small downtime (minute or two each) due to reboots for new
> kernels.


What's a good way to do that without installing 10.2 first and trying to
upgrade?

- Nate >>

--
Wireless | Amateur Radio Station N0NB | Successfully Microsoft
Amateur radio exams; ham radio; Linux info @ | free since January 1998.
http://www.qsl.net/n0nb/ | "Debian, the choice of
My Kawasaki KZ-650 SR @ | a GNU generation!"
http://www.networksplus.net/n0nb/ | http://www.debian.org
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old 02-20-2008, 06:04 PM
Grant
 
Posts: n/a
Default Re: Which file in which package defines ENOMEM?

On Sat, 23 Sep 2006 19:05:24 -0500, Nate Bargmann <n0nb@networksplus.net> wrote:

>Grant wrote:
>
>> Try it now, report any problems to Pat V? I've done five boxen last week
>> or two, nothing blew up Most were bare metal installs, the firewall is
>> an upgrade to -current from 10.2 done over several months, running 24/7
>> with very small downtime (minute or two each) due to reboots for new
>> kernels.

>
>What's a good way to do that without installing 10.2 first and trying to
>upgrade?


I'm not sure what you ask. What I do is create a boot CD from the -current
mirror with:

grant@deltree:/home/mirror$ cat make-boot-cd
#!/bin/bash
#
# build a slackware boot cd, from isolinux/README.TXT
#
mkisofs -o /home/share/slackware.iso \
-R -J -V "Slackware Install" \
-x ./extra \
-x ./pasture \
-x ./source \
-x ./testing \
-x ./zipslack \
-x ./slackware/e \
-x ./slackware/gnome \
-x ./slackware/kde \
-x ./slackware/kdei \
-x ./slackware/t \
-x ./slackware/tcl \
-x ./slackware/xap \
-x ./slackware/x \
-x ./patches/source \
-hide-rr-moved \
-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \
-sort isolinux/iso.sort \
-b isolinux/isolinux.bin \
-c isolinux/isolinux.boot \
-A "Slackware Install CD" .

Called from say /home/mirror/slackware-current as ../make-boot-cd creates the
..iso image, burn that to CD then perform a network (NFS) install. You could
burn a DVD with entire image with:

grant@deltree:/home/mirror$ cat make-boot-dvd
#!/bin/bash
#
# build a slackware boot cd, from isolinux/README.TXT
#
mkisofs -o /home/share/slackware-dvd.iso \
-R -J -V "Slackware 10.2 Install" \
-hide-rr-moved \
-v -d -N -no-emul-boot -boot-load-size 32 -boot-info-table \
-sort isolinux/iso.sort \
-b isolinux/isolinux.bin \
-c isolinux/isolinux.boot \
-A "Slackware Install DVD" .

Otherwise you're stuck with trying to make a two or three CD set or downloading
unofficial .iso files from out there on the 'net.

Grant.
--
http://bugsplatter.mine.nu/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10 (permalink)  
Old 02-20-2008, 06:07 PM
Nate Bargmann
 
Posts: n/a
Default Re: Which file in which package defines ENOMEM?

On Sun, 24 Sep 2006 11:31:15 +1000, Grant wrote:

> On Sat, 23 Sep 2006 19:05:24 -0500, Nate Bargmann <n0nb@networksplus.net> wrote:
>
>>Grant wrote:
>>
>>> Try it now, report any problems to Pat V? I've done five boxen last week
>>> or two, nothing blew up Most were bare metal installs, the firewall is
>>> an upgrade to -current from 10.2 done over several months, running 24/7
>>> with very small downtime (minute or two each) due to reboots for new
>>> kernels.

>>
>>What's a good way to do that without installing 10.2 first and trying to
>>upgrade?

>
> I'm not sure what you ask. What I do is create a boot CD from the -current
> mirror with:


Thank you. Something like that is what I was looking for. I'll give it a
try.

- Nate >>

--

"The optimist proclaims that we live in the best of all possible worlds,
the pessimist fears this is true."
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 09:53 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com