[swift-corelibs-dev] Unresolved enumeration symbols
Tony Parker
anthony.parker at apple.com
Sun Dec 13 11:42:11 CST 2015
I’m curious why it’s these particular enums are different. If you try to build a sample app that actually uses these enum values, does it fail to link?
- Tony
> On Dec 13, 2015, at 9:19 AM, Joseph Bell <joe at iachieved.it> wrote:
>
> 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 <mailto: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 <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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto:swift-corelibs-dev at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev <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/2b08e2a4/attachment.html>
More information about the swift-corelibs-dev
mailing list