00:00:10  * paulfryzeljoined
00:04:57  * lloyddequit (Remote host closed the connection)
00:05:06  * ryancnelsonquit (Quit: Leaving.)
00:05:33  * lloyddejoined
00:09:34  * lloyddequit (Ping timeout: 240 seconds)
00:11:33  * fredkquit (Quit: Leaving.)
00:52:46  * ringzeroquit
01:20:00  * ed209quit (Remote host closed the connection)
01:20:08  * ed209joined
01:36:03  * paulfryzelquit (Remote host closed the connection)
01:36:38  * paulfryzeljoined
01:37:01  * seldoquit (Remote host closed the connection)
01:40:38  * paulfryzelquit (Ping timeout: 240 seconds)
01:42:27  * nfitchjoined
01:58:05  * therealkoopajoined
02:01:59  * dap_1quit (Quit: Leaving.)
02:03:39  * therealkoopaquit (Ping timeout: 255 seconds)
02:07:33  * paulfryz_joined
02:18:47  * seldojoined
02:23:17  * seldoquit (Ping timeout: 252 seconds)
02:37:38  * paulfryz_quit (Ping timeout: 240 seconds)
03:40:38  * marsellquit (Quit: marsell)
03:46:37  * lloyddejoined
03:58:25  * therealkoopajoined
04:03:13  * therealkoopaquit (Ping timeout: 240 seconds)
04:20:39  * seldojoined
04:24:38  * seldoquit (Ping timeout: 240 seconds)
04:34:31  * nfitchquit (Quit: Leaving.)
04:35:26  * ringzerojoined
04:55:52  * therealkoopajoined
05:04:54  * therealkoopaquit (Ping timeout: 240 seconds)
05:16:20  * paulfryzeljoined
05:20:18  * paulfryzelquit (Ping timeout: 240 seconds)
05:52:55  * ins0mniajoined
06:01:40  * lloyddequit (Remote host closed the connection)
06:02:06  * lloyddejoined
06:06:55  * lloyddequit (Ping timeout: 265 seconds)
06:17:00  * paulfryzeljoined
06:21:18  * paulfryzelquit (Ping timeout: 240 seconds)
06:32:30  * lloyddejoined
06:34:25  * lloydde_joined
06:34:27  * mamashjoined
06:37:22  * lloyddequit (Ping timeout: 265 seconds)
06:38:49  * lloydde_quit (Ping timeout: 240 seconds)
07:05:58  * ringzeroquit
07:17:45  * paulfryzeljoined
07:21:58  * paulfryzelquit (Ping timeout: 240 seconds)
07:35:11  * lloyddejoined
07:40:12  * lloyddequit (Ping timeout: 265 seconds)
07:55:22  * therealkoopajoined
07:59:38  * therealkoopaquit (Ping timeout: 240 seconds)
08:18:37  * paulfryzeljoined
08:20:37  * seldojoined
08:22:38  * paulfryzelquit (Ping timeout: 240 seconds)
08:25:15  * seldoquit (Ping timeout: 255 seconds)
08:35:55  * lloyddejoined
08:40:37  * lloyddequit (Ping timeout: 265 seconds)
09:15:02  * marselljoined
09:19:20  * paulfryzeljoined
09:23:38  * paulfryzelquit (Ping timeout: 240 seconds)
09:26:11  * bsdguruquit (Quit: bsdguru)
09:36:41  * lloyddejoined
09:41:08  * lloyddequit (Ping timeout: 240 seconds)
09:47:04  * bsdgurujoined
09:58:37  * therealkoopajoined
10:03:21  * therealkoopaquit (Ping timeout: 255 seconds)
10:13:03  * therealkoopajoined
10:14:37  * christianboehlkequit (Ping timeout: 246 seconds)
10:16:13  * christianboehlkejoined
10:17:18  * therealkoopaquit (Ping timeout: 240 seconds)
10:26:13  * therealkoopajoined
10:30:34  * therealkoopaquit (Ping timeout: 240 seconds)
10:37:25  * lloyddejoined
10:42:26  * lloyddequit (Ping timeout: 265 seconds)
10:54:05  * mamashpart
11:10:42  * therealkoopajoined
11:15:09  * therealkoopaquit (Read error: Operation timed out)
11:34:47  * yruss972joined
11:38:11  * lloyddejoined
11:40:40  * therealkoopajoined
11:43:20  * lloyddequit (Ping timeout: 265 seconds)
11:59:29  * yruss972quit (Remote host closed the connection)
12:07:34  * yruss972joined
12:21:48  * paulfryzeljoined
12:25:58  * paulfryzelquit (Ping timeout: 240 seconds)
12:38:57  * lloyddejoined
12:43:45  * lloyddequit (Ping timeout: 265 seconds)
12:58:24  * yruss972quit (Read error: Connection reset by peer)
13:01:16  * mamashjoined
13:16:43  * yruss972joined
13:22:30  * paulfryzeljoined
13:26:38  * paulfryzelquit (Ping timeout: 240 seconds)
13:39:38  * vrmcjoined
13:39:43  * lloyddejoined
13:40:01  * chorrelljoined
13:44:39  * lloyddequit (Ping timeout: 265 seconds)
13:46:07  * yruss972quit (Remote host closed the connection)
13:47:57  * yruss972joined
14:16:51  * pseudojoined
14:18:30  <pseudo>i want to use a binary executable as a map job in manta, but for some reason, it seems like cross compiling it won't work. its a pretty straight forward c program that uses stdlib.h. i simply compiled it -m32 to match the uname on smartOS.
14:19:32  <nahamu>you could use "mlogin" to get a shell in Manta and build it there...
14:19:47  <nahamu>any reason you want it 32bit and not 64bit?
14:19:56  <pseudo>nahamu: yeah, my script builds it on manta at the moment, but i would rather not build during a job
14:20:14  <nahamu>uname is confusing. isainfo will reveal that the system is actually 64bit
14:20:15  <jperkin>store it back and use it as an asset?
14:20:21  <pseudo>and i just compiled as 32 bit to match uname
14:20:27  <nahamu>what jperkin said.
14:20:41  <nahamu>mlogin, build it once, then mput it from inside that session.
14:21:53  <wesolows>just for further clarity: every system in the JPC, including every system in Manta, has a 64-bit CPU and full support for both 32-bit and 64-bit binaries.
14:22:09  <wesolows>You can use either one.
14:22:30  <pseudo>i guess my real question is just why would it not work? i am not doing any crazy linking and they are both ELF 32-bit LSB executable, Intel 80386, version 1 binaries
14:22:46  <wesolows>Contrary to popular GNU/Linux funroll-loops perception, 64 is not twice as good as 32; sometimes it's better, other times worse.
14:23:01  <wesolows>How is it failing?
14:23:41  <pseudo>if i send the binary over it just returns and i get no output, if i compile it on manta and then execute, i get what i expect. same command each time.
14:24:21  <wesolows>Are there any job errors in that case?
14:24:24  <pseudo>nope
14:24:41  <nahamu>what system are you cross compiling from?
14:24:50  <wesolows>I'd suggest that you mlogin into the "bad" uploaded program, and run it. See what it does.
14:24:51  <pseudo>64 bit linux
14:24:58  <wesolows>oh lord. That's never going to work.
14:25:06  <nahamu>bingo
14:25:17  <nahamu>build it in Manta once and upload that one.
14:25:34  <pseudo>i am confused though. what is it that would fail just because i compile on linux?
14:25:36  <wesolows>When you cross-compile (on any system, to any system) you have to have the target's headers and libraries, and you need to use a toolchain appropriate to the target.
14:26:09  <pseudo>they are both amd64 and im not doing any funky linking though
14:26:11  <wesolows>The ordinary cross-compiler build scripts out there all assume that the target uses glibc, and accordingly installs the headers and libraries for glibc.
14:26:35  <pseudo>okay, so it is a glibc thing
14:26:37  <wesolows>We don't use glibc, so building against glibc (even if there were a glibc for SunOS, which I thought that there was not) wouldn't work.
14:26:57  <wesolows>Well, it's a cross-build toolchain and libraries/headers problem... one that would be exceedingly hard to fix, if possible at all.
14:26:58  <pseudo>when you #include <stdlib.h> - does that signal gcc to silently link glibc at runtime then?
14:27:12  <wesolows>No, it's much more complicated than that.
14:27:32  <wesolows>Every C program is linked with '-lc' implicitly, on all platforms.
14:28:07  <wesolows>On GNU/Linux, '-lc' gives you glibc. Likewise, a GNU cross-compilation toolchain will link with '-lc' and pull 'libc.so' from the *target* library directory.
14:28:19  <pseudo>okay, that is what i was missing
14:28:30  <pseudo>ty for the help - it all makes sense now
14:28:33  <wesolows>Unless you installed the SmartOS headers and libraries in that target library directory, you'd get some garbage that can never work.
14:28:46  <wesolows>Even if you did, however, it would still be using the GNU linker, not the SmartOS one, which is not supported.
14:29:02  <wesolows>So bottom line, cross-compilation targeting SmartOS from GNU/Linux is not supported and (currently) can never work.
14:29:29  <wesolows>Solution is as nahamu suggested: mlogin, build, mput, then use that binary.
14:29:51  <pseudo>fair enough. thx again.
14:29:53  <wesolows>I thought it was also possible to provision a manta-compute or manta-marlin (not sure on the name atm) image in the JPC, and use that to build.
14:29:57  <wesolows>np
14:30:05  <nahamu>wesolows: I'm pretty sure it is.
14:30:57  * chorrellchanged nick to chorrell-away
14:38:13  * yruss972quit (Remote host closed the connection)
14:39:49  <nahamu>though you pay for a full hour even if you only need it for a few minutes. I wonder where the break-even point is for using Manta rather than regular compute for sub-1hour jobs is.
14:41:52  * dap_joined
14:42:41  <pseudo>just for my own sanity - since gcc compiles into an elf format, the linker should be fine if you were to cross compile, right? all that would matter is that libc doesn't match up.
14:43:39  <nahamu>for my own curiosity, why do you want to cross compile on a linux machine?
14:43:55  <wesolows>No, the GNU linker is not capable of building correct SmartOS binaries.
14:44:20  <wesolows>In principle it could (as you note, everyone uses ELF) but it doesn't.
14:44:59  <wesolows>In fact, you cannot (in general) use the GNU linker even in a native build and get correct results. Some people try, and sometimes it even seems to work, but it's not right.
14:45:06  <pseudo>wesolows: compiling with gcc doesn't embed a linker into your binary, though - so it would still be using the smartOS linker
14:45:31  <wesolows>pseudo: There are two phases to linking: the build-time "link editing" phase and the runtime linker/loader phase.
14:45:48  <wesolows>The GNU "link-editor" (gld) does not generate correct binaries for SmartOS.
14:45:56  <pseudo>wesolows: OH, so glibc is statically linked into your executables?
14:45:57  * nfitchjoined
14:46:02  <pseudo>ewww
14:46:06  <wesolows>In particular, it supports neither DTrace nor CTF, at minimum.
14:46:08  <wesolows>No, it is not.
14:46:16  <wesolows>We do not statically link anything, ever.
14:46:29  <wesolows>In fact, we don't use glibc at all, and we don't even deliver a libc.a.
14:47:09  <wesolows>SmartOS, like GNU/Linux, uses ELF dynamic linking. All the basic concepts are the same, except that static linking (which is supported on GNU/Linux) is not supported on SmartOS.
14:47:35  <wesolows>What I am saying is simply that the build-time link-editing step, which exists on both platforms, does not work correctly with the GNU link-editor on SmartOS.
14:47:59  <wesolows>Link-editing includes consolidation of object files and sections, recording of dependencies, and generation of ELF metadata.
14:48:02  <pseudo>yes, and does the implicit -lc that gcc uses statically link glibc?
14:48:06  <wesolows>It does not imply static linking.
14:48:12  <wesolows>No, it does not.
14:48:30  <wesolows>It records a dependency (DT_NEEDED) on libc.so.1 (not glibc).
14:49:41  <pseudo>okay. thx for taking the time to explain. i just like to know how stuff like this works
14:49:52  <wesolows>No problem; I like for people to know how things work. :)
14:50:12  <wesolows>You can use elfdump(1) to explore how things are linked.
14:50:33  <wesolows>I don't believe there's a GNU equivalent to that problem, but GNU objdump has some similar capabilities.
14:50:37  <wesolows>*program
14:50:48  <pseudo>i think readelf is probably the linux equivilent
14:50:59  <wesolows>That too, I suppose.
14:59:24  * mamashpart
15:04:14  * chorrell-awaychanged nick to chorrell
15:06:22  * vrmcquit (Quit: vrmc)
15:17:02  * vrmcjoined
15:23:45  * ringzerojoined
15:47:07  * notmattjoined
15:50:10  * notmattquit (Remote host closed the connection)
15:50:44  * notmattjoined
15:51:06  * lloyddejoined
15:52:38  * pseudoquit (Ping timeout: 240 seconds)
15:54:45  * fredkjoined
15:55:15  * notmattquit (Ping timeout: 255 seconds)
15:56:29  * bsdguruquit (Quit: bsdguru)
16:02:12  * ringzeroquit
16:02:35  * pseudojoined
16:14:05  * pseudoquit (Quit: leaving)
16:15:18  * ryancnelsonjoined
16:15:22  * chorrellchanged nick to chorrell-away
16:15:35  * mamashjoined
16:16:42  * bsdgurujoined
16:26:00  * paulfryz_joined
16:30:18  * paulfryz_quit (Ping timeout: 240 seconds)
16:30:40  * bsdguruquit (Quit: bsdguru)
16:37:22  * bsdgurujoined
16:39:29  * bsdguruquit (Remote host closed the connection)
16:39:58  * bsdgurujoined
16:43:06  * mamashpart
16:45:06  * seldojoined
16:45:12  * seldoquit (Read error: Connection reset by peer)
16:45:24  * seldojoined
17:00:19  * ringzerojoined
17:08:00  * ringzeroquit
17:23:39  * therealkoopaquit (Remote host closed the connection)
17:24:01  * therealkoopajoined
17:26:55  * paulfryz_joined
17:30:58  * paulfryz_quit (Ping timeout: 240 seconds)
17:30:58  * marsellquit (Ping timeout: 240 seconds)
17:35:48  * notmattjoined
17:36:38  * chorrell-awaychanged nick to chorrell
17:40:08  * notmattquit (Ping timeout: 240 seconds)
17:46:58  * doug_quit (Quit: Ex-Chat)
17:46:59  * marselljoined
17:47:22  * doug_joined
17:49:41  * lloyddequit (Remote host closed the connection)
17:50:15  * lloyddejoined
17:51:18  * lloyddequit (Read error: Connection reset by peer)
17:51:40  * lloyddejoined
17:56:24  * dap_quit (Quit: Leaving.)
17:57:18  * dap_joined
18:01:49  * mcavagejoined
18:03:30  * ringzerojoined
18:06:59  * ringzeroquit (Client Quit)
18:27:40  * paulfryz_joined
18:31:38  * paulfryz_quit (Ping timeout: 240 seconds)
18:54:46  * chorrellchanged nick to chorrell-away
19:07:56  * lloyddequit (Remote host closed the connection)
19:08:31  * lloyddejoined
19:12:49  * lloyddequit (Ping timeout: 240 seconds)
19:23:54  * notmattjoined
19:28:16  * paulfry__joined
19:28:25  * notmattquit (Ping timeout: 240 seconds)
19:32:38  * paulfry__quit (Ping timeout: 240 seconds)
19:34:10  * notmattjoined
19:36:17  * therealkoopaquit (Remote host closed the connection)
19:40:59  * lloyddejoined
19:41:26  * mcavage_joined
19:45:17  * mcavagequit (Ping timeout: 255 seconds)
19:46:03  * bsdguruquit (Quit: bsdguru)
19:46:39  * therealkoopajoined
19:48:27  * therealkoopaquit (Remote host closed the connection)
19:48:42  * therealkoopajoined
19:52:29  * bsdgurujoined
19:59:24  * dap_quit (Quit: Leaving.)
19:59:38  * dap_joined
20:01:57  * lloyddequit (Remote host closed the connection)
20:02:37  * lloyddejoined
20:07:32  * lloyddequit (Ping timeout: 268 seconds)
20:18:01  * lloyddejoined
20:32:38  * ins0mniaquit (Ping timeout: 240 seconds)
20:45:20  * chorrell-awayquit (Quit: My Mac has gone to sleep. ZZZzzz…)
20:52:05  * ringzerojoined
21:01:24  * chorrelljoined
21:14:49  * ringzeroquit
21:16:37  * fredkquit (Quit: Leaving.)
21:17:29  * chorrellchanged nick to chorrell-away
21:23:55  * lloyddequit (Remote host closed the connection)
21:26:58  * lloydde_joined
21:30:00  * paulfryzeljoined
21:33:58  * paulfryzelquit (Ping timeout: 240 seconds)
21:44:59  * notmattquit (Remote host closed the connection)
21:45:32  * notmattjoined
21:50:31  * notmattquit (Ping timeout: 268 seconds)
21:54:30  * therealkoopaquit (Remote host closed the connection)
22:11:51  * chorrell-awaychanged nick to chorrell
22:19:58  * notmattjoined
22:27:32  * therealkoopajoined
22:30:45  * paulfryzeljoined
22:32:48  * vrmcquit (Read error: Connection reset by peer)
22:35:08  * paulfryzelquit (Ping timeout: 240 seconds)
22:38:57  * dap_quit (Quit: Leaving.)
22:39:20  * dap_joined
22:39:21  * dap_quit (Client Quit)
22:46:32  * chorrellchanged nick to chorrell-away
23:10:16  * nfitchquit (Quit: Leaving.)
23:25:33  * lloydde_quit (Remote host closed the connection)
23:31:24  * paulfryzeljoined
23:35:30  * dap_joined
23:35:38  * paulfryzelquit (Ping timeout: 240 seconds)
23:41:03  * notmattquit (Remote host closed the connection)
23:41:37  * notmattjoined
23:45:38  * notmattquit (Ping timeout: 240 seconds)
23:54:16  * ringzerojoined
23:56:35  * lloyddejoined
23:59:46  * ringzeroquit