LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 09-26-2007, 09:47 AM   #1
BashTin
Member
 
Registered: May 2003
Location: West Midlands, United Kingdom.
Distribution: Slackware 14.1, Centos 7
Posts: 278

Rep: Reputation: 32
Conky -1.4.47 compile error


Hi all. Back again for more. Don't really know if this is the most suitable forum for this but you have not let me down yet ;-)

Ok I am trying to compile conky 1.4.7 with wireless support, './configure --enable-wlan'

But the compile fails with.....

checking iwlib.h presence... yes
checking for iwlib.h... yes
checking for iw_sockets_open in -liw... no
configure: error: iw_sockets_open not found

This is a 'snip' from config.log

***********************************************************************
configure:20549: checking iwlib.h presence
configure:20564: gcc -E conftest.c
configure:20570: $? = 0
configure:20584: result: yes
configure:20617: checking for iwlib.h
configure:20625: result: yes
configure:20642: checking for iw_sockets_open in -liw
configure:20677: gcc -o conftest conftest.c -liw >&5
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libiw.so(iwlib.so)(.text+0x991): In function `iw_freq2float':
: undefined reference to `pow'
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libiw.so(iwlib.so)(.text+0xb76): In function `iw_float2freq':
: undefined reference to `log10'
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libiw.so(iwlib.so)(.text+0xb7e): In function `iw_float2freq':
: undefined reference to `floor'
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libiw.so(iwlib.so)(.text+0xbbf): In function `iw_float2freq':
: undefined reference to `pow'
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libiw.so(iwlib.so)(.text+0xbcf): In function `iw_float2freq':
: undefined reference to `floor'
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libiw.so(iwlib.so)(.text+0x1257): In function `iw_dbm2mwatt':
: undefined reference to `pow'
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libiw.so(iwlib.so)(.text+0x1261): In function `iw_dbm2mwatt':
: undefined reference to `floor'
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libiw.so(iwlib.so)(.text+0x12a0): In function `iw_mwatt2dbm':
: undefined reference to `log10'
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libiw.so(iwlib.so)(.text+0x12b0): In function `iw_mwatt2dbm':
: undefined reference to `ceil'
collect2: ld returned 1 exit status
configure:20683: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "Conky"
| #define PACKAGE_TARNAME "conky"
| #define PACKAGE_VERSION "1.4.7"
| #define PACKAGE_STRING "Conky 1.4.7"
| #define PACKAGE_BUGREPORT "brenden1@users.sourceforge.net"
| #define PACKAGE "conky"
| #define VERSION "1.4.7"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define OWN_WINDOW 1
| #define HDDTEMP 1
| #define MPD 1
| #define HAVE_IWLIB_H 1
| /* end confdefs.h. */
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char iw_sockets_open ();
| int
| main ()
| {
| return iw_sockets_open ();
| ;
| return 0;
| }
configure:20701: result: no
configure:20706: error: iw_sockets_open not found
***********************************************************************

I have iwlib.h in /usr/include;

I have wireless.h in...
/usr/src/linux-2.6.21.6/include/linux/wireless.h
/usr/include/linux/wireless.h
/usr/include/wireless.h

I also have the soft link /usr/lib/libiw.so -> /usr/lib/libiw.a

I am running Slacky 11, Linux 2.6.21.6 (i686) with gcc 3.4.6.

I need Conky 1.4.7 as the previous version 1.4.5 does not have wireless support, as I understand it.

As usual any help or ideas would be very much appreciated.

BashTin.
 
Old 09-28-2007, 02:46 AM   #2
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
It looks like there is something wrong with libiw.

Quote:
I also have the soft link /usr/lib/libiw.so -> /usr/lib/libiw.a
That's a very bad idea ... such a thing will never work, because they are two very very different files. Please re-install libiw properly. You may need to './configure --enable-shared'.
 
Old 09-30-2007, 01:00 AM   #3
BashTin
Member
 
Registered: May 2003
Location: West Midlands, United Kingdom.
Distribution: Slackware 14.1, Centos 7
Posts: 278

Original Poster
Rep: Reputation: 32
H_TeXMeX_H thanks for the reply.

The soft link was something I added. Didn't really know what I was doing but thought it was worth a try.

I have removed the link and reinstalled libiw with the same results.

Think I might post this in programming and see if anyone has any ideas there.

Thanks again, BashTin.
 
Old 09-30-2007, 02:11 AM   #4
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
In order for it to generate a '.so' along with a '.a', you need to tell it to make a shared library. (hence the './configure --enable-shared') I might be wrong and this may not be the right option. Try './configure --help' or read 'INSTALL' or 'README'. Or, go ahead and ask on the programming forum ...
 
Old 09-30-2007, 03:49 AM   #5
BashTin
Member
 
Registered: May 2003
Location: West Midlands, United Kingdom.
Distribution: Slackware 14.1, Centos 7
Posts: 278

Original Poster
Rep: Reputation: 32
Hi again.

Well a bit confused now. Do you mean when I configure conky or libiw I should '--enable-shared'?

The tar.gz libiw only contains the headers I mentioned and libiw.a not any configure scripts or installation scripts. I just unzipped in the root dir and it installed to the specific locations.

Conky config says --enable-shared is default.

Because I could not find any reference to a libiw.so in my Slack install (I checked with pkgtool as to the files that come with wireless-tools and it lists, libiw.a, wireless.h & iwlib.h but not the libiw.so).

I found libiw.so.25 in a Red Hat RPM libiw-devel-25-1.i686.rpm and used rpm2tgz to extract and install it to /lib.

Now the compile goes through ok but make fails with........

linux.o(.text+0xcbb): In function `update_net_stats':
: undefined reference to `iw_sawap_ntop'
collect2: ld returned 1 exit status
make[2]: *** [conky] Error 1

Hmm one step forward one step back. Do I need to install wireless_tools sources? If so where do I put them/how do I install them? (already have them)

Thanks again, BashTin.
 
Old 09-30-2007, 04:30 AM   #6
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
Don't use rpms, they can cause all sorts of problems.

1) First, download the latest libiw here:
http://www.hpl.hp.com/personal/Jean_...ools.29.tar.gz

2) Untar it and open a terminal and 'cd' into the newly created directory.

3) Edit the 'Makefile'

change:
Code:
## Installation directory. By default, go in /usr/local.
## Distributions should probably use /, but they probably know better...
ifndef PREFIX
  PREFIX = /usr/local
endif
to:

Code:
## Installation directory. By default, go in /usr/local.
## Distributions should probably use /, but they probably know better...
ifndef PREFIX
  PREFIX = /usr
endif
4) run 'make', then 'su' into root and run 'make install'

Now it's installed properly so just try compiling conky again (you don't need the --enable-shared here. I thought libiw used a configure script, it's just a makefile.
 
Old 09-30-2007, 05:05 AM   #7
BashTin
Member
 
Registered: May 2003
Location: West Midlands, United Kingdom.
Distribution: Slackware 14.1, Centos 7
Posts: 278

Original Poster
Rep: Reputation: 32
conky -v
Conky 1.4.7 compiled Sun Sep 30 09:55:35 2007 for Linux 2.6.21.6 (i686)

Thanks!!

OK now if you fancy helping me configure it I not doubt will be posting in the none to distant future if I can't get it to do everything I need.

Thanks again for your assistance, BashTin :-)
 
  


Reply



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

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Help with Conky Smitty67 Slackware 24 07-12-2009 04:30 PM
Need Help with Conky slickhare Linux - Newbie 7 05-06-2009 02:15 AM
Conky - sensors-detect > modprobe i2c-nforce2 > WARNING: Error inserting i2c_core... macroron Slackware 2 07-12-2007 03:10 PM
Conky on Suse 10.0 - *** buffer overflow detected *** conky terminated Slidex Linux - Software 1 03-17-2006 11:50 AM
conky help ahh_dee Linux - Software 2 10-28-2005 01:40 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 01:53 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration