LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
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 01-07-2005, 05:51 AM   #1
kersten78
Member
 
Registered: Nov 2003
Location: Minneapolis, MN
Distribution: Slackware, Debian, Gentoo, openSuSE
Posts: 357

Rep: Reputation: 30
the zen browser and some weird lib problems


Hello everybody.

I've sort of subjected myself to a weird experiment. I'm basically seeing how much I can do without X just for the heck of it. In the process, I've learned alot of cool terminal apps. mp3blaster is a sweet console mp3 player. The watch command is really quite adept at monitoring your system--"watch ps fx" and "watch free" are pretty handy. And top is always a good standby. And irssi is actually better without a window. And when I ran out of tty's, someone suggested using screen--can't believe I ever lived without it. Anyway, it's been a lot of fun, but I found myself longing for something other than text-based browsers.

And that brings me to the point of this thread. I tried installing zen, which is supposed to be a really cool console browser that supports images using the framebuffer. It's totally modular and thus supports a number of different user interfaces. If you install the appropriate lib (oFBis), you can use a ui that renders images in the framebuffer. And it also supports a basic dump interface (eg links) and a gtk interface.

So I compiled the oFBis lib, compiled zen, and ran into problems. Running "zen -h" lists the available interfaces, and it's showing dump, ofbis, gtk, and psdump. But no matter which interface I try to start it with, it returns an error loading the appropriate shared object file. For example, running "zen -i ofbis" throws the following:
Code:
kris@bucksnort:~$ zen -i ofbis
Could not open the user interface library /usr/local/lib/zen/0.2.3/libzen_ui_ofbis.so
Error: /usr/local/lib/zen/0.2.3/libzen_ui_ofbis.so: cannot open shared object file: No such file or directory
kris@bucksnort:~$
So I checked out /usr/local/lib/zen/0.2.3/ and I don't have any *.so files. I have the appropriate *.a and *.la libs for every interface, but somehow I'm missing the *.so files. I've googled every possible thing I can think of relating to this problem to no avail. If anyone has any experience compiling/using zen, please steer me in the right direction. I can't figure this out for the life of me.

Thanks in advance.
 
Old 01-07-2005, 05:57 AM   #2
__J
Senior Member
 
Registered: Dec 2004
Distribution: Slackware, ROCK
Posts: 1,973

Rep: Reputation: 46
did it have an option when you configured it to enable shared files (.a and .la are static) such as :

./configure --enable-shared
 
Old 01-07-2005, 06:04 AM   #3
jmeads
Member
 
Registered: Dec 2004
Location: London
Distribution: Slackware
Posts: 44

Rep: Reputation: 15
I had similar error messages with a new release of dbmail, I had to rename one of the lib from blah.0.0.0 to blah.so.0.0.0 - Don't know if its the same problem but... Can you do a "ldd zen" and post the results here
 
Old 01-07-2005, 06:09 AM   #4
Cedrik
Senior Member
 
Registered: Jul 2004
Distribution: Slackware
Posts: 2,140

Rep: Reputation: 242Reputation: 242Reputation: 242
You could build the required libzen_ui_ofbis.so file with :
as root :

cd /usr/local/lib/zen/0.2.3
ld --whole-archive -share -o libzen_ui_ofbis.so libzen_ui_ofbis.a
ldconfig
 
Old 01-07-2005, 03:11 PM   #5
kersten78
Member
 
Registered: Nov 2003
Location: Minneapolis, MN
Distribution: Slackware, Debian, Gentoo, openSuSE
Posts: 357

Original Poster
Rep: Reputation: 30
I'm still not having any luck. I think I may have screwed something up royally with my libld_elf_i386.so. I tried to update my elfutils to set up prelinking a couple weeks ago, and now when trying to build the shared libs with the above command, I get:
Code:
root@bucksnort:/usr/local/lib/zen/0.2.3# ld --whole-archive -share -o libzen_ui_ofbis.so libzen_ui_ofbis.a                         
ld: cannot load ld backend library 'libld_elf_i386.so': libld_elf_i386.so: cannot open shared object file: No such file or directory
root@bucksnort:/usr/local/lib/zen/0.2.3#
So I found the libld_elf* files for the elfutils that I was trying to install and linked to them, and now the attempt to build the shared libs works but terminates in an error:
Code:
root@bucksnort:/usr/local/lib/zen/0.2.3# ld --whole-archive -share -o libzen_ui_ofbis.so libzen_ui_ofbis.a 
ld: ldgeneric.c:1670: add_whole_archive: Assertion `__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arhdr->ar_name) && __builtin_constant_p ("/") && (__s1_len = strlen (arhdr->ar_name), __s2_len = strlen ("/"), (!((size_t)(const void *)((arhdr->ar_name) + 1) - (size_t)(const void *)(arhdr->ar_name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("/") + 1) - (size_t)(const void *)("/") == 1) || __s2_len >= 4)) ? memcmp ((const char *) (arhdr->ar_name), (const char *) ("/"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arhdr->ar_name) && ((size_t)(const void *)((arhdr->ar_name) + 1) - (size_t)(const void *)(arhdr->ar_name) == 1) && (__s1_len = strlen (arhdr->ar_name), __s1_len < 4) ? (__builtin_constant_p ("/") && ((size_t)(const void *)(("/") + 1) - (size_t)(const void *)("/") == 1) ? (__extension__ ({ register int __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[0] - ((const unsigned char *) (const char *)("/"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[1] - ((const unsigned char *) (const char *) ("/"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) arhdr->ar_name))[2] - ((const unsigned char *) (const char *) ("/"))[2                                     ]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[3] - ((const unsigned char *) (const char *) ("/"))[3]); } } __result; })) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("/"); register int __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("/") && ((size_t)(const void *)(("/") + 1) - (size_t)(const void *)("/") == 1) && (__s2_len = strlen ("/"), __s2_len < 4) ? (__builtin_constant_p (arhdr->ar_name) &&                                     ((size_t)(const void *)((arhdr->ar_name) + 1) - (size_t)(const void *)(arhdr->ar_name) == 1) ? (__extension__ ({ register int __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[0] - ((const unsigned char *) (const char *)("/"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[1] - ((const unsigned char *) (const char *) ("/"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[2] - ((const unsigned char *) (const char *) ("/"))[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (arhdr->ar_name))[3] - ((const unsigned char *) (const char *) ("/"))[3]); } } __result; }))                                      : (__extension__ ({ const unsigned char *__s1 = (const unsigned char *) (const char *) (arhdr->ar_name); register int __result = __s1[0] - ((const unsigned char *) (const char *) ("/"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((const unsigned char *) (const char *) ("/"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((const unsigned char *) (const char *) ("/"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((const unsigned char *) (const char *) ("/"))[3]); } } __result; }))) : strcmp (arhdr->ar_name, "/")))); }) != 0' failed.
Aborted
No clue what's happening there. And just to check, I ran ldd zen and it doesn't list any interface libs. And the shared libs are enabled by default in ./configure --help. Clueless. Anyway, here's the output of ldd zen:
Code:
root@bucksnort:/usr/local/lib/zen/0.2.3# ldd `which zen`
        libungif.so.4 => /usr/lib/libungif.so.4 (0xb7fc8000)
        libMagick.so.6 => /usr/lib/libMagick.so.6 (0xb7c74000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7c71000)
        liblcms.so.1 => /usr/lib/liblcms.so.1 (0xb7c45000)
        libtiff.so.3 => /usr/lib/libtiff.so.3 (0xb7bfd000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7b93000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7b76000)
        libpng.so.3 => /usr/lib/libpng.so.3 (0xb7b46000)
        libdpstk.so.1 => /usr/X11R6/lib/libdpstk.so.1 (0xb7b3e000)
        libdps.so.1 => /usr/X11R6/lib/libdps.so.1 (0xb7af8000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7ae9000)
        libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb7a97000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb7a8e000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb7a76000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb79aa000)
        libbz2.so.1 => /lib/libbz2.so.1 (0xb799b000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7877000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7866000)
        libm.so.6 => /lib/libm.so.6 (0xb7844000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb77f3000)
        libc.so.6 => /lib/libc.so.6 (0xb76c4000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fec000)
If any of this makes sense to anyone, let me know--cause I'm totally in the dark.

Last edited by kersten78; 01-07-2005 at 03:15 PM.
 
Old 01-08-2005, 06:39 AM   #6
Cerbere
Member
 
Registered: Dec 2002
Location: California
Distribution: Slackware & LFS
Posts: 799

Rep: Reputation: 33
This won't help with your lib problems, but the links browser has similar functionality (to be used on the framebuffer). Just start it with the '-g' flag.

I'm not sure if the version that comes with slack has this option (--enable-graphics) compiled in or not.

Enjoy!
--- Cerbere
 
Old 01-08-2005, 07:21 AM   #7
Cedrik
Senior Member
 
Registered: Jul 2004
Distribution: Slackware
Posts: 2,140

Rep: Reputation: 242Reputation: 242Reputation: 242
The library problem does not come with zen but with ofbis lib, make sure you read
any readme files in zen package about ofbis to see if you installed the correct ofbis
version.

and try a ./configure --help for the ofbis package too make sure you don't miss any
crucial options
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
FC4 Lib Problems mickeyboa Fedora 3 11-16-2005 03:50 AM
weird, weird problems with logitech precision USB gamepad ikataii Linux - Hardware 4 10-14-2005 04:31 AM
Nomad Zen Xtra problems =C astroboiii Linux - Hardware 6 08-15-2005 03:52 PM
Zen Micro Gnomad2 problems gungner Linux - Hardware 0 02-24-2005 02:10 PM
weird lib happenings. da Perp Linux - Newbie 0 12-21-2001 09:08 AM


All times are GMT -5. The time now is 02:46 PM.

Main Menu
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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration