On Dec 13, 2015, at 9:19 AM, Joseph Bell <joe@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@iachieved.it <mailto:joe@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 GitHub - iachievedit/package-swift: Set of scripts for building and packaging Swift on Ubuntu Linux; hoping there isn't an embarrassing oversight.
Joe
On Sat, Dec 12, 2015 at 8:00 PM, Joseph Bell <joe@iachieved.it <mailto:joe@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@iachieved.it <mailto:joe@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@apple.com <mailto:anthony.parker@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@swift.org <mailto:swift-corelibs-dev@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@swift.org <mailto:swift-corelibs-dev@swift.org>
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev