-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linking to libecat fails (Arch linux 2018.05.15) #207
Comments
Better option I believe is to disable all the |
Not that simple. I had tried that and now reconfirmed, that matrix_extra depends on rts. opt/ecat/libecat.a(matrix_extra.o): In function `acs_read_scan_subheader':
matrix_extra.c:(.text+0x28): undefined reference to `rtsRblk'
/opt/ecat/libecat.a(matrix_extra.o): In function `acs_read_Scan3D_subheader':
matrix_extra.c:(.text+0xa5): undefined reference to `rtsRblk'
matrix_extra.c:(.text+0xbc): undefined reference to `rtsRblk'
/opt/ecat/libecat.a(matrix_extra.o): In function `matrix_open':
matrix_extra.c:(.text+0x14eb): undefined reference to `rts_rmhd'
/opt/ecat/libecat.a(matrix_extra.o): In function `file_exists':
matrix_extra.c:(.text+0x20f5): undefined reference to `rts_rmhd'
/opt/ecat/libecat.a(machine_indep.o): In function `read_raw_acs_data':
machine_indep.c:(.text+0x26b): undefined reference to `rtsRblk' And that seems like a dead end. |
yeah. seems Linking to This library is very old obviously. I'm quite reluctant to put in work-arounds in STIR for CentOS, that will likely break something else. Instead, I'd prefer to tell people how to fix the library... Note that we cannot distribute it ourselves. Its license is unclear. |
I am wondering how Ubuntu handles this? Are you able to use ecat without rts? |
I haven't used ECAT in about 10 years... ecat without rts definitely works. |
OK, I created the patch and everything compiles. |
I went forward with this. |
great. thanks! |
When ecat support is enabled STIR linking fails with the following error message:
Long block of error message
The error has been reproduced with
g++-8.1
,g++-7.3.1
,g++-5.4.1
,g++-4
withlibglib-2.0.so.0
andlibc.so.6
(Arch linux 2018.5.15). Thelibecat.a
was complied successfully.Proposed solution:
There are two problems the first that
cfree
has been removed from glibc (>2.24) therefore, one has to editrts_cmd.c
in the ecat folder, line 174 fromcfree
tofree
. We can add this info at the wiki.The second problem is that STIR has to link to
libtirpc.so
(1.0.3). Either inIO/CMakeLists.txt
or inbuildblock/CMakeLists.txt
the following edit has to be done (it can be written in a better way, of course):The text was updated successfully, but these errors were encountered: