freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] [freetype-2.9.1] FT_Init_FreeType is missing with cc on S


From: suzuki toshiya
Subject: Re: [ft-devel] [freetype-2.9.1] FT_Init_FreeType is missing with cc on Solaris x64
Date: Thu, 03 May 2018 15:59:06 +0900
User-agent: Mozilla-Thunderbird 2.0.0.24 (X11/20100329)

Dear Kanazawa-san,

Thanks! It's my first experience to see Oracle's genuine
binutils output.

It seems that most symbols are not exposed; if you grep
the nm_list, you can find FT_Init_FreeType, but its "Bind"
attribute is LOCL (=local), not GLOB (=global).

I'm afraid something goes wrong during when private symbols
are hidden by linker script.

In the case of gcc is used, GNU libtool invokes it to make
shared library, like:
gcc -shared -fPIC -DPIC <object file> -lz -lbz2 -lpng12 \
-Wl,-soname -Wl,libfreetype.so.6 \
-Wl,-version-script -Wl,/tmp/freetype2/objs/.libs/libfreetype.ver \
-o libfreetype.so.6.6.1

libfreetype.ver is a linker script, its contents is like:
{ global:
FTC_CMapCache_Lookup;
FTC_CMapCache_New;
<snip>
FT_Vector_Unit;
TT_New_Context;
TT_RunIns;
local: *; };

But, as you can see, this "linker script" technique is
basically designed for GNU ld. I'm not sure what kind
of technologies are available on Solaris. I guess
GNU libtool fill this gap.

Now the possibilities in my mind are 2:

a) libfretype.ver (or something like that) is broken
when you build freetype-2.9.1, but it is OK for freetype-2.9.

b) your libfreetype.ver(s) are same between freetype-2.9
and 2.9.1, but compiler or linker is invoked differently.

==

to check a), I have to ask you to compare objs/.libs/libfreetype.ver
or something like that in freetype-2.9 and 2.9.1

to check b), I have to ask you to take the command execution log
for the building 2.9 and 2.9.1, and compare the command executed
to make the shared library.

If it's hard to see what I'm writing here, please let me
know (or, if you prefer discussion in Japanese).

Regards,
mpsuzuki



Kiyoshi KANAZAWA wrote:
> Dear Suzuki san.
> 
> % ./configure CC="cc -m64 -g3" CXX="CC -m64 -g3"
> % make
> % nm objs/.libs/libfreetype.so.6.16.1 > /tmp/nm_list
> 
> nm_list is attached.
> 
> Regards,
> 
> --- Kiyoshi
> 
> ----- Original Message -----
> From: suzuki toshiya <address@hidden>
> To: Kiyoshi KANAZAWA <address@hidden>
> Cc: "address@hidden" <address@hidden>
> Date: 2018/5/3, Thu 14:34
> Subject: Re: [ft-devel] [freetype-2.9.1] FT_Init_FreeType is missing with cc 
> on Solaris x64
> 
> Dear Kanazawa-san,
> 
> I don't have same environment to reproduce the issue,
> so I have to ask for more information (in my GNU/Linux
> on amd64 + gcc, no such issue).
> 
> Could you compile the library, with maximum debug symbols
> (in the gcc case, "-ggdb -g3"), and execute "nm" to list
> the symbols, and post the xz-compressed list?
> In my case, the result is about 18kB, it would not not
> harmful to this mailing list.
> 
> Regards,
> mpsuzuki
> 
> Kiyoshi KANAZAWA wrote:
>> Trying to install freetype-2.9.1 on Solaris x86/x64.
>>
>> With cc (Oracle's developerstudio12.6), FT_Init_FreeType seems to be missed 
>> from libfreetype.so.6.16.1.
>>
>> % ./configure CC="cc -m64" CXX="CC -m64"
>> % make
>> % make install
>> % xclock
>> ld.so.1: xclock: fatal: relocation error: file /usr/lib/64/libXft.so.2: 
>> symbol FT_Init_FreeType: referenced symbol not found
>> Killed
>>
>>
>> This does not happen in previous one, freetype-2.9 (with 
>> developerstudio12.6).
>>
>> But, this does not happen either in the latest one, freetype-2.9.1, when I 
>> use gcc 7.3.0.
>>
>>
>> --- Kiyoshi
>>
>>
>>
> 
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]