[OpenIndiana-discuss] Compiling Mosh for OI 151
Jonathan Adams
t12nslookup at gmail.com
Tue May 1 16:27:13 UTC 2012
./src/statesync/completeterminal.cc and ./src/network/transportsender.cc
#ifndef INT_MAX
#define INT_MAX 2147483647 /* max value of an "int" */
#endif
./src/util/fatal_assert.h and ./src/util/dos_assert.h
#ifndef __STRING
#define __STRING(x) #x
#endif
./src/network/network.h and ./src/network/network.cc have a problem
with "s_addr" in the arguments to "try_bind"
static bool try_bind( int socket, uint32_t my_s_addr, int port );
./src/frontend/stmclient.cc has "cfmakeraw" which has no direct
solaris equivalent ... I commented it out and hoped for the best.
I compiled with: ./configure --prefix=/opt/tools CFLAGS=-m64
CXXFLAGS=-m64 LDFLAGS="-R/usr/gnu/lib/amd64 -L/usr/gnu/lib/amd64"
LIBS="-lsocket -lnsl"
it's compiled the client, but not the server ... completely untested
... might look later.
Jon
On 1 May 2012 14:26, Bryan N Iotti <ironsides.medvet at gmail.com> wrote:
> I also tried to compile it, but couldn't get it to succeed...
>
> I had to compile protobuf and ncurses first, then symlink libncursestw.so to
> libncurses.so otherwise it wouldn't find it, then it appeared to work away
> for a while, only to crash miserably on a missing "," or "." in network.h.
> Undeclared __STRING was the last error.
>
> I'll look into it again in a couple of days, might be an easy fix.
>
> Bryan
>
>
> On 05/ 1/12 11:24 AM, Sriram Narayanan wrote:
>>
>> You'll also need to get protocol-buffers to work.
>>
>> -- Sriram
>> Belenix: www.belenix.org
>>
>> On Tue, May 1, 2012 at 2:50 PM, Bryan N Iotti
>> <ironsides.medvet at gmail.com> wrote:
>>>
>>> Also, you might want to use the version of GCC that you find on SFE.
>>>
>>> The OI one in /usr/bin/gcc is version 3.4.3, while the one in SFE is
>>> 4.6.2.
>>> I have had better luck compiling with the latter as opposed to the
>>> former.
>>>
>>> When you have multiple compilers installed, you can set the one you want
>>> to
>>> use for the project by providing the CC flag to the configure script or
>>> as
>>> an environment variable:
>>>
>>> ./configure CC="/usr/gcc/4.6/bin/gcc" will set you up to use the SFE
>>> version
>>> of gcc
>>>
>>> Otherwise, go to the Oracle website and download the Solaris Studio
>>> compiler
>>> tarfile. It works well, but some software won't compile cleanly on it
>>> since
>>> the source code uses "gcc-isms". When it works it's a painless process.
>>> Also, the license states that it can be used for free for both personal
>>> and
>>> commercial uses. It also ships with its own IDE, a version of NetBeans.
>>>
>>> ./configure CC="/opt/solarisstudio12.3/bin/cc" will set you up with the
>>> Oracle compiler.
>>>
>>> Again, I hope this helps.
>>>
>>> Bryan
>>>
>>> On 05/ 1/12 01:24 AM, James C. McPherson wrote:
>>>>
>>>> On 1/05/12 09:08 AM, Robbie Crash wrote:
>>>>>
>>>>> Honestly, I think including this, I'm still on single digits with what
>>>>> I've
>>>>> had to compile from source, and definitely the only thing that I've
>>>>> ever
>>>>> had to figure out, so you not being a professional is still leaps and
>>>>> bounds ahead of me.
>>>>>
>>>>> I'm using gcc installed via "pkg install gcc", which I assume means I'm
>>>>> getting it from OI.
>>>>>
>>>>> I set the two variables as you recommended, with my paths, (export
>>>>>
>>>>>
>>>>> PKG_CONFIG_PATH="/usr/lib/amd64/pkgconfig/:/usr/lib/pkgconfig/:/usr/share/p
>>>>> kgconfig/" and export
>>>>> LD_LIBRARY_PATH="/usr/lib/:/usr/lib/:/usr/lib/amd64/") and still
>>>>> receive
>>>>> the same error.
>>>>
>>>>
>>>> ... more below
>>>>
>>>>>>> No package 'ncurses' found
>>>>>>>
>>>>>>> I have no idea what TINFO is, but from googling around, I find it has
>>>>>>> something to do with ncurses as an independent provider for something
>>>>>>
>>>>>> (I'm
>>>>>>>
>>>>>>> terribly helpful, I know). I know ncurses is installed and that other
>>>>>>> programs that are dependent on it work, and there are libs in
>>>>>>
>>>>>> /usr/gnu/lib
>>>>>>>
>>>>>>> and /usr/gnu/lib/amd64.
>>>>
>>>>
>>>> ...
>>>>
>>>>>>> But setting either doesn't fix anything. However, this is the first
>>>>>>> time
>>>>>>> I've run into issues with a configure script not working, so this is
>>>>>>> probably me not actually doing things properly. Specifying my libdir
>>>>>>> to
>>>>>>> either /usr/gnu/lib or /usr/gnu/lib/amd64 doesn't help either.
>>>>>>>
>>>>>>> Does anyone have any ideas for where to go from here?
>>>>
>>>>
>>>> You need to verify that the ncurses package is correctly installed,
>>>> and then when running mosh's configure script, ensure that you have
>>>> /usr/gnu/lib (assuming that's where your ncurses libs are) in your
>>>> CFLAGS/CXXFLAGS via something like this:
>>>>
>>>> CFLAGS="-L/usr/gnu/lib" CXXFLAGS="-L/usr/gnu/lib" ; export CFLAGS
>>>> CXXFLAGS
>>>>
>>>> It's preferable to get gcc to use an rpath rather than forcing
>>>> LD_LIBRARY_PATH to include /usr/gnu/lib, but if that's what it
>>>> takes, that's what it takes.
>>>>
>>>>
>>>> James C. McPherson
>>>> --
>>>> Solaris kernel software engineer, system admin and troubleshooter
>>>> http://www.jmcp.homeunix.com/blog
>>>> Find me on LinkedIn @ http://www.linkedin.com/in/jamescmcpherson
>>>>
>>>>
>>>> _______________________________________________
>>>> OpenIndiana-discuss mailing list
>>>> OpenIndiana-discuss at openindiana.org
>>>> http://openindiana.org/mailman/listinfo/openindiana-discuss
>>>
>>>
>>>
>>> _______________________________________________
>>> OpenIndiana-discuss mailing list
>>> OpenIndiana-discuss at openindiana.org
>>> http://openindiana.org/mailman/listinfo/openindiana-discuss
>>
>> _______________________________________________
>> OpenIndiana-discuss mailing list
>> OpenIndiana-discuss at openindiana.org
>> http://openindiana.org/mailman/listinfo/openindiana-discuss
>
>
>
> _______________________________________________
> OpenIndiana-discuss mailing list
> OpenIndiana-discuss at openindiana.org
> http://openindiana.org/mailman/listinfo/openindiana-discuss
More information about the OpenIndiana-discuss
mailing list