Taglib

Lukáš Lalinský lalinsky at gmail.com
Thu Aug 23 08:51:08 UTC 2012


In general it's best to send this kind of questions to the
taglib-devel mailing list.

It seems that the GCC on OS/2 doesn't support the atomic builtins:
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html

They are used only if these conditions pass
https://github.com/taglib/taglib/blob/master/taglib/toolkit/taglib.h#L54
Can you please look to see if there is a way to exclude the OS/2
compiler that doesn't support this? Maybe we should add a dependency
on boost or c++11 for compilers like this?

Lukas

On Tue, Aug 21, 2012 at 10:55 PM, Elbert & Nicole Pol
<elbert.pol at gmail.com> wrote:
> Hi,
>
> I try to compile v1.8beta to OS/2 using Gcc v4.4.6
>
> But makes failed @ ...
>
> Linking CXX shared library tag-1.dll
> weakld: error: Unresolved symbol (UNDEF) '___sync_sub_and_fetch_4'.
> weakld: info: The symbol is referenced by:
>     C:\var\temp\ldconv_mpegheader_cpp_obj_19635033f1d8117ed0.obj
>     C:\var\temp\ldconv_id3v1genres_cpp_obj_19635033f1d812da78.obj
>     C:\var\temp\ldconv_id3v2framefactory_cpp_obj_19635033f1d8135778.obj
>     C:\var\temp\ldconv_id3v2tag_cpp_obj_19635033f1d81449a8.obj
>     C:\var\temp\ldconv_id3v2frame_cpp_obj_19635033f1d8154790.obj
>     C:\var\temp\ldconv_commentsframe_cpp_obj_19635033f1d8173f78.obj
>     C:\var\temp\ldconv_relativevolumeframe_cpp_obj_19635033f1d8194318.obj
>     C:\var\temp\ldconv_textidentificationframe_cpp_o_19635033f1d819b078.obj
>     C:\var\temp\ldconv_unsynchronizedlyricsframe_cpp_19635033f1d81b1bc0.obj
>     C:\var\temp\ldconv_urllinkframe_cpp_obj_19635033f1d81bb030.obj
>     C:\var\temp\ldconv_oggfile_cpp_obj_19635033f1d81c2948.obj
>     C:\var\temp\ldconv_oggpage_cpp_obj_19635033f1d81ca260.obj
>     C:\var\temp\ldconv_oggpageheader_cpp_obj_19635033f1d81d1b78.obj
>     C:\var\temp\ldconv_xiphcomment_cpp_obj_19635033f1d81d9878.obj
>     C:\var\temp\ldconv_apetag_cpp_obj_19635033f1d9114ff0.obj
>     C:\var\temp\ldconv_apeitem_cpp_obj_19635033f1d9124220.obj
>     C:\var\temp\ldconv_tstring_cpp_obj_19635033f1d913c0f0.obj
>     C:\var\temp\ldconv_tstringlist_cpp_obj_19635033f1d9143a08.obj
>     C:\var\temp\ldconv_tbytevector_cpp_obj_19635033f1d914b708.obj
>     C:\var\temp\ldconv_tbytevectorlist_cpp_obj_19635033f1d9153020.obj
>     C:\var\temp\ldconv_tpropertymap_cpp_obj_19635033f1d9183978.obj
>     C:\var\temp\ldconv_flacfile_cpp_obj_19635033f1d9194318.obj
>     C:\var\temp\ldconv_asftag_cpp_obj_19635033f1da11c908.obj
>     C:\var\temp\ldconv_asffile_cpp_obj_19635033f1da124220.obj
>     C:\var\temp\ldconv_asfattribute_cpp_obj_19635033f1da133838.obj
>     C:\var\temp\ldconv_asfpicture_cpp_obj_19635033f1da13b150.obj
>     C:\var\temp\ldconv_mp4atom_cpp_obj_19635033f1da14a768.obj
>     C:\var\temp\ldconv_mp4tag_cpp_obj_19635033f1da152080.obj
>     C:\var\temp\ldconv_mp4item_cpp_obj_19635033f1da15b108.obj
>     C:\var\temp\ldconv_mp4properties_cpp_obj_19635033f1da162a20.obj
>     C:\var\temp\ldconv_mp4coverart_cpp_obj_19635033f1da16a720.obj
>     C:\var\temp\ldconv_modtag_cpp_obj_19635033f1da181a38.obj
>     C:\var\temp\ldconv_xmfile_cpp_obj_19635033f1da1b0838.obj
>     C:\var\temp\ldconv_tag_cpp_obj_19635033f1da1c0a08.obj
>     C:\var\temp\ldconv_fileref_cpp_obj_19635033f1da1d0020.obj
> Ignoring unresolved externals reported from weak prelinker.
> Error! E2028: ___sync_sub_and_fetch_4 is an undefined reference
> file
> C:/var/temp\ldconv_mpegheader_cpp_obj_19635033f1d8117ed0.obj(ldconv_mpegheader_cpp_obj_19635033f1d8117ed0.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_id3v1genres_cpp_obj_19635033f1d812da78.obj(ldconv_id3v1genres_cpp_obj_19635033f1d812da78.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_id3v2framefactory_cpp_obj_19635033f1d8135778.obj(ldconv_id3v2framefactory_cpp_obj_19635033f1d8135778.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_id3v2tag_cpp_obj_19635033f1d81449a8.obj(ldconv_id3v2tag_cpp_obj_19635033f1d81449a8.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_id3v2frame_cpp_obj_19635033f1d8154790.obj(ldconv_id3v2frame_cpp_obj_19635033f1d8154790.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_commentsframe_cpp_obj_19635033f1d8173f78.obj(ldconv_commentsframe_cpp_obj_19635033f1d8173f78.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_relativevolumeframe_cpp_obj_19635033f1d8194318.obj(ldconv_relativevolumeframe_cpp_obj_19635033f1d8194318.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_textidentificationframe_cpp_o_19635033f1d819b078.obj(ldconv_textidentificationframe_cpp_o_19635033f1d819b078.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_unsynchronizedlyricsframe_cpp_19635033f1d81b1bc0.obj(ldconv_unsynchronizedlyricsframe_cpp_19635033f1d81b1bc0.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_urllinkframe_cpp_obj_19635033f1d81bb030.obj(ldconv_urllinkframe_cpp_obj_19635033f1d81bb030.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_oggfile_cpp_obj_19635033f1d81c2948.obj(ldconv_oggfile_cpp_obj_19635033f1d81c2948.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_oggpage_cpp_obj_19635033f1d81ca260.obj(ldconv_oggpage_cpp_obj_19635033f1d81ca260.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_oggpageheader_cpp_obj_19635033f1d81d1b78.obj(ldconv_oggpageheader_cpp_obj_19635033f1d81d1b78.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_xiphcomment_cpp_obj_19635033f1d81d9878.obj(ldconv_xiphcomment_cpp_obj_19635033f1d81d9878.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_apetag_cpp_obj_19635033f1d9114ff0.obj(ldconv_apetag_cpp_obj_19635033f1d9114ff0.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_apeitem_cpp_obj_19635033f1d9124220.obj(ldconv_apeitem_cpp_obj_19635033f1d9124220.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_tstring_cpp_obj_19635033f1d913c0f0.obj(ldconv_tstring_cpp_obj_19635033f1d913c0f0.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_tstringlist_cpp_obj_19635033f1d9143a08.obj(ldconv_tstringlist_cpp_obj_19635033f1d9143a08.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_tbytevector_cpp_obj_19635033f1d914b708.obj(ldconv_tbytevector_cpp_obj_19635033f1d914b708.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_tbytevectorlist_cpp_obj_19635033f1d9153020.obj(ldconv_tbytevectorlist_cpp_obj_19635033f1d9153020.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_tpropertymap_cpp_obj_19635033f1d9183978.obj(ldconv_tpropertymap_cpp_obj_19635033f1d9183978.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_flacfile_cpp_obj_19635033f1d9194318.obj(ldconv_flacfile_cpp_obj_19635033f1d9194318.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_asftag_cpp_obj_19635033f1da11c908.obj(ldconv_asftag_cpp_obj_19635033f1da11c908.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_asffile_cpp_obj_19635033f1da124220.obj(ldconv_asffile_cpp_obj_19635033f1da124220.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_asfattribute_cpp_obj_19635033f1da133838.obj(ldconv_asfattribute_cpp_obj_19635033f1da133838.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_asfpicture_cpp_obj_19635033f1da13b150.obj(ldconv_asfpicture_cpp_obj_19635033f1da13b150.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_mp4atom_cpp_obj_19635033f1da14a768.obj(ldconv_mp4atom_cpp_obj_19635033f1da14a768.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_mp4tag_cpp_obj_19635033f1da152080.obj(ldconv_mp4tag_cpp_obj_19635033f1da152080.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_mp4item_cpp_obj_19635033f1da15b108.obj(ldconv_mp4item_cpp_obj_19635033f1da15b108.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_mp4properties_cpp_obj_19635033f1da162a20.obj(ldconv_mp4properties_cpp_obj_19635033f1da162a20.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_mp4coverart_cpp_obj_19635033f1da16a720.obj(ldconv_mp4coverart_cpp_obj_19635033f1da16a720.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_modtag_cpp_obj_19635033f1da181a38.obj(ldconv_modtag_cpp_obj_19635033f1da181a38.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_xmfile_cpp_obj_19635033f1da1b0838.obj(ldconv_xmfile_cpp_obj_19635033f1da1b0838.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_tag_cpp_obj_19635033f1da1c0a08.obj(ldconv_tag_cpp_obj_19635033f1da1c0a08.obj):
> undefined symbol ___sync_sub_and_fetch_4
> file
> C:/var/temp\ldconv_fileref_cpp_obj_19635033f1da1d0020.obj(ldconv_fileref_cpp_obj_19635033f1da1d0020.obj):
> undefined symbol ___sync_sub_and_fetch_4
> make.exe[2]: *** [taglib/tag-1.dll] Error 1
> make.exe[1]: *** [taglib/CMakeFiles/tag.dir/all] Error 2
> make.exe: *** [all] Error 2
>
> Any idea ??
>
> v1.7 worked well
>


More information about the taglib-devel mailing list