You are not logged in.

#1 2009-09-08 09:28:22

Perre
Member
Registered: 2008-01-22
Posts: 189

Question about dependencies and specific versions

Hi!

I've been using the xbmc-svn build in the AUR for a while now and it's an amazing media center sollution. Only problem is that since libjpeg upgraded from 6b-6 to 7.1 the displaying of pictures/backdrops/flow chart has been painfully slow. So yesterday I decided to recompile the xbmc-svn build with support for the old libjpeg (6b-6).

To downgrade libjpeg I had to rebuild alot of other packages. I noticed that in the PKGBUILDs the dependencies often listed libjpeg>=7. So I removed the reference to the specific 7 version (so it looked like this 'ibjpeg') and after doing that to all the packages I was allowed to downgrade libjpeg.

The questions:
Why do people build the packages with reference to specific versions of libjpeg? Isn't it easier to just allow any version of libjpeg? Or does this mean that the old version may lack functions that other packages rely on? Have I made a mess of my system by rebuilding these packages without specific reference to libjpeg7?

And when I tried to recompile xbmc-svn with libjpeg 6b-6 installed it failed on the checking of libraries (or something like that). It tells me I lack the jasper library (one of the packages that I had to recompile with libjpeg instead of libjpeg>=7). Can I just remove jasper from the listed dependencies in the PKGBUILD? Will that mean the xbmc-svn won't use jasper even though I've got it installed?

As you see I'm not rock steady on the building of packages etc. but I hope someone can help me out. wink

Last edited by Perre (2009-09-25 06:29:08)

Offline

#2 2009-09-09 01:27:02

aqtrans
Member
Registered: 2008-07-25
Posts: 30

Re: Question about dependencies and specific versions

You should be safe in removing the jasper dep from the PKGBUILD, and if you still have it installed and XBMC builds without errors, then it should still use jasper.

I'm trying to do the same thing, build xbmc-svn against libjpeg6 instead of libjpeg-7. I've uinstalled libjpeg7, installed libjpeg6 from aur, and if I try to build with makepkg it fails due to libjpeg6 putting the files into /usr/includes/libjpeg6, so I had to do

CPPFLAGS="-I/usr/include/libjpeg6"

to the front of the ./configure line in PKGBUILD

I've now gotten as far as

checking for main in -ljasper... no
configure: error: Could not find a required library. Please see the README for your platform.

, so just about as far as you. neutral
And I thought it'd be a simple recompile, haha.

Last edited by aqtrans (2009-09-09 02:00:07)

Offline

#3 2009-09-09 02:23:14

Chrysalis
Member
Registered: 2008-07-07
Posts: 155

Re: Question about dependencies and specific versions

Its one of few pitfalls of linux... pkges link to certain version of libraries at compile time so specifying a version tells pacman what the pkg needs and also makes it easier to maintain later on when theres changes/udates to the deps... in this case you can edit the pkgbuild all you want.  Sometimes its because the pkg does need that version for whatever reason be it some feature or to successfully compile.  Only way to know is to consult documentation or the project.

Last edited by Chrysalis (2009-09-09 02:31:40)

Offline

#4 2009-09-09 03:08:14

aqtrans
Member
Registered: 2008-07-25
Posts: 30

Re: Question about dependencies and specific versions

Okay I got it to compile, and am now running xbmc-svn with libjpeg6!:D It loads fanart and other images almost instantaneously, without that 2-second delay.
Here's what I did:
1. Uninstall current libjpeg without dependencies, along with jasper (sudo pacman -Rd libjpeg jasper).
(Unsure if this is necessary, but I copied /usr/include/libjpeg6/*.h to /usr/include/)
2. Install libjpeg6 from AUR
3. Download Jasper, unzip and then run

CPPFLAGS="-I/usr/include/libjpeg6" ./configure

Then make and make install.
4. Download and edit the PKGBUILD for xbmc-svn, and add

CPPFLAGS="-I/usr/include/libjpeg6"

before

./configure...

5. Now run makepkg -i in the same directory as the PKGBUILD. It should complete successfully and you can now run XBMC and enjoy!

Last edited by aqtrans (2009-09-09 03:10:04)

Offline

#5 2009-09-09 08:35:42

Chrysalis
Member
Registered: 2008-07-07
Posts: 155

Re: Question about dependencies and specific versions

Make a pkg for everything you install. Could have just edited the pkgbuild.

Offline

#6 2009-09-09 08:46:03

shining
Pacman Developer
Registered: 2006-05-10
Posts: 2,043

Re: Question about dependencies and specific versions

This is all very ugly.
* Don't install stuff by hand
* Don't move stuff by hand
* Don't remove libjpeg

Instead :
* install libjpeg6
* edit the pkgbuilds of the packages you want to build against libjpeg6 (CPPFLAGS="-I/usr/include/libjpeg6" might be ok) : jasper, xbmc , whatever


pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))

Offline

#7 2009-09-16 16:02:08

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Question about dependencies and specific versions

Hi!

I kinda gave up after not getting past the ljasper problem and forgot about this thread. So I just randomly wanted to check it and all these great answers showed up! Thanks everyone! smile

aqtrans: I'm going to do the same thing as you did. Using Aeon with flowchart is miserably painful with the slowness of libjpeg 7.
shining: I'm taking your tips and doing it the way you recommend.

In other words, thanks for providing the solution aqtrans and shining. I'll give an update when I got it working.

Offline

#8 2009-09-16 19:30:29

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Question about dependencies and specific versions

Well... I got xbmc working with libjpeg 6. Finally the backdrops are fast again! smile

But now I'm having problems with Nitrogen and openoffice. Seems they've been compiled against libjpeg7 and I'm having trouble recompiling it against libjpeg6.

Recompiling Nitrogen with 'CPPFLAGS="-I/usr/include/libjpeg6" || return 1' in the PKGBUILD gives me:

ch=i686 -mtune=generic -O2 -pipe -MT Thumbview.o -MD -MP -MF .deps/Thumbview.Tpo -c -o Thumbview.o Thumbview.cc
In file included from /usr/include/libpng12/png.h:497,
                 from Thumbview.cc:26:
/usr/include/libpng12/pngconf.h:338: error: expected constructor, destructor, or type conversion before '.' token
/usr/include/libpng12/pngconf.h:339: error: '__dont__' does not name a type
make[2]: *** [Thumbview.o] Error 1
make[2]: Leaving directory `/home/per/packages/src/nitrogen-1.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/per/packages/src/nitrogen-1.4'
make: *** [all] Error 2
==> ERROR: Build Failed.

Why does this happen?

And Openoffice I'm really not sure how to recompile against libjpeg6... Am I just supposed to insert CPPFLAGS="-I/usr/include/libjpeg6" || return 1 in the PKGBUILD (this worked with jasper, libtiff, gegl, imlib2 and xbmc-svn). Now it seems the downgrade has broken Nitrogen and openoffice even though they're not listed as dependencies. sad

And how am I supposed to know if the downgrade hasn't messed up anything else beyond openoffice and Nitrogen?

Last edited by Perre (2009-09-16 19:31:08)

Offline

#9 2009-09-16 21:42:26

aqtrans
Member
Registered: 2008-07-25
Posts: 30

Re: Question about dependencies and specific versions

Heh, yeah I knew my 'solution' was very, very ugly and will probably break stuff. I was just trying to see if I could get it to work.
Pierre, maybe Nitrogen depend on functions libjpeg6 doesn't provide? What if you pointed it to the libjpeg7 files instead?

Offline

#10 2009-09-17 06:30:00

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Question about dependencies and specific versions

aqtrans wrote:

Heh, yeah I knew my 'solution' was very, very ugly and will probably break stuff. I was just trying to see if I could get it to work.
Pierre, maybe Nitrogen depend on functions libjpeg6 doesn't provide? What if you pointed it to the libjpeg7 files instead?

Is it possible to have both the libjpeg7 files and the libjpeg6 files installed at the same time?
When I try to start either Nitrogen or Openoffice I get an error that it can't find libjpeg7.so or something...

Btw, I just downloaded the PKGBUILD from the SVN entries for every program that had dependencies to libjpeg7 and recompiled it against libjpeg6 (with 'CPPFLAGS="-I/usr/include/libjpeg6" || return 1' added to the PKGBUILD). This way pacman did all the installing and I avoided getting too messy... or am I not understandig the procedure correctly?

Offline

#11 2009-09-17 07:32:02

shining
Pacman Developer
Registered: 2006-05-10
Posts: 2,043

Re: Question about dependencies and specific versions

libjpeg6 does not conflict with libjpeg : http://aur.archlinux.org/packages.php?ID=28427
So why didn't you keep both installed ?

Then you only need to rebuild the packages you want (against libjpeg6).


pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))

Offline

#12 2009-09-17 09:09:53

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Question about dependencies and specific versions

Ah, I'll reinstall libjpeg7 then. smile

And you're saying I'll have to upgrade libjpeg and then install libjpeg6 6b-6 through the AUR. Will that work?

So when I added CPPFLAGS="-I/usr/include/libjpeg6" || return 1 to the xbmc-svn PKGBUILD I told it to use libjpeg6 and ignore libjpeg7?

Offline

#13 2009-09-17 09:25:06

shining
Pacman Developer
Registered: 2006-05-10
Posts: 2,043

Re: Question about dependencies and specific versions

Perre wrote:

Ah, I'll reinstall libjpeg7 then. smile

And you're saying I'll have to upgrade libjpeg and then install libjpeg6 6b-6 through the AUR. Will that work?

So when I added CPPFLAGS="-I/usr/include/libjpeg6" || return 1 to the xbmc-svn PKGBUILD I told it to use libjpeg6 and ignore libjpeg7?

yes

edit : but maybe you need something else too, like the path to the lib (besides the path to the header)

Last edited by shining (2009-09-17 09:28:12)


pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))

Offline

#14 2009-09-17 09:32:11

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Question about dependencies and specific versions

shining wrote:

yes

edit : but maybe you need something else too, like the path to the lib (besides the path to the header)

Ok! Thanks for the help. big_smile
Hopefully the path to the header is enough and I won't have to recompile all the packages again.


Edit: Just wanted to say that installing libjpeg6 from the AUR alongside libjpeg7 is working perfectly! In other words (to those who might be struggling with the same problem as I did) you can solve it in no time:

1. Install libjpeg6 from aur (no need to delete libpeg7).
2. Recompile xbmc-svn and jasper with the line 'CPPFLAGS="-I/usr/include/libjpeg6" || return 1' right after 'build'.
3. Enjoy super fast backdrops/fanart/etc. in xbmc once again. smile

Last edited by Perre (2009-09-17 14:46:32)

Offline

#15 2009-09-18 13:09:34

zepps
Member
Registered: 2009-06-03
Posts: 4

Re: Question about dependencies and specific versions

Perre wrote:
shining wrote:

yes

edit : but maybe you need something else too, like the path to the lib (besides the path to the header)

Ok! Thanks for the help. big_smile
Hopefully the path to the header is enough and I won't have to recompile all the packages again.


Edit: Just wanted to say that installing libjpeg6 from the AUR alongside libjpeg7 is working perfectly! In other words (to those who might be struggling with the same problem as I did) you can solve it in no time:

1. Install libjpeg6 from aur (no need to delete libpeg7).
2. Recompile xbmc-svn and jasper with the line 'CPPFLAGS="-I/usr/include/libjpeg6" || return 1' right after 'build'.
3. Enjoy super fast backdrops/fanart/etc. in xbmc once again. smile

Could you post your modified jasper PKGBUILD so I can compare?  I've tried these steps but I see no improvement in xbmc. I must be doing something wrong as I feel its not picking up libjpeg6.

zepp

Last edited by zepps (2009-09-18 13:10:05)

Offline

#16 2009-09-24 17:23:09

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Question about dependencies and specific versions

Zepps: Did you change the dependency in the PKGBUILD from 'libjpeg' to 'libjpeg6'? That might help. smile

Offline

#17 2009-09-25 06:28:52

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Question about dependencies and specific versions

I tried to rebuild xbmc with support for libcdio 0.8 and it worked! Now I can finally watch dvds again.

The problem is that now I can't get the build to work with libjpeg6... I'm back to the painfully slow libjpeg7 even though I edited the PKGBUILD exactly the same way as before (when I got it to work with libjpeg6). Seems this is a bit harder than I thought. I'm probably having the same difficulties  you're having zepps sad

When I try to make PKGBUILD with both libjpeg6 and libjpeg7 installed xbmc uses libjpeg7. If I remove libjpeg7 and then try to compile I get errors about missing jpeglib.h. Damn.

Last edited by Perre (2009-09-25 17:31:28)

Offline

#18 2009-09-25 17:36:44

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Question about dependencies and specific versions

zepps wrote:
Perre wrote:
shining wrote:

yes

edit : but maybe you need something else too, like the path to the lib (besides the path to the header)

Ok! Thanks for the help. big_smile
Hopefully the path to the header is enough and I won't have to recompile all the packages again.


Edit: Just wanted to say that installing libjpeg6 from the AUR alongside libjpeg7 is working perfectly! In other words (to those who might be struggling with the same problem as I did) you can solve it in no time:

1. Install libjpeg6 from aur (no need to delete libpeg7).
2. Recompile xbmc-svn and jasper with the line 'CPPFLAGS="-I/usr/include/libjpeg6" || return 1' right after 'build'.
3. Enjoy super fast backdrops/fanart/etc. in xbmc once again. smile

Could you post your modified jasper PKGBUILD so I can compare?  I've tried these steps but I see no improvement in xbmc. I must be doing something wrong as I feel its not picking up libjpeg6.

zepp

Just wanted to say that I'm back to not being able to compiling xbmc-svn against libjpeg6. If I have libjpeg7 installed while compiling it insists on using libjpeg7. If I delete libjpeg7 (libjpeg6 installed) the build stops on 'missing jpeglib.h'.

This is really frustrating! sad

Last edited by Perre (2009-09-25 17:37:04)

Offline

#19 2009-09-26 13:45:50

ould
Member
Registered: 2007-05-22
Posts: 124

Re: Question about dependencies and specific versions

32 bit build of latest xbmc-svn in AUR against libjpeg6 http://hotfile.com/dl/13546051/021f9c9/ … ar.gz.html

I built this on a system with older packages. Works great but you need to have libjpeg6 from AUR installed, works with or without libjpeg7.

Offline

#20 2009-09-26 16:13:34

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Question about dependencies and specific versions

ould wrote:

32 bit build of latest xbmc-svn in AUR against libjpeg6 http://hotfile.com/dl/13546051/021f9c9/ … ar.gz.html

I built this on a system with older packages. Works great but you need to have libjpeg6 from AUR installed, works with or without libjpeg7.

Thanks ould!! You got it working with libjpeg6 again! big_smile
I had to upgrade libcdio again so now I lost dvd support. It's not easy to use the svn version. roll

If you could compile the build against libcdio 0.80 I'd be forever grateful... If you've got the time. smile

Last edited by Perre (2009-09-26 17:09:16)

Offline

Board footer

Powered by FluxBB