Opened 3 years ago

Closed 2 years ago

#16737 closed bug (invalid)

Even minor devel package update breaks build of 3rd-party software

Reported by: X512 Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Kits/Package Kit Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by X512)

This is hrev54837.

When updating devel packages, WebKit build fails so reconfigure is needed. WebKit is a big project and rebuild takes a lot of time. Rebuild after each update should be avoided.

Error message:

ninja: error: '/packages/libxslt-1.1.34-1/.self/develop/lib/libxslt.so', needed by 'lib/libWebKitLegacy.so.1.7.0', missing and no known rule to make it

I am not sure what is wrong exactly: Package Kit, cmake or WebKit build system. Internal paths should be not used when building, /boot/system/develop/lib should be used instead because it is more stable.

Change History (7)

comment:1 by X512, 3 years ago

Description: modified (diff)

comment:2 by korli, 3 years ago

Any build system tries to use timestamps to trigger rebuilds. Cmake happens to use the real path in this case. You can easily correct the path (replace -1 with -3).

comment:3 by X512, 3 years ago

You can easily correct the path (replace -1 with -3).

How to do this?

comment:4 by X512, 3 years ago

Cmake happens to use the real path in this case.

/packages/libxslt-1.1.34-1/.self/develop/lib/libxslt.so is symlink to /boot/system/develop/lib/libxslt.so -> /boot/system/lib/libxslt.so.1.1.34. In this case why /packages path is used?

comment:5 by nephele, 3 years ago

Webkits build system uses ccache if available afaik, maybe this is a workaround that works for you.

comment:6 by pulkomandy, 3 years ago

For WebKit I usually manually replace the path in CMakeCache.txt to avoid a rebuild. But I agree it would be more convenient if the pkgconfig files did point to the main /boot/system/develop/ directory instead of explicitly to the specific version of the package. Especially as it does so incorrectly: it points to something in libxslt-1.1.34-1 instead of libxslt_devel-1.1.34-1, which means even if you want to use separate versions of the _devel package, you actually can't.

comment:7 by waddlesplash, 2 years ago

Resolution: invalid
Status: newclosed

This is really a problem for HaikuPorts, not Haiku.

There is probably something we can do in fixPkgconfig in HaikuPorter here. However, we can't just replace /packages/.../ with /system/develop/ as that will break _devel package installation in ~.

Note: See TracTickets for help on using tickets.