Tiny Core Extensions > TCE Bugs

icu67-dev and icu70-dev reverse dependencies

(1/4) > >>

GNUser:
I noticed that  icu67-dev.tcz  and  icu70-dev.tcz  were recently removed from the TCL14 x86_64 repository. However, some  .dep  files still contain these extensions, which is causing breakage:

--- Code: ---$ depends-on.sh icu67-dev
boost-1.74-dev.tcz
js52-dev.tcz
js78-dev.tcz
raptor-dev.tcz
$ depends-on.sh icu70-dev
boost-1.78-dev.tcz
harfbuzz-icu-dev.tcz
libical3-dev.tcz
tracker3-dev.tcz
--- End code ---
What would be the most appropriate fix? To replace every occurrence of  icu67-dev.tcz  and  icu70-dev.tcz  in  .dep  files with  icu74-dev.tcz?

Rich:
Hi GNUser
While  icu67.tcz  and  icu70.tcz  are still present, I suspect the
dev extensions were removed so the older versions are not
used when building extensions.

It's likely the entries in those  .dep  files should be changed
to  icu74-dev.tcz.

Repo update will be complete in a few minutes.

Rich:
Hi GNUser
This may be more involved than i thought.
The following still depend on  icu67.tcz
because the non-dev versions depend on it:

--- Code: ---js52-dev.tcz
js78-dev.tcz
raptor-dev.tcz
--- End code ---

The following still depend on  icu70.tcz
because the non-dev versions depend on it:

--- Code: ---boost-1.78-dev.tcz
harfbuzz-icu-dev.tcz
libical3-dev.tcz
tracker3-dev.tcz
--- End code ---

We'll have to wait for Juanitos input.

GNUser:
Sounds good, Rich. I figured my naive first thought might not be the definitive fix. I just wanted to alert you guys to the problem.

GNUser:

--- Quote from: Rich on November 26, 2023, 05:39:12 PM ---Hi GNUser
This may be more involved than i thought.
The following still depend on  icu67.tcz
because the non-dev versions depend on it:

--- Code: ---js52-dev.tcz
...
--- End code ---

--- End quote ---
Hi Rich. I've been thinking about this situation. I think it's fine.

I just randomly chose  js52-dev.tcz  for a thought experiment, but it could have been any of the others. Let's say I load  js52-dev.tcz  because I'm trying to build some application foo. When I load  js52-dev.tcz  , js52-dev's entire dependency tree is loaded. Its dependency tree looks like this:


--- Code: ---$ deptree js52-dev
-----js52-dev.tcz
     |-----js52.tcz
     |     |-----nspr.tcz
     |     |-----readline.tcz
     |     |     |-----ncursesw.tcz
     |     |-----icu67.tcz
     |-----nspr-dev.tcz
     |     |-----nspr.tcz
     |-----readline-dev.tcz
     |     |-----readline.tcz
     |     |     |-----ncursesw.tcz
     |     |-----ncursesw-dev.tcz
     |     |     |-----ncursesw.tcz
     |-----icu74-dev.tcz
     |     |-----icu74-bin.tcz
     |     |     |-----icu74.tcz
--- End code ---
So we have a situation where icu67, icu74, and icu74-dev are all loaded. Application foo will be linked against icu74 because that's what the header files in icu74-dev tell the compiler to do. But presumably foo is also being linked against js52 (which depends on icu67). So in this situation, both icu74 and icu67 will end up in foo's dependency tree. It's messy but will work because icu67 and icu74 do not clobber each other and can both be loaded on the same system.

So in theory at least there is no problem. But experience is better than theory, so Juanito's assessment will be valuable. I'm sure he has dealt with this exact issue (given number of icu versions in repository) or something similar before.

Navigation

[0] Message Index

[#] Next page

Go to full version