Actually, we call mpn_com_n in flint. In flint.h this becomes mpn_com.

In gmp.h in MPIR this becomes __MPN(com_n) which must be ___gmpn_com_n on 
your machine.

If headers are included in the reverse order, mpn_com_n becomes directly 
___gmpn_com_n in gmp.h.

This is indeed the name of the symbol we export. I can't see why it should 
be looking for the symbol ___gmpn_com, which certainly doesn't exist.

I don't see why this is happening.

On Thursday, 5 February 2015 21:50:59 UTC+1, Bill Hart wrote:
>
> I can't shed much light on this.
>
> We do indeed call mpn_com_n from those flint functions. In flint.h 
> mpn_com_n is #defined to mpn_com for compatibility with various versions of 
> MPIR.
>
> The latter becomes xxxmpn_com where xxx can be g, _g, __g or ___g 
> depending on the global symbol prefix on your platform.
>
> On lines 23 and 24 of mpn/generic/com_n.c in MPIR we have
>
> #undef mpn_com_n
> #define mpn_com_n __MPN(com_n)
>
> Who knows what the effect of this is.
>
> But on a core i5, this should all be irrelevant, since for all core2 and 
> later Intel processors, mpn/x86_64/core2/com_n.as should be compiled and 
> should use the standard symbol prefix for your system regardless.
>
> I'd be inclined to look at the MPIR build log and see if it detected your 
> processor correctly, or whether it thought it was just a generic x86_64.
>
> Unless your OS kernel is 32 bits somehow. But even in that case, 
> mpn/x86/core2/com_n.asm should take care of it for you.
>
> Bill.
>
> On Tuesday, 3 February 2015 13:33:18 UTC+1, Xander Faber wrote:
>>
>> I was building Sage 6.4 on a Mac Pro 2.6 GHz Intel Core i5. 
>>
>> Tail end of the flint log file:
>>
>>
>>  
>>
>>  CC ../build/fq_zech_poly_factor/../fq_zech_poly_factor.lo 
>>
>>  CXX build/interfaces/NTL-interface.lo 
>>
>> Undefined symbols for architecture x86_64: 
>>
>>  "___gmpn_com", referenced from: 
>>
>>  _fmpz_bit_pack in fmpz.lo 
>>
>>  _fmpz_bit_unpack in fmpz.lo 
>>
>> ld: symbol(s) not found for architecture x86_64 
>>
>> collect2: error: ld returned 1 exit status 
>>
>> make[4]: *** [libflint.dylib] Error 1 
>>
>> make[3]: *** [library] Error 2 
>>
>> Error: Failed to build FLINT shared library. 
>>
>>
>>  
>>
>> real 3m30.826s 
>>
>> user 2m32.253s 
>>
>> sys 0m51.078s 
>>
>> ************************************************************************ 
>>
>> Error installing package flint-2.4.4 
>>
>> ************************************************************************ 
>>
>> Please email sage-devel (http://groups.google.com/group/sage-devel) 
>>
>> explaining the problem and including the relevant part of the log file 
>>
>>  /Users/xander/sage/logs/pkgs/flint-2.4.4.log 
>>
>> Describe your computer, operating system, etc. 
>>
>> If you want to try to fix the problem yourself, *don't* just cd to 
>>
>> /Users/xander/sage/local/var/tmp/sage/build/flint-2.4.4 and type 'make' 
>> or whatever is appropriate. 
>>
>> Instead, the following commands setup all environment variables 
>>
>> correctly and load a subshell for you to debug the error: 
>>
>>  (cd '/Users/xander/sage/local/var/tmp/sage/build/flint-2.4.4' && '/Users
>> /xander/sage/sage' --sh) 
>>
>> When you are done debugging, you can type "exit" to leave the subshell. 
>>
>> ************************************************************************
>>
>> Any thoughts on what's going on?
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to