From: Jeff Mickey <j@codemac.net>
To: "Ludovic Courtès" <ludo@gnu.org>,
"Efraim Flashner" <efraim@flashner.co.il>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 0/3] WIP: Go-lang
Date: Thu, 14 Jan 2016 11:14:50 -0800 [thread overview]
Message-ID: <87egdk9dn9.fsf@codemac.net> (raw)
In-Reply-To: <87y4bsp5a2.fsf@gnu.org>
* Ludovic Courtès <ludo@gnu.org> [2016-01-14 07:08]:
> Efraim Flashner <efraim@flashner.co.il> skribis:
>
>> It seems there's a lot of interest around getting Go packaged in Guix, so I
>> figured I should post my work so far to the mailinglist. Currently go-1.4
>> does not have cgo enabled, the go binary keeps on trying to link against
>> libgcc_s.so.1 (from gcc:lib) and can't find it in the RUNPATH.
>
> In GCC, we have a hack that automatically adds gcc:lib to the RUNPATH
> (look for “libgcc_s” in gcc.scm.) I guess we need to do something
> similar here.
Aha - ok, I've had the same problem! I've tried injecting it many ways
and it doesn't work due to the intersection of libgcc_s and glibc.
Efraim - can you successfully run programs that link against glibc? As
in anything that uses os/user, net, etc? Running the tests as part of
your build is a big way to pick up on this, I've added the following to
my go-1.4.3 attempts in my build steps:
;; these all have specific file locations they look for
;; or in the case of exec_test resets the environment
;; before executing binaries they expect.
(for-each delete-file '("src/net/multicast_test.go"
"src/net/parse_test.go"
"src/net/port_test.go"
"src/os/exec/exec_test.go"))
(substitute* "src/os/os_test.go"
(("/bin/pwd") (which "pwd"))
(("/usr/bin") (dirname (which "pwd")))
(("TestHostname") "areturn"))
;; Disable the unix socket test
(substitute* "src/net/net_test.go"
(("TestShutdownUnix") "areturn"))
(substitute* "src/net/lookup_unix.go"
(("/etc/protocols") (string-append iana "protocols")))
;; ParseInLocation fails the test
(substitute* "src/time/format_test.go"
(("TestParseInSydney") "areturn"))
(substitute* "src/time/zoneinfo_unix.go"
(("/usr/share/zoneinfo/") tz))
;; exec.Command on os.Args[0] from go run for whatever
;; reason doesn't work right now. libgcc_s.so link
;; missing crap occurs here as well, this may require
;; that 6l-wrapper for go run to work.
(substitute* "src/syscall/syscall_unix_test.go"
(("TestPassFD") "areturn"))
(substitute* "src/cmd/6l/asm.c"
(("char linuxdynld.*$") (string-append "char linuxdynld[] = \"" ld-linux "\";\n")))
I'll be trying this later with your packages.
I'd really hesitate on packaging this without runnning the tests, as
there are lots of ugly corner cases in go's build system.
// codemac
next prev parent reply other threads:[~2016-01-14 19:14 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-12 16:31 [PATCH 0/3] WIP: Go-lang Efraim Flashner
2016-01-12 16:31 ` [PATCH 1/3] gnu: gccgo: Update to 4.9 Efraim Flashner
2016-01-14 15:09 ` Ludovic Courtès
2016-01-12 16:31 ` [PATCH 2/3] gnu: Add go-1.4 Efraim Flashner
2016-01-14 15:12 ` Ludovic Courtès
2016-01-14 21:12 ` Efraim Flashner
2016-01-15 16:14 ` Ludovic Courtès
2016-01-12 16:31 ` [PATCH 3/3] gnu: Add go-1.5 Efraim Flashner
2016-01-12 20:25 ` Ricardo Wurmus
2016-01-13 9:36 ` Efraim Flashner
2016-01-14 15:13 ` Ludovic Courtès
2016-01-14 15:08 ` [PATCH 0/3] WIP: Go-lang Ludovic Courtès
2016-01-14 19:14 ` Jeff Mickey [this message]
2016-01-14 21:40 ` Efraim Flashner
2016-01-14 21:37 ` Leo Famulari
2016-01-14 21:42 ` Efraim Flashner
2016-01-14 19:17 ` Jeff Mickey
2016-01-14 21:37 ` Efraim Flashner
2016-01-14 22:27 ` Jeff Mickey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87egdk9dn9.fsf@codemac.net \
--to=j@codemac.net \
--cc=efraim@flashner.co.il \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.