Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 155 of 807  Not logged in ELOG logo
    icon2.gif   Re: compiling elog 2.6.1 on solaris platform, posted by Stefan Ritt on Fri Feb 10 13:58:17 2006 

Steve Jones wrote:
Stefan, I found the following "forkpty()" replacement for running under Solaris.


Ok, I put your code into the current SVN revision (1656). Unfortunately I cannot try it due to the lack of a Sun. Maybe you can try and tell me if it's working.

- Stefan
    icon2.gif   Re: Posting without logging in!, posted by Dimitrios Tsirigkas on Fri Feb 10 16:16:11 2006 

Stefan Ritt wrote:

Yes indeed. I fixed that in SVN revision 1655. I upgraded this server so you can try again if it works.


Just tried it, it's fixed Smile
Dimitris
    icon2.gif   Re: compiling elog 2.6.1 on solaris platform, posted by Steve Jones on Fri Feb 10 17:22:36 2006 

Stefan Ritt wrote:

Steve Jones wrote:
Stefan, I found the following "forkpty()" replacement for running under Solaris.


Ok, I put your code into the current SVN revision (1656). Unfortunately I cannot try it due to the lack of a Sun. Maybe you can try and tell me if it's working.

- Stefan



Steve Jones wrote:

Actually, what I will be delivering is a new Makefile with conditional compile statements plus the C code module since the example that I provided need some cleaning. Since I don't have a Linux system on which to test the conditional compile completely I would need you to do that. Sound ok?
    icon2.gif   Re: compiling elog 2.6.1 on solaris platform, posted by Stefan Ritt on Fri Feb 10 17:29:03 2006 

Steve Jones wrote:
Actually, what I will be delivering is a new Makefile with conditional compile statements plus the C code module since the example that I provided need some cleaning. Since I don't have a Linux system on which to test the conditional compile completely I would need you to do that. Sound ok?


Sure. I put already the conditional compiling into the current Makefile, so just try it. I tested the Linux part, which is ok. If you could test the Solaris part, that would be great.
    icon2.gif   Re: compiling elog 2.6.1 on solaris platform, posted by Steve Jones on Fri Feb 10 20:24:56 2006 

Stefan Ritt wrote:

Steve Jones wrote:
Actually, what I will be delivering is a new Makefile with conditional compile statements plus the C code module since the example that I provided need some cleaning. Since I don't have a Linux system on which to test the conditional compile completely I would need you to do that. Sound ok?


Sure. I put already the conditional compiling into the current Makefile, so just try it. I tested the Linux part, which is ok. If you could test the Solaris part, that would be great.


Ok, I see what you did. I took a different route since I was not sure how the gnu linker would handle the fact that there would be two declarations of the forkpty() function when compiled and linked under Linux. Instead, I created a separate forkpty.c module and compiled it separately. Then, if "solaris", link it in. Otherwise, use library "util" which already has forkpty().

So, since it seems to work under Linux, any idea which function is being used?
    icon2.gif   Re: compiling elog 2.6.1 on solaris platform, posted by Stefan Ritt on Fri Feb 10 20:29:12 2006 

Steve Jones wrote:
Ok, I see what you did. I took a different route since I was not sure how the gnu linker would handle the fact that there would be two declarations of the forkpty() function when compiled and linked under Linux. Instead, I created a separate forkpty.c module and compiled it separately. Then, if "solaris", link it in. Otherwise, use library "util" which already has forkpty().

So, since it seems to work under Linux, any idea which function is being used?


No, there are no two forkpty() function, due to the
#ifdef OS_SOLARIS

  forkpty(...)
  {
    ...
  }

#endif

conditional compiling. So if I compile under Linux, the variable OS_SOLARIS is not defined, and therefore the special forkpty does not get compiled. Instead the one from the library is taken, since under Linux I use the -libutil switch. Under Solaris, there is no -libutil, but the OS_SOLARIS gets set, and therefore we have the code right inside elogd.c
    icon2.gif   Re: email problems, posted by Stefan Ritt on Fri Feb 10 21:50:27 2006 

Chris Warner wrote:
Do you have an ise when that will be?


In about a week from now.
    icon2.gif   Re: compiling elog 2.6.1 on solaris platform, posted by Steve Jones on Fri Feb 10 21:52:35 2006 

Stefan Ritt wrote:

Steve Jones wrote:
Ok, I see what you did. I took a different route since I was not sure how the gnu linker would handle the fact that there would be two declarations of the forkpty() function when compiled and linked under Linux. Instead, I created a separate forkpty.c module and compiled it separately. Then, if "solaris", link it in. Otherwise, use library "util" which already has forkpty().

So, since it seems to work under Linux, any idea which function is being used?


No, there are no two forkpty() function, due to the
#ifdef OS_SOLARIS

  forkpty(...)
  {
    ...
  }

#endif

conditional compiling. So if I compile under Linux, the variable OS_SOLARIS is not defined, and therefore the special forkpty does not get compiled. Instead the one from the library is taken, since under Linux I use the -libutil switch. Under Solaris, there is no -libutil, but the OS_SOLARIS gets set, and therefore we have the code right inside elogd.c


Steve Jones wrote:

Got it. Much easier than how I was going about it.

ELOG V3.1.5-3fb85fa6