Ticket #2992 (closed defect: fixed)
mc fails to link when system lib does not contain strverscmp
Reported by: | zyxmon | Owned by: | slavazanko |
---|---|---|---|
Priority: | major | Milestone: | 4.8.9 |
Component: | mc-core | Version: | master |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Branch state: | merged | Votes for changeset: | committed-master |
Description
The fix is very simple and obvious.
It is in the attachment.
(I was crosscompiling mc-4.8.8 for a mips router with uclibc0.9.30.3)
Attachments
Change History
Changed 12 years ago by zyxmon
- Attachment 040_str_verscmp.patch added
comment:1 Changed 12 years ago by slavazanko
- Owner set to slavazanko
- Status changed from new to accepted
comment:2 Changed 12 years ago by slavazanko
- Branch state changed from no branch to on review
- Milestone changed from Future Releases to 4.8.9
Created branch 2992_strverscmp
Initial changeset:21ad110e66907c5e99d3a2675f971df80c88defb
Review, please.
comment:4 follow-up: ↓ 5 Changed 12 years ago by er13
Hi,
wanted to report the same issue but found this ticket before.
The fix from 21ad110e66 is not incorrect but it's a bit strange. str_verscmp (with underscore) is your own replacement for libc (actually glibc) function strverscmp (without underscore). There exists and there never existed function called str_verscmp in any libc implementation. So there is no need to check for it in configure. There is also no need to change anything in lib/strutil/strverscmp.c. defined(HAVE_STR_VERSCMP) will never evaluate to true so it's just a dead-code.
Even if we would assume there are systems out there providing str_verscmp the change in lib/strutil/strverscmp.c is incorrect. On such systems the implementation will end up with a recursive end-less call to itself, this view makes it more evident.
Best,
Gene
comment:5 in reply to: ↑ 4 Changed 12 years ago by andrew_b
All commits in the branch starting with changeset:21ad110e66907c5e99d3a2675f971df80c88defb will be squashed.
comment:6 Changed 11 years ago by angel_il
- Votes for changeset changed from andrew_b to andrew_b angel_il
- Branch state changed from on review to approved
patch to fix an issue