I’ve (re)started in my journey in porting stuff to Haiku (mostly POSIX), It’s very educational…and hard
I was wondering if you can help me getting out of those “waiting for build package blahblahblah to be activated” errors I get most of the times. There’s no log, there, so I’m almost lost everytime.
The ones that puzzles me most are those that stuck che building process when I add some specific commands in BUILD_PREREQUISITES block.
In another case I crushed there while after having added just cmd:awk! And that was even more puzzling because suddenly the error faded away after some cleaning in the recipe file (tabs, indentations…ofc there was more than that for sure, but went unnoticed to me while i was housecleaning the file so i don’t know the cause-effect): https://github.com/haikuports/haikuports/pull/4838
So, where is the logic behind these errors? Where is the best way to start debugging when they pop up?
Usually it’s because the first entry in your PROVIDES does not match the filename of the recipe. Haikuporter uses the filename of the recipe to check what package would be activated, but the package kit uses the PROVIDES entry.
But it could be other problems in the PROVIDES, REQUIRES, etc. entries, for example if you have non-breakable spaces accidentally put there or other special characters, or otherwise invalid syntax.
More sanity checks could be added to haikuporter so that the problems are caught earlier and with a better error message.
ARCHITECTURES="!x86_gcc2 x86 x86_64 ?arm ?ppc ?sparc"
SECONDARY_ARCHITECTURES=“x86 x86_64”
PROVIDES="
fitspng$secondaryArchSuffix = $portVersion
"
Too many primary architectures to start with (don’t know what your primary architecture is)
Secondary architecture doesn’t have x86_64 so you can remove that
In provides there is nothing providing a cmd or the likes?
Try to run haikuporter with the -S option (strict) it would probably reveal some other things (haven’t checked)
I will add all those infos you’re providing me in a FAQ. Perhaps it could be useful to add a page to HP Wiki on github?
Another question I’ve asked yesterday on IRC, too. A recipe which was supponed to works (it build correctly since…well…yesterday) has stopped working with several errors in dependencies like these:
Haikuporter scans the generated .so file and sees that it indeed directly links to libSSL. That may be indeed a problem in how libcurl is built (and in particular, in its pkg-config files). For some reason, your library is linked directly against libssl, which is now a dependency for it. If we modified curl to link to something else, your library would still be linked to libssl and would still needs it. So, for the time being, you must add that as a requirement to the package. And for the long term fix, we should check why curl is doing that.