asdf-community / asdf-community/asdf-php
Compilation error: dynamic STT_GNU_IFUNC symbol `mb_utf16be_to_wchar' with pointer equality in `ext/mbstring/libmbfl/filters/mbfilter_utf16.o' can not be used when making an executable; recompile with -fPIE and relink with -pie
- Dominant language
- Shell
- Stars
- 256
- Forks
- 117
- PR merge metrics
- No merged PRs in 30d
Description
### Provide environment information
When I try to install PHP, then I get a compilation error.
PHP 8.3.11
RHEL 8
### To Reproduce
```console
$ asdf install php 8.3.11
/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `mb_utf16be_to_wchar' with pointer equality in `ext/mbstring/libmbfl/filters/mbfilter_utf16.o' can not be used when making an executable; recompile with -fPIE and relink with -pie
collect2: error: ld returned 1 exit status
make: *** [Makefile:323: sapi/fpm/php-fpm] Error 1
```
### Describe the Bug
Some kind of PIE related compilation error occurs when installing PHP.
As an aside, several packages were needed but not documented in the PHP instructions:
* Unclear which versions of re2c are supported
* Python > 3.7 (for latest re2c)
* libxml2-dev(el)
* libcurl-dev(el)
* gd-dev(el)
* libicu-dev(el)
* oniguruma-dev(el)
* libpq-dev(el)
* libzip-dev(el)
### Expected Behaviour
`asdf install php 8.3.11` should succeed.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing `asdf install php 8.3.11` on RHEL 8 and inspect the `sapi/fpm/php-fpm` target in `Makefile` along with `ext/mbstring/libmbfl/filters/mbfilter_utf16.o`. Check the reported PIE-related linker failure and the listed dependency and re2c requirements. Done means PHP 8.3.11 installs successfully through asdf on the reported environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, shell
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100