MandrivaThis Forum is for the discussion of Mandriva (Mandrake) 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.
Hi
I'm trying to compile leafnode. I run
sh ./configure
as it describes in the INSTALL document, and I get the following output:
=============================
[toby@localhost leafnode-1.9.33.rel]$ sh ./configure
checking for a BSD-compatible install... /usr//bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: WARNING: ***
configure: WARNING: *** overriding sysconfdir to /etc/leafnode
configure: WARNING: *** use --sysconfdir to fix
configure: WARNING: *** use --sysconfdir='$prefix/etc' to get default autoconf behaviour
configure: WARNING: ***
checking spooldir... /var/spool/news
checking lockfile... /var/lock/news/fetchnews.lck
checking for gawk... (cached) gawk
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
=============================
I would paste config.log, but it's rather long. I'll post it if someone asks for it, yeah?
I've googled about and can't really tell what is wrong. Usually (well, 70% of the time) I have no problems compiling from source.
If I go "K/administer your system/remove software" to open rpmdrake then type glibc in the search box, it shows:
glibc-devel-2.3.1-10mdk
glibc-il8ndata-2.3.1-10mdk
glibc_lsb_2.3.1-1mdk
I guess from this I have glibc installed! I don't know a better way to check
As to write permissions, if I navigate to the directory in the Konsole and enter
vi deletethistestfile
it creates a file called deletethistestfile, so I seem to have permissions.
I'd try installing as root, but the INSTALL document says that I should do this step "as user".
Try as root: urpmi gcc.
This may install a newer version of gcc. Also, I wasn't expecting to see the 'devel' at the end of the libgcc display. I'm not at my computer right now to check, but isn't this the source, rather than the actual library?
Just fyi. When I install from source, I download the .tgz tarball into a subdirectory of my home directory and su to root just before the make install phase. When I'm done, I delete the installation directory and save the source tarball in case I need to re-install later. An exception of course being the kernel source which is in /usr/src/.
---
After submitting my reply, I looked at a website for information on LM9.1 gcc versions. gcc 2.3.1 seems to be correct, but I'm not certain that everything is installed.
Could you cut and paste from the config.log for the part were the error showed up?
I su'd to root, and entered urpmi gcc. It returned:
"Everything already installed"
(I expect the "devel" is there because at some point in history, when I was trying to get something installed, I was told to install gcc. I expect I used the mandrake installer utility and clicked everything with gcc in it!)
Here follows all of config.log. I don't feel confident enough to only post what I think are the important parts.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.57. Invocation command line was
$ ./configure
## --------- ##
## Platform. ##
## --------- ##
hostname = localhost
uname -m = i686
uname -r = 2.4.21-0.13mdksecure
uname -s = Linux
uname -v = #1 SMP Fri Mar 14 14:10:36 EST 2003
configure:1337: checking for a BSD-compatible install
configure:1391: result: /usr//bin/install -c
configure:1402: checking whether build environment is sane
configure:1445: result: yes
configure:1478: checking for gawk
configure:1494: found /usr//bin/gawk
configure:1504: result: gawk
configure:1514: checking whether make sets $(MAKE)
configure:1534: result: yes
configure:1691: checking whether to enable maintainer-specific portions of Makefiles
configure:1700: result: no
configure:1745: WARNING: ***
configure:1747: WARNING: *** overriding sysconfdir to /etc/leafnode
configure:1749: WARNING: *** use --sysconfdir to fix
configure:1751: WARNING: *** use --sysconfdir='$prefix/etc' to get default autoconf behaviour
configure:1753: WARNING: ***
configure:1766: checking spooldir
configure:1786: result: /var/spool/news
configure:1790: checking lockfile
configure:1810: result: /var/lock/news/fetchnews.lck
configure:1818: checking for gawk
configure:1844: result: gawk
configure:1900: checking for gcc
configure:1916: found /usr//bin/gcc
configure:1926: result: gcc
configure:2170: checking for C compiler version
configure:2173: gcc --version </dev/null >&5
gcc-3.2.2 (GCC) 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:2176: $? = 0
configure:2178: gcc -v </dev/null >&5
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.2.2/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib --with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --enable-long-long --enable-__cxa_atexit --enable-languages=c,c++,ada,f77,objc,java --host=i586-mandrake-linux-gnu --with-system-zlib
Thread model: posix
gcc version 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk)
configure:2181: $? = 0
configure:2183: gcc -V </dev/null >&5
gcc-3.2.2: argument to `-V' is missing
configure:2186: $? = 1
configure:2210: checking for C compiler default output
configure:2213: gcc conftest.c >&5
configure:2216: $? = 0
configure:2262: result: a.out
configure:2267: checking whether the C compiler works
configure:2273: ./a.out
./configure: line 1: ./a.out: Permission denied
configure:2276: $? = 126
configure:2285: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
I've highlighted in red the important looking bit.
a.out never gets created. Unless it gets deleted immediately maybe. It's certainly not there now anyway.
The line with 'configure: 2183' is
the first part that looks interesting to me. I'm not at my home computer, so I can't check what the gcc -V option is for, but it failed. Try man gcc and check the -V option. Also, what are the permissions of the directory where you are executing the script. (i.e. umask number). Can you execute the script with ./configure alone. If not, the partition may be mounted with the noexec option.
Generally, when compiling programs from source, expand the tarball into your home directory. The make install step will copy the needed programs and libraries to the places they need to go.
Then you can delete the project directory, and save the original tar-ball source just in case.
Try compiling your own program, like a simple HelloWorld.c program and see if that works.
Here is a link which shows common bash exit codes. An exit code of 126 means that the command couldn't execute. This means that either the command entered was not an executable, or a problem with permission settings.
By the way, were did you untar the leafnode source. Try untarring it in your home directory. See if it works form there. You will need to su to root before the 'make install' command.
I had been unpacking the leafnode .tar.bz2 using KDE's right-click function. This time, I deleted everything and unpacked using the bzip and tar commands from the Konsole. It seems to have behaved a little better with respect to pemissions - in now succeeds at the ./configure stage!
still as user, I type
make
and I get a fresh error
apologies for the ream of text, but it seems the best way to be sure all the info is there.
leafnode.h:51: parse error before "__extension__"
leafnode.h:51: warning: implicit declaration of function `rpl_malloc'
leafnode.h:51: `__len' undeclared here (not in a function)
leafnode.h:51: initializer element is not constant
leafnode.h:51: parse error before "if"
leafnode.h:51: warning: type defaults to `int' in declaration of `__retval'
leafnode.h:51: conflicting types for `__retval'
leafnode.h:51: previous declaration of `__retval'
leafnode.h:51: warning: data definition has no type or storage class
leafnode.h:51: parse error before '}' token
make[2]: *** [validatefqdn.o] Error 1
make[2]: Leaving directory `/home/toby/Documents/downloads/leafnode/leafnode-1.9.33.rel'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/toby/Documents/downloads/leafnode/leafnode-1.9.33.rel'
make: *** [all] Error 2
[toby@localhost leafnode-1.9.33.rel]$
I have solved the problem by joining the leafnode mailing list. Someone there pointed out that there was a newer version of leafnode, leafnode-1.9.51.rel, that solved my problem. It is now compiled and installed!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.