Bug 213781 - sysutils/arcconf: Fails to run: Undefined symbol "__collate_load_error" (After 10.3 -> 11.0 upgrade)
Summary: sysutils/arcconf: Fails to run: Undefined symbol "__collate_load_error" (Afte...
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: Kubilay Kocak
URL: https://lists.freebsd.org/pipermail/f...
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2016-10-25 19:58 UTC by StaszekSzybkiJest
Modified: 2019-03-25 11:23 UTC (History)
5 users (show)

See Also:
linimon: maintainer-feedback? (michael)
koobs: merge-quarterly?


Attachments
svn-diff-arcconf (525 bytes, patch)
2018-01-10 04:21 UTC, Walter Schwarzenfeld
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description StaszekSzybkiJest 2016-10-25 19:58:32 UTC
The old version of sysutils/arcconf v7.30.18837 stopped working after FreeBSD upgrade from 10.3 to 11.0 (amd64)

arcconf v7.30.18837 is the last version works with IBM ServeRAID-8k controller (newer versions end with segmentation faults)

This version requires libstdc++.so.6 so there is compat9x-amd64-9.3.903000.20160608 installed.

Running arcconf ends with:
Undefined symbol "__collate_load_error" referenced from COPY relocation in /usr/local/sbin/arcconf

I found old thread with similar problem on FreeBSD 9.x:
https://lists.freebsd.org/pipermail/freebsd-stable/2012-September/069543.html
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2017-07-19 12:13:51 UTC
Does installation of misc/compat10x still reproduce the symptoms?

Please clarify:

- Exact FreeBSD version (uname -a)
- What method (source, freebsd-update) was used to upgrade
Comment 2 StaszekSzybkiJest 2017-07-19 12:48:32 UTC
There is error:
Shared object "libstdc++.so.6" not found, required by "arcconf"
when compat10x-amd64 is installed only.

FreeBSD release: 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9 - but problem exists since first release 11.0-p0
freebsd-update was used to upgrade system
Comment 3 StaszekSzybkiJest 2017-07-19 12:50:45 UTC
Problem still exists with current version of compat9x: compat9x-amd64-9.3.903000.20170608
Comment 4 michael 2017-07-19 13:45:02 UTC
there is a newer version with arcconf* for FreeBSD11, but it still complains about missing libstdc++.so.6. Since this tool is binary only, I can not help :(

* http://download.adaptec.com/raid/storage_manager/arcconf_v2_04_22665.zip
Comment 5 Walter Schwarzenfeld 2018-01-10 04:21:12 UTC
Created attachment 189575 [details]
svn-diff-arcconf
Comment 6 Walter Schwarzenfeld 2018-01-10 04:22:53 UTC
Error: /usr/local/sbin/arcconf is linked to /usr/local/lib/compat/libstdc++.so.6 from misc/compat9x but it is not declared as a dependency
so
RUN_DEPENDS+=   ${LOCALBASE}/lib/compat/libstdc++.so.6:misc/compat9x
should solve it.
Comment 7 chency 2018-04-25 14:34:39 UTC
arcconf work perfect at my host ( running 10.1R ),
but after freebsd-update to 11.1R-p9 having following error.
( already re-install sysutils/arcconf , but still the same result. )

> arcconf
Undefined symbol "__collate_load_error" referenced from COPY relocation in /usr/local/sbin/arcconf


> uname -a
FreeBSD loghost 11.1-RELEASE-p9 FreeBSD 11.1-RELEASE-p9 #0: Tue Apr  3 16:51:52 UTC 2018     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386

> pkg version | grep arcconf
arcconf-1.8.21375,1                =

> pkg version | grep compat
compat10x-i386-10.3.1003000.20170608 =
compat9x-i386-9.3.903000.20170608  =
Comment 8 Martin Waschbüsch 2018-08-08 10:40:11 UTC
I have arcconf running on FreeBSD 11.2-RELEASE:
There is NO NEED to install any COMPAT stuff.

Steps to reproduce:

I used: http://download.adaptec.com/raid/storage_manager/arcconf_v2_05_22932.zip
That archive contains a version for FreeBSD 11 in freebsd11_x64/cmdline.

To satisfy the libstdc++.so.6 requirement, you need to install gcc (pkg install gcc) which provides said library.

Note: Although this version of arcconf only lists "Series 6, 7, 8 Controllers" as supported, it also works on my 5405 Controller.

Enjoy!
Comment 9 Leonid Nevecherya 2018-10-15 08:25:28 UTC
Current version of port stopped working after FreeBSD upgrade from 10.4 to 11.2 (i386)
Running arcconf ends with:
Undefined symbol "__collate_load_error" referenced from COPY relocation in /usr/local/sbin/arcconf

Port doesn't work on FreeBSD 11.2 (amd64) too. 
But installing gcc or compat-9x fix it on amd64 only.

Adaptek published version 2.01.22270. This is last version with i386 support. It doesn't work on FreeBSD 11.2 (i386) with "Undefined symbol..." error.
Installing gcc or compat-9x fix it on amd64 as current version of port.
Comment 10 Leonid Nevecherya 2018-10-15 11:42:56 UTC
Running arcconf ends with:
Undefined symbol "__collate_load_error" referenced from COPY relocation in /usr/local/sbin/arcconf

This is because /lib/libc.so.7 from FreeBSD 11.2 don't export __collate_load_error.

My Workaround for FreeBSD 11.2 (i386) & Adaptec 5405:
1. Install port.
cd /usr/ports/sysutils/arcconf
make install clean
2. Backup /usr/local/etc/periodic/daily/410.status-aac-raid
3. Deinstall port
pkg delete arcconf
4. Restore /usr/local/etc/periodic/daily/410.status-aac-raid
5. Install compat6x
cd /usr/ports/misc/compat6x
make install clean
6. Fetch last version compiled for FreeBSD 6.x
cd you_working_dir
fetch http://download.adaptec.com/raid/storage_manager/asm_freebsd_x86_v6_50_18771.tgz
cp ./freebsd6/cmdline/arcconf /usr/local/sbin
7. Enjoy :-)
Comment 11 StaszekSzybkiJest 2018-10-15 19:53:32 UTC
(In reply to Leonid Nevecherya from comment #10)

Your workaround works like a charm!

I had to downgrade a little from v7.30.18837 to v6.50.18771 (later versions were not compiled for FreeBSD 6) but final result is all I need.

Thank you!!!
Comment 12 michael 2019-03-25 11:12:18 UTC
fixed in never version, please close
Comment 13 Kubilay Kocak freebsd_committer freebsd_triage 2019-03-25 11:23:16 UTC
Please re-open if this is still an issue with the latest version of the port/package.