[swift-corelibs-dev] Unresolved enumeration symbols

Joseph Bell joe at iachieved.it
Sun Dec 13 11:19:46 CST 2015


Tony, all:

I went back to basics and used the following to build:

./swift/utils/build-script -R --xctest --foundation -t

Unfortunately I get the same result - missing symbols for enumerations in
libFoundation.so.  Once again I'm building against the master branch for
all repositories.

I'm going to build the debug configuration now and see - I would be curious
to know if anyone can reproduce this, I'd be happy to write up a Dockerfile
or something to at least have someone confirm the reproducibility.

Joe


On Sat, Dec 12, 2015 at 10:27 PM, Joseph Bell <joe at iachieved.it> wrote:

> Installing Ubuntu 15.10 on a VM, bringing in all of the prerequisites, I
> get the same result.  The build completes successfully but libFoundation.so
> is not including the enumerations in NSDateFormatter.
>
> public enum NSDateFormatterStyle : UInt {
>     case NoStyle
>     case ShortStyle
>     case MediumStyle
>     case LongStyle
>     case FullStyle
> }
>
> For grins, I searched through libFoundation.so with nm -D looking for
> another enum, say one of the NSNumber format styles:
>
> $ nm -D libFoundation.so |grep CurrencyStyle
> $ nm -D libFoundation.so |grep PercentStyle
>
> No dice, Chicago.
>
> I can't say all enumerations are missing but these definitely are.
>
> I've also posted what I use to prep and build at
> https://github.com/iachievedit/package-swift; hoping there isn't an
> embarrassing oversight.
>
> Joe
>
>
> On Sat, Dec 12, 2015 at 8:00 PM, Joseph Bell <joe at iachieved.it> wrote:
>
>> Information about the system I'm building with, will note it doesn't have
>> anything else "special" i.e., no 4.x kernel or non-standard libc.  It is
>> really interesting, everything compiles okay, no errors thrown, etc.  I'm
>> going to try a build on a 15.10 VM as well to see if I can reproduce.
>>
>> uname -a
>> Linux darthvader 3.19.0-39-generic #44~14.04.1-Ubuntu SMP Wed Dec 2
>> 10:00:35 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
>>
>> lsb_release -a
>> No LSB modules are available.
>> Distributor ID: Ubuntu
>> Description: Ubuntu 14.04.3 LTS
>> Release: 14.04
>> Codename: trusty
>>
>> clang --version
>> Ubuntu clang version 3.6.0-2ubuntu1~trusty1 (tags/RELEASE_360/final)
>> (based on LLVM 3.6.0)
>> Target: x86_64-pc-linux-gnu
>> Thread model: posix
>>
>> cat /proc/cpuinfo
>> processor       : 0
>> vendor_id       : AuthenticAMD
>> cpu family      : 21
>> model           : 1
>> model name      : AMD FX(tm)-8120 Eight-Core Processor
>> stepping        : 2
>> microcode       : 0x6000626
>> cpu MHz         : 1400.000
>> cache size      : 2048 KB
>> physical id     : 0
>> siblings        : 8
>> core id         : 0
>> cpu cores       : 4
>> apicid          : 16
>> initial apicid  : 0
>> fpu             : yes
>> fpu_exception   : yes
>> cpuid level     : 13
>> wp              : yes
>> flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
>> mca cmov pat pse3
>> 6 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp
>> lm constant_tsc
>>  rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor
>> ssse3 cx16 sse4_
>> 1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy
>> abm sse4a misali
>> gnsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext
>> perfctr_core per
>> fctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale
>> vmcb_clean flushbyasid
>> decodeassists pausefilter pfthreshold vmmcall
>> bugs            : fxsave_leak
>> bogomips        : 6228.24
>> TLB size        : 1536 4K pages
>> clflush size    : 64
>> cache_alignment : 64
>> address sizes   : 48 bits physical, 48 bits virtual
>> power management: ts ttp tm 100mhzsteps hwpstate cpb
>>
>>
>>
>> On Sat, Dec 12, 2015 at 7:24 PM, Joe Bell <joe at iachieved.it> wrote:
>>
>>> Tony, yes, I'm building on an Ubuntu 14.04 system.  I can provide any
>>> uname or kernel information if you need.
>>>
>>> Joe
>>>
>>> On Dec 12, 2015, at 7:17 PM, Tony Parker <anthony.parker at apple.com>
>>> wrote:
>>>
>>> Hi Joe,
>>>
>>> I see you used the preset for linux, but I just wanted to double-check
>>> that you are indeed building on Linux.
>>>
>>> - Tony
>>>
>>> On Dec 12, 2015, at 3:48 PM, Joseph Bell via swift-corelibs-dev <
>>> swift-corelibs-dev at swift.org> wrote:
>>>
>>> Howdy.
>>>
>>> I'm using the basic build instructions (checking out swift, llvm, clang,
>>> etc.) and can successfully build a packaged release with
>>>
>>> ./swift/utils/build-script --preset=buildbot_linux_1404
>>> install_destdir=${INSTALL_DIR} i
>>> nstallable_package=${PACKAGE}
>>>
>>> However, the resulting build output for Foundation is missing
>>> enumeration types, and I noticed it in particular in the NSDateFormatter
>>> class:
>>>
>>> ➜  Foundation git:(master) ✗ nm NSDateFormatter.swift.o|grep Medium
>>>
>>>
>>> Of course this results in the symbols not being included in
>>> libFoundation.so
>>> ➜  Foundation git:(master) ✗ nm -D libFoundation.so |grep Medium
>>>
>>> Looking at my build from source I am missing about 200K of symbols that
>>> the SNAPSHOT build is including:
>>>
>>>   Foundation git:(master) ✗ nm -D
>>> /opt/apple/swift-2.2-SNAPSHOT-2015-12-10-a-ubuntu14.04/usr/lib/swift/linux/libFoundation.so|grep
>>> Medium
>>> 000000000034ab40 T
>>> _TFO10Foundation20NSDateFormatterStyle11MediumStyleFMS0_S0_
>>> 00000000003944e0 T _TFO10Foundation21NSFormattingUnitStyle6MediumFMS0_S0_
>>> 000000000034b330 T
>>> _TFO10Foundation28NSDateIntervalFormatterStyle11MediumStyleFMS0_S0_
>>> 00000000003f5820 T
>>> _TFO10Foundation36NSPersonNameComponentsFormatterStyle6MediumFMS0_S0_
>>>
>>> Thanks for any thoughts,
>>> Joe
>>>
>>> PS - I am using the master branch across all repositories.
>>>
>>> _______________________________________________
>>> swift-corelibs-dev mailing list
>>> swift-corelibs-dev at swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20151213/1dea19d2/attachment.html>


More information about the swift-corelibs-dev mailing list