missing libffi.so master link

Dagobert Michelsen dam at opencsw.org
Thu Mar 12 15:00:34 CET 2015


Hi Riccardo,

> Am 12.03.2015 um 14:28 schrieb Riccardo Mottola <rmottola at opencsw.org>:
> 
> Riccardo Mottola wrote:
>> Hi Dago,
>> 
>> Dagobert Michelsen wrote:
>>>> in config.log I just see:
>>>> configure:18550: checking toolchain supports unwind section type
>>>> configure:18579: result: no
>>>> configure:18589: checking whether .eh_frame section should be read-only
>>>> configure:18609: result: no
>>>> 
>>>> no trace of the "expr" error and of the actual test.
>>> Take a look in config.log, if in doubt add „set -e“ to configure and
>>> store the output.
>> I pasted the excerpt of config.log above.
>> 
>> I added set -e (It took me some time to understand I had to add it to
>> the script itself).

You must add it to the top of „configure“.

>> I attach it here together with the config.log, see if you get smart
>> out of it! I don't
> 
> anybody has a better clue about these two configure checks? I think they might be the culprit for the amd64 failure. I don't... I see nothing in the logs that helps.
> 
> I fear "expr" could be a problem that a test is run with a non-GNU tool and it fails, but about unwind... I don't know and it could be the problem.

Look here:

> configure:6217: checking for objdump
> configure:6247: result: no

The missing check for the non-availability of objdump leads to the output
being empty and finally to „expr + 1“ which is invalid:

> + printf '%s\n' 'configure:18591: checking whether .eh_frame section should be read-only'  
> + printf %s 'checking whether .eh_frame section should be read-only... '  
> checking whether .eh_frame section should be read-only... + false  
> + libffi_cv_ro_eh_frame=no  
> + echo 'extern void foo (void); void bar (void) { foo (); foo (); }'  
> + /opt/csw/bin/gcc-4.9 -O2 -pipe -m64 -march=opteron -Wall -fexceptions -c -fpic -fexceptions -o conftest.o conftest.c  
> + objdump -h conftest.o
> ++ grep -n eh_frame conftest.dump
> ++ cut -d: -f 1
> + libffi_eh_frame_line=
> ++ expr + 1
> expr: syntax error
> + libffi_test_line=p
> + sed -n p conftest.dump
> + grep READONLY conftest.line
> + rm -f conftest.c conftest.dump conftest.line conftest.o  
> + printf '%s\n' 'configure:18611: result: no'  
> + printf '%s\n' no
> no 

I committed an adjusted PATH during configure in r24719. However, the compilation
still fails with

> libtool: link: /opt/csw/bin/gcc-4.9 -shared  -fPIC -DPIC -Wl,-z -Wl,text -Wl,-h -Wl,libffi.so.6 -o .libs/libffi.so.6.0.4  src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/x86/.libs/ffi64.o src/x86/.libs/unix64.o src/x86/.libs/ffi.o src/x86/.libs/sysv.o   -L/opt/csw/lib/64  -O2 -m64 -march=opteron -m64 -march=opteron -m64 -march=opteron  
> ld: fatal: file src/x86/.libs/unix64.o: section [5].eh_frame: section type is SHT_PROGBITS: expected SHT_AMD64_UNWIND
> collect2: error: ld returned 1 exit status

Probably you need to dive deeper in ELF and linking.


Best regards

  — Dago



-- 
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2418 bytes
Desc: not available
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20150312/d758be4c/attachment.p7s>


More information about the maintainers mailing list