You are not logged in.
I'm building packages for sh4 CPU.
And I found these packages contains make dependency loop.
gobject-introspection
gdk-pixbuf2
librsvg
cairo
Any suggestion to solve this? Which one is the first I could build?
Last edited by dlin (2013-02-13 17:21:20)
Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages
Offline
Just for reference, this is the current [make]dep graph according to the way the PKGBUILDs are currently written:
cairo ----+
| |
librsvg |
/ \ |
gdk-pixbuf2 --- gobj-intro
Based purely on brief chroot trial+error (e.g. gobject-introspection broke without cairo, cairo worked without librsvg), you might try cairo (after removing librsvg from makedeps) -> gobject-introspection -> gdk-pixbuf2 -> librsvg. But of course, I didn't do thorough testing or any research about the truly needed components/features.
Also, there might be native ways to handle these kinds of build cycles that I'm not familiar with.
Last edited by tdy (2013-02-13 17:59:51)
Offline
Could I suggestion developer team to setup some 'xxx-stageN' PKGBUILD for build these packages?
eg.
When we want to build such loops.
We should build xxx-stage1 then yyy-stage1 then xxx then yyy. And such dependency should wrote on PKGBUILD of all these 4 PKGBUILD.
Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages
Offline
Of course, you can suggest anything. Write the PKGBUILDs youself the way you think it should be done, and submit them in a feature request in the bugtracker.
Offline
Of course, you can suggest anything. Write the PKGBUILDs youself the way you think it should be done, and submit them in a feature request in the bugtracker.
So, there is no standard way to build these packages from base + base-devel?
I'm wonder how to make sure every package work well? Just by community's bug response?
I assumed Arch Linux exist some auto build all package's system.
eg. If X depends on Y1 and Y1 depends on Z1, Z2, When Z1 updated, Y1 and X will automatically rebuild.
Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages
Offline
tomk wrote:Of course, you can suggest anything. Write the PKGBUILDs youself the way you think it should be done, and submit them in a feature request in the bugtracker.
So, there is no standard way to build these packages from base + base-devel?
I'm wonder how to make sure every package work well? Just by community's bug response?
I assumed Arch Linux exist some auto build all package's system.
eg. If X depends on Y1 and Y1 depends on Z1, Z2, When Z1 updated, Y1 and X will automatically rebuild.
Nope that doesn't happen. Most devs do use chroots though.
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
I've another idea about this problem. We could put other PKGBUILD file on the same directory.
Like
gobject-introspection/PKGBUILD # for normal build script with all arch linux binary package support
gobject-introspection/PKGBUILD.1 # disable the dependency of cairo & --disable-doctool
For those who want to build without cairo dependency, just makepkg -p PKGBUILD.1
Through this step we could build all packages in a sequence automatically.
Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages
Offline
Not going to happen - it is pointless after an initial bootstrap.
In this case, I would bet that librsvg does not need its dependencies on the initial build.
Offline
Not going to happen - it is pointless after an initial bootstrap.
In this case, I would bet that librsvg does not need its dependencies on the initial build.
Well, I assumed bootstrap means build 'base' packages.
Or, even more 'base-devel'.
Other packages should have a reasonable build method based on 'base-devel+base'.
And it should not contains cycle loop.
Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages
Offline
Wrong. And I gave you exactly how to resolve it in my above post.
Offline
if PKGBUILD developers keep their build experience on such files will simplified try-and-error process.
I agree with this, but maybe this kind of info about ground-up building can go in a wiki.
I mentioned this dep cycle topic in #archlinux-arm:
2013-02-14 11:13:18 @WarheadsSE tdy, they will want to drop from deps, then rebuild w/ them back in
2013-02-14 11:14:03 tdy yea, that seems to be the easiest way.. e.g. build cairo w/o svg, build the chain, then rebuild cairo with svg
2013-02-14 11:14:12 @WarheadsSE yup
2013-02-14 11:14:31 @WarheadsSE thats a very simplified method of how we fix spaghetti monsters
Maybe you can check with them to see if they've kept some documentation about build orders or any tips in general.
Last edited by tdy (2013-02-15 16:54:36)
Offline
I decide to use cairo which provide by other linux distribution, then try to build pango.
I've installed following packages which provided by STLinux.
stlinux23-sh4-cairo 1.8.10-2.sh4
stlinux23-sh4-cairo-dev 1.8.10-2.sh4
stlinux23-sh4-pixman 0.18.2-2.sh4
stlinux23-sh4-pixman-dev 0.18.2-2.sh4
When I build pixman by Arch's PKGBUILD, I uninstall stlinux23-sh4-pixman stlinux23-sh4-pixman-dev.
Then I restart build pango, but it shows
/usr/bin/grep: /usr/lib/libpixman-1.la: No such file or directory
/bin/sed: can't read /usr/lib/libpixman-1.la: No such file or directory
I checked the pixman package there is a option '!libtool'. So, how could I fixed this problem and continue to build?
Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages
Offline