You are not logged in.
I mean, who on Earth wants crappy fonts when they can compile cairo-ubuntu? (shameless plug)
I do.
pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))
Offline
Dunno how Arch Linux has existed without such a checker, because such breakage occurs often, when libraries increment their soname. revdep-rebuild is an essential program in Gentoo. Binary distro users are spoiled rotten by having the recompilations done for them
Example:
ldd /usr/lib/libalpm.so objdump -p /usr/lib/libalpm.so
We have such a tool, named "lddd". It is part of devtools. While it is not as expansive as your tool, it does the job.
Offline
aRcHaTe wrote:missing libfluidsynth.so.1
Use the ldd and objdump commands to see for yourself easily, as I mentioned above.
$ find /usr/lib -name libfluid\* /usr/lib/libfluidsynth.so.1 /usr/lib/libfluidsynth.so.1.1.2 /usr/lib/libfluidsynth.so /usr/lib/libfluidsynth.a
Here's my /usr/local/sbin/compilepkg so people can see what "recompile the package" means - run it from within /var/abs/local/pkgname/
#!/bin/bash # Posted at http://bbs.archlinux.org/viewtopic.php?pid=347363#p347363 if [[ -n ${1} ]] ; then pkgname=${1} else pkgname=$(basename ${PWD}) fi # Fix for tedious permissions problems cd /var/abs/local/ && chown root:root * && chmod -s * cd /var/abs/local/${pkgname}/ || exit 1 rm -rf src pkg && chown root:root * && chmod -s * && makepkg -fi --asroot || exit 1 # Find the correct pkg to check f=$(ls -t *.pkg.tar.gz | head -n 1) [[ -n ${f} ]] && namcap ${f} namcap PKGBUILD # Check .desktop files, if any # http://freedesktop.org/wiki/Specifications/desktop-entry-spec fl=$(ls -t *.desktop 2>/dev/null | head -n 1) for f in $fl ; do desktop-file-validate --warn-kde ${f} done
awesome man it work like a charm keep it up!!!!
Its a sick world we live in....
Offline
Hmm.
I ran lddd and findbrokenpkgs and got slightly different answers:
cat /tmp/lddd-script.U9fv/possible-rebuilds.txt
by alsa-plugins
by avahi
by firefox
by flac
by gnome-python-desktop
by libtiff
by pinentry
by python
by seahorse
by xulrunner
Recompile these packages:
alsa-plugins avahi flac gnome-python-desktop libgphoto2 libtiff pinentry python
Interesting.
Offline
I'll just add a link to this thread. The program cannot be expected to explain the subtleties of optional vs needed dynamic library linking. What would it say? "This could be right, or it could be wrong. Whaddyawannado?"
AFAICT, there's no way for the program to distinguish between "needed" and "optional" dependencies. If anyone knows a way, I'd love to hear it. So, it can only report the problems it sees.
Don't take me wrong, I understand very well what the script is doing (coming from gentoo originally It's just that under the impression of recent "veeery basic" questions cropping up in the forum, I felt like some disclaimer is needed.
The thing is, every distro screws up occasionally, and one of the ways they screw up is with the dependencies that this tool checks. Which makes this a useful tool. What's the usual response from the Arch devs? Use abs and compile yourself. And if you're using Testing/Unstable, or not doing a full update every time, you're on your own. They use that response, because it's the correct response. Individual users should be having some responsibility over their "linking". Users wouldn't last a month in Gentoo without such a responsibility.
Arch isn't a binary distro, it's a core of binary packages with lots of do-it-yourself packages in the AUR. I reckon that's the reality, for the sort of people who would be using/attracted to this distro. I mean, who on Earth wants crappy fonts when they can compile cairo-ubuntu? (shameless plug)
Sure, this is exactly what I love in arch. That I don't have to compile those huge beasts like firefox, gcc, openoffice, kde, gnome... but I can fix up things I need easily.
Offline
grep: writing output: Broken pipe
i now get this bug...any help?
Its a sick world we live in....
Offline
grep: writing output: Broken pipe
i now get this bug...any help?
No. You should know better, with your 461 posts. I'm not a mind-reader, funnily enough. Show a meaningful error message in context.
Offline
aRcHaTe wrote:grep: writing output: Broken pipe
i now get this bug...any help?
No. You should know better, with your 461 posts. I'm not a mind-reader, funnily enough. Show a meaningful error message in context.
lool ur maybe right XD well i just ran findbrokenpkgs...and now this ocurres...ive reinstaled grep perl and the findbrokenpjgs dependencies..and still the same..
Collecting system binaries and libraries... done.
(/home/sickhate/.findbrokenpkgs.1_files)
Collecting complete LD_LIBRARY_PATH... done.
(/home/sickhate/.findbrokenpkgs.2_ldpath)
Checking dynamic linking consistency...
grep: writing output: Broken pipe
grep: writing output: Broken pipe
grep: writing output: Broken pipe
grep: writing output: Broken pipe
grep: writing output: Broken pipe
grep: writing output: Broken pipe
its seems grep just got screwd up dunno how...but i certain had done something to them...well i recompiled textinfo and it ok now hehe
Last edited by aRcHaTe (2008-03-30 01:53:46)
Its a sick world we live in....
Offline
Hmm, I got this output:
[johannes@myhost ~]$ sudo sh check.sh
/home/johannes/.revdep-rebuild.0_env: line 1: /sbin: is a directory
/home/johannes/.revdep-rebuild.0_env: line 3: libodbc.so: command not found
/home/johannes/.revdep-rebuild.0_env: line 1: /sbin: is a directory
/home/johannes/.revdep-rebuild.0_env: line 3: libodbc.so: command not found
/home/johannes/.revdep-rebuild.0_env: line 1: /sbin: is a directory
/home/johannes/.revdep-rebuild.0_env: line 3: libodbc.so: command not found
/home/johannes/.revdep-rebuild.0_env: line 1: /sbin: is a directory
/home/johannes/.revdep-rebuild.0_env: line 3: libodbc.so: command not found
Checking reverse dependencies...
x1b[32;01mCollecting system binaries and libraries...x1b[0mcheck.sh: line 254: syntax error near unexpected token `('
check.sh: line 254: ` find $SEARCH_DIRS -type f ( -perm +u+x -o -name '*.so' -o -name '*.so.*' ) 2>/dev/null | sort | uniq >$LIST.0_files'
[johannes@myhost ~]$
Offline
Thanks for the script.
Here is my output:
Assigning files to packages...
/usr/bin/gtv -> smpeg
/usr/bin/playdv -> libdv
/usr/lib/kde4/kaddrbk_gnokii_xxport.so -> kdemod-kdepim-kaddressbook
/usr/lib/kde4/plasma_appletscript_qedje.so -> kdemod-kdebase-workspace
/usr/lib/kde4/plasma_package_ggl.so -> kdemod-kdebase-workspace
/usr/lib/kde4/plasma_package_qedje.so -> kdemod-kdebase-workspace
/usr/lib/kde4/plasma_scriptengine_ggl.so -> kdemod-kdebase-workspace
/usr/lib/libavahi-qt3.so.1.0.2 -> avahi
/usr/lib/vlc/misc/libnotify_plugin.so -> vlc
/usr/lib/xine/plugins/1.25/xineplug_decode_image.so -> xine-lib
/usr/lib/xine/plugins/1.25/xineplug_inp_vcd.so -> xine-lib
/usr/lib/xmms/Input/libxmms-flac.so -> flac
/usr/sbin/sensord -> lm_sensors
done.
(/root/.findbrokenpkgs.4_*)
Cleaning list of packages to rebuild... done.
(/root/.findbrokenpkgs.5_packages)
Recompile these packages:
avahi flac kdemod-kdebase-workspace kdemod-kdepim-kaddressbook libdv lm_sensors smpeg vlc xine-lib
What do you suggest now? Should we file some bugs on specific packages?
Offline
I love revdep-rebuild on Gentoo.
that's all I have to say
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
What do you suggest now? Should we file some bugs on specific packages?
Do nothing. Most of the "broken libs" above are actually plugins/optional dependencies. Like the plasma things - you get a lot of them installed in kdebase-workspace, and some of them depend on specific packages to work (for instance qedje). But it's not at all necessary to have it installed for the other things in kdebase-workspace.
Offline
I have fixed a few bugs and expanded the documentation available with the '-h' option.
As a result, there are way less fork+exec's for trivial things (eg. sed/awk replaced with native bash features) and maintenance should be much easier.
Offline
I dont know what to do when I recieve list of pkgs to recompile.
Offline
akumixx - please don't necrobump: https://wiki.archlinux.org/index.php/Fo … Bumping.27
Open a new thread with some more specific about what, if any, issue you are trying to solve.
Closing
Offline