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 asked this question recently already in the software forum, but no one seemed to be able to point me in the right direction. So I'm sorry if I'm breaking a forum rule, but this one really has me stumped! Of course, I could build conky without lua support, but I'm not ready to throw in the towel and admit defeat. There must be a way!
So basically, for the past few days I've been trying to build conky with lua support, also cairo and imlib2. All of these packages (lua, cairo, imlib2) are installed on my system (Slackware 14.0 x86_64). I however, cannot install tolua++ nor can I get conky to build with lua support.
When I try to build either tolua++ or conky with LUA="yes" I get this error:
Code:
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/liblua.so when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/liblua.a when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../lib64/liblua.so when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../lib64/liblua.a when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib/../lib64/liblua.so when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib/../lib64/liblua.a when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../liblua.so when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../liblua.a when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/liblua.so when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/liblua.a when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/liblua.so when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/liblua.a when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib/liblua.so when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: cannot find -llua
collect2: error: ld returned 1 exit status
scons: *** [bin/tolua++_bootstrap] Error 1
scons: building terminated because of errors.
So what I gather from this error is that it's looking at the 32bit version of liblua.so when it should be looking at the 64bit or vice versa. What I don't understand about this error is that it claims to be looking at both /lib and /lib64 versions of liblua.so.
Code:
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib/../lib64/liblua.so when searching for -llua
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../liblua.so when searching for -llua
So if neither the 64bit nor the 32bit are what this source is expecting to be linked to, what other options do I have?
That is the main problem I am having. I also mentioned having installed cairo and imlib2. Installing cairo was a huge pain (read: dependency hell) but I managed to get it to build without error. As for imlib2 I built it with the slackbuild and did the necessary installpkg to get the package installed. However, as should be expected nothing ever goes according to plan. Running ./configure from the conky-1.9 source directory tells me that it doesn't see either cairo or imlib2.
Code:
checking assert.h presence... yes
checking for assert.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for sys/mount.h... yes
checking sys/inotify.h usability... yes
checking sys/inotify.h presence... yes
checking for sys/inotify.h... yes
checking for calloc... yes
checking for malloc... yes
checking for free... yes
checking for popen... yes
checking for sysinfo... yes
checking for getloadavg... yes
checking for memrchr... yes
checking for strndup... yes
checking for gethostbyname_r... yes
checking for library containing clock_gettime... -lrt
checking for struct statfs.f_fstypename... no
checking for db2x_xsltproc... no
checking for db2x_manxml... no
checking for xsltproc... xsltproc
checking if /usr/x86_64-slackware-linux/bin/ld -m elf_x86_64 accepts -O1... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating data/Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating src/build.h
config.status: creating lua/Makefile
config.status: creating src/config.h
config.status: src/config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
conky 1.9.0 configured successfully:
Installing into: /usr/local
System config dir: ${prefix}/etc
C compiler flags: -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wall -W
Libraries: -lncurses -lm -lX11 -llua -lm -lXext -lXdamage -lXfixes -lXft -lglib-2.0 -lasound -lrt
Linker flags: -Wl,-O1
* X11:
X11 support: yes
XDamage support: yes
XDBE support: yes
Xft support: yes
ARGB support yes
* Music detection:
Audacious: no
BMPx: no
MPD: yes
MOC: yes
XMMS2: no
* General:
math: yes
hddtemp: yes
portmon: yes
RSS: no
Curl: no
Weather
METAR: no
XOAP: no
wireless: no
IBM: no
nvidia: no
eve-online: no
config-output: yes
Imlib2: no
ALSA mixer: yes
apcupsd: yes
I/O stats: yes
ncurses: yes
* Lua (yes) bindings:
Cairo: no
Imlib2: no
The relevant part under Lua bindings is at the bottom. What's curious about this to me is that the ./configure script sees that I have lua installed. Running make returns the incompatibility error same as above for tolua++. So I guess my question is, what am I doing wrong here, or what am I missing? I realize that tolua++ should be build before conky, but other than that, what am I not getting about this?
Cairo was built from source, lua and imlib2 were installed from the slackbuils. I also used convertpkg-compat32 to create the x86 versions. The version of tolua++ I am trying to install is also a slacbuild but as mentioned above will not build or create the package because of the error.
Just for good measure, I'll show you that I do have the libraries installed.
Thank you for the input, but I already have scons and lua. As for not needing to build cairo, I suppose it's too late because I did it anyway. But I have scons, and I'm trying to build tolua++ from the slackbuild. And I do have lua.
If you are a lazy guy like me just go to the above and get the package. He also has a compat32 conky.
I am using both the 32 & 64 bit versions with no problems. I could never get tolou from slackbuilds to work.
I understand that it was probably my fault but that is how it was done for me.
Is there an i486 audacious package, or an option I'm not aware of to run conky without support for libaudcore.so? This seems to have gotten me one step closer though, and for that, I thank you.
I can confirm that you should be able to build conky if you have all dependencies installed correctly. I've build conky yesterday and it did build and works fine on Slackware 14 x86_64. I've used the slackbuilds versions.
Quote:
To enable lua scripting engine support, you will need lua, imlib2, and
tolua++, and run this script like this: LUA=yes ./conky.SlackBuild
I think that you complicate things uselessly trying to mix 32 and 64 bits as you should stay with 64 bits.
Also, why install cairo from source as it is included in Slackware (provided you made a full Slackware installation, of course).
So just uninstall you "custom" cairo (but then re-install the regular Slackware package for cairo) and buld and install in order using only slackbuilds from slackbuilds.org following packages:
scons
tolua++
imlib2
lua
conky (with "LUA=yes")
As JackHair told you this works for 64 bit (and for 32 bit as well, as I just checked). And slackbuilds detect the architecture themseleves, just let them do their job.
You don't need any alien package like tolua-dev, in Slackware, all packages include the development libraries if they exist.
I still don't know why you compiled manually cairo, but why not? Whatever the reason the results could be different when installing theSlackware package for it, because you didn't check that you gave the same options to configure.
Let's take an example. You configured manually conky (dunno why either as it's done by the slackbuild, but again, why not). You stated in the first post of this thread:
Quote:
The relevant part under Lua bindings is at the bottom. What's curious about this to me is that the ./configure script sees that I have lua installed.
as you didn't undestand why you saw this in ./configure's output:
Code:
* Lua (yes) bindings:
Cairo: no
Imlib2: no
So I guess that you didn't type "./configure --help", which states:
Code:
--enable-lua-imlib2 enable if you want Lua Imlib2 bindings for Conky
[default=no]
--enable-lua-cairo enable if you want Lua Cairo bindings for Conky
[default=no]
But in the SlackBuild these options are enabled if you set LUA to yes.
Last edited by Didier Spaier; 06-20-2013 at 01:18 PM.
I have since migrated to using the slackbuild for conky.
Code:
bash-4.2# ls
README conky.SlackBuild conky.SlackBuild~ doinst.sh
conky-1.9.0.tar.bz2 conky.SlackBuild.original conky.info slack-desc
And I do have LUA=yes enabled in the slackbuild.
Here is what ./conky.SlackBuild returns and this is what I am trying to troubleshoot:
Code:
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-slackware-linux-gnu file names to x86_64-slackware-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-slackware-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-slackware-linux/bin/ld option to reload object files... -r
checking for x86_64-slackware-linux-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-slackware-linux-dlltool... no
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-slackware-linux-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for x86_64-slackware-linux-strip... no
checking for strip... strip
checking for x86_64-slackware-linux-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from x86_64-slackware-linux-gcc object... ok
checking for sysroot... no
checking for x86_64-slackware-linux-mt... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... x86_64-slackware-linux-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-slackware-linux-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-slackware-linux-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-slackware-linux-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-slackware-linux-gcc static flag -static works... yes
checking if x86_64-slackware-linux-gcc supports -c -o file.o... yes
checking if x86_64-slackware-linux-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-slackware-linux-gcc linker (/usr/x86_64-slackware-linux/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether x86_64-slackware-linux-gcc and cc understand -c and -o together... yes
checking for pkg-config... yes
checking for x86_64-slackware-linux-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.19... yes
checking for fopencookie... yes
checking for funopen... no
checking ncurses.h usability... yes
checking ncurses.h presence... yes
checking for ncurses.h... yes
checking for Audacious... yes
checking audacious/audctrl.h usability... yes
checking audacious/audctrl.h presence... yes
checking for audacious/audctrl.h... yes
checking audacious/dbus.h usability... yes
checking audacious/dbus.h presence... yes
checking for audacious/dbus.h... yes
checking glib.h usability... yes
checking glib.h presence... yes
checking for glib.h... yes
checking glib-object.h usability... yes
checking glib-object.h presence... yes
checking for glib-object.h... yes
checking for X11... yes
checking for Imlib2... yes
checking for LUA... yes
checking for cairo... yes
checking for cairo_xlib... yes
checking for tolua++... tolua++
checking for library containing tolua_error... no
configure: error: tolua_error not found
Cairo is not the problem here, nor is lua. Yes in the first post I was worried about cairo and lua, and your last post does explain why they weren't seen. But now I am using the slackbuild and I have a new problem, specifically, I cannot get past the last line:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.