build failed on network drive


(Joseph) #1

Hi there ,

I am recently trying to learn swift and failed on building a package . Just
wondering if there is any solution to this issue ?

basically I am trying to learn swift in win7 using docker with following
setup and steps:

1) physical machine running on win7

2) docker toolbox 1.12.5 window version installed in win7

3) open "Docker Quickstart Terminal" which is a MINGW64 console

4) in MINGW64 console,ran "docker pull swift" to pull a docker swift image

5) create container using "*docker run -it --hostname=value
--privileged=true --net=host -v //d/dev/tools/docker/swift://swift:z --name
swiftfun 24cc712c0763 /bin/bash*", which actually the volume mapping does
not work. I can not create file in folder of my win7 host

after pulling the code from git(git clone https://github.com
/PerfectlySoft/PerfectTemplate.git) and ran the "swift build" there is a
file build.db created in my win7 folder
D:\dev\tools\docker\swift\PerfectTemplate\.build\build.db

and the file size remains 0 byte . the problem is here , SQLite does not
tolerate network drive and it seems swift is trying to build with some sort
of concurrent processes

following is verbose info from building:

/usr/bin/swiftc --driver-mode=swift -I /usr/lib/swift/pm -L
/usr/lib/swift/pm -lPackageDescription
/swift/PerfectTemplate/Packages/PerfectThread-2.0.9/Package.s
wift -fileno 4/usr/bin/swift-build-tool -f
/swift/PerfectTemplate/.build/debug.yaml -v<unknown>:0: error: unable
to attach DB: unable to initialize database (database
is locked)
error: exit(1): /usr/bin/swift-build-tool -f
/swift/PerfectTemplate/.build/debug.yaml -v

if I use linux local folder for building code then everything is working
fine .the size of build.db changes .

so I checked the tool "/usr/bin/swift-build-tool" and it seems there are
two options : no-db and serial which I am not sure how to utilize and pass
those parameter from "swift build" to "/usr/bin/swift-build-tool" . Where
should I look into and how to resolve ?

Thanks

Joe