Morning,

On Mon, Apr 14, 2025 at 10:18:35PM +0100, Edd Barrett wrote:
> On Thu, Apr 03, 2025 at 05:12:38PM +0100, Stuart Henderson wrote:
> > You still need to be careful even if it's statically linked. In
> > particular you need to make sure that it can't accidentally pick up
> > anything from /usr/local/{include,lib} if present at build time.
> > Especially considering what Laurie reported.
> 
> Laurent, did you make any progress on resolving this?

I've tried to reproduce the missing dependency problem.

Starting with www/netsurf/libutf8proc installed:
```
$ pkg_info | grep utf8proc
libutf8proc-2.4.0p0 unicode library
```

Then building neovim with Laurent's diff applied and logging the build output
disk, I see that, as intended, Laurent's updated port builds libutf8proc as a
static library:

```
...
[100%] Linking C static library libutf8proc.a
/usr/local/bin/cmake -P CMakeFiles/utf8proc.dir/cmake_clean_target.cmake
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/utf8proc.dir/link.txt 
--verbose=1
/usr/bin/ar qc libutf8proc.a CMakeFiles/utf8proc.dir/utf8proc.c.o
/usr/bin/ranlib libutf8proc.a
[100%] Built target utf8proc
/usr/local/bin/cmake -E cmake_progress_start 
/usr/local/pobj/neovim-0.11.0/build-amd64/static-deps-build/utf8proc/CMakeFiles 0
mkdir -p /usr/local/pobj/neovim-0.11.0/build-amd64/static-deps-inst/lib
cp 
/usr/local/pobj/neovim-0.11.0/build-amd64/static-deps-build/utf8proc/libutf8proc.a
 /usr/local/pobj/neovim-0.11.0/build-amd64/static-deps-inst/lib/
...
```
   
And then later, when neovim is linked, the compiler invocation explicitly
provides the absolute path to the static lib (thus is cannot accidentally pick
up the shared object from /usr/local/lib):

```
...
[653/657] : && /usr/local/pobj/neovim-0.11.0/bin/cc -O2 -pipe -g ... 
static-deps-inst/lib/libutf8proc.a ...
```

(humongous line elided for sanity)

`make port-lib-depends-check` also doesn't complain, so I'm pretty sure it's
not picking up libutf8proc.so.x.y from /usr/local/lib.

I then uninstalled the libutf8proc package and rebuilt neovim. All seems well.

All of that to say: I'm unable to reproduce the missing dependency issue.

-- 
Best Regards
Edd Barrett

https://www.theunixzoo.co.uk

Reply via email to