[swift-corelibs-dev] Unresolved enumeration symbols

Joseph Bell joe at iachieved.it
Sat Dec 12 22:27:44 CST 2015


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/20151212/fc88b055/attachment.html>


More information about the swift-corelibs-dev mailing list