Opened 4 years ago

Closed 4 years ago

#1558 closed defect (invalid)

Re: [SGE-bugs] darcs patch: aimk changes needed for cygwin compile

Reported by: dlove Owned by:
Priority: normal Milestone:
Component: sge Version: 8.1.8
Severity: minor Keywords:
Cc:

Description

Thanks for the patch, but can you tell me how the build fails without
it? It wasn't necessary when I last built with Cygwin, so I assume it's
a recent change and wonder if it will fail with older Cygwin.

In case you're interested in Cygwin support more generally, I have
changes to build the "native" MS Windows components, but that fails
because there are a few functions missing that came from the obsolete
SUA library. I can make those changes available if you or anyone else
wants to work on that; I'm not sure why I didn't push them to the repo.
I also had problems running execd under Cygwin, but never seriously
tried to debug it.

Change History (3)

comment:1 Changed 4 years ago by marco.schmidt@…

I am not a real expert in cygwin, but since some years I got experience in compiling all kinds of code on all kinds of Unix OS. :-)
For a test, I just tried to get it running and usually I try to give back the experience I make.

To every change I made, I added a comment, to describe why I did it.

There where two main things.

  1. libtirpc: this library seems to be needed for RPC and is not in the common include path. Maybe you use another library for RPC?
  1. -shared: in revision 4725 you removed the "-shared" together with the "RUNPATH" things. But in Cygwin you can not link a "dll" without the "-shared" option. Otherwise it will complain that the "main" function is missing. But if "-spool-classic" is set, no dll is generated and the error does not come up.

At the end, I even got "qmon" compiled.

execd runs good under cygwin. Together with cygrunsrv I managed to create a service and run it as service.
I found in the code, that "SGE_ND" has to be set, otherwise execd forks and cygrunsrv stops.
I could put this info in the "README.BUILD" (or any other) and send it with darcs, if you like.

Another thing I have nearly done is the "inst_sge" for cygwin.

I thought about getting "setuid" part (adminrun) in SGE adapted for cygwin, but in my environment I don't really need it. This lowers the priority :-)
https://cygwin.com/cygwin-ug-net/ntsec.html

Grüsse ...

Marco

On 23.09.2015 17:55, Dave Love wrote:

Thanks for the patch, but can you tell me how the build fails without
it? It wasn't necessary when I last built with Cygwin, so I assume it's
a recent change and wonder if it will fail with older Cygwin.

In case you're interested in Cygwin support more generally, I have
changes to build the "native" MS Windows components, but that fails
because there are a few functions missing that came from the obsolete
SUA library. I can make those changes available if you or anyone else
wants to work on that; I'm not sure why I didn't push them to the repo.
I also had problems running execd under Cygwin, but never seriously
tried to debug it.

--
marco.schmidt@…

comment:2 Changed 4 years ago by dlove

Marco Schmidt <marco.schmidt@…> writes:

I am not a real expert in cygwin, but since some years I got
experience in compiling all kinds of code on all kinds of Unix OS. :-)
For a test, I just tried to get it running and usually I try to give
back the experience I make.

Yes, thanks. I didn't mean to be ungrateful!

To every change I made, I added a comment, to describe why I did it.

There where two main things.

  1. libtirpc: this library seems to be needed for RPC and is not in the

common include path. Maybe you use another library for RPC?

That's what was mainly puzzling me, since I didn't need it (but I
changed something xdr-related for the attempt at a native build). I
guess I should look at it again.

  1. -shared: in revision 4725 you removed the "-shared" together with

the "RUNPATH" things. But in Cygwin you can not link a "dll" without
the "-shared" option. Otherwise it will complain that the "main"
function is missing. But if "-spool-classic" is set, no dll is
generated and the error does not come up.

I actually had problems with that change, at least with upgrades, and
maybe it's not worthwhile.

If it works with a recent cygwin, I should just add it anyhow.

At the end, I even got "qmon" compiled.

execd runs good under cygwin. Together with cygrunsrv I managed to
create a service and run it as service.
I found in the code, that "SGE_ND" has to be set, otherwise execd
forks and cygrunsrv stops.

That's good to know. I think it needs cygwin for MS Windows support
now.

I could put this info in the "README.BUILD" (or any other) and send it
with darcs, if you like.

It's probably not worth sending a patch. I'll edit that.

Another thing I have nearly done is the "inst_sge" for cygwin.

I thought about getting "setuid" part (adminrun) in SGE adapted for
cygwin, but in my environment I don't really need it. This lowers the
priority :-)
https://cygwin.com/cygwin-ug-net/ntsec.html

Please send anything else useful that you do. (Patches can be generated
any way that's convenient, though darcs is tasteful.)

Grüsse ...

Marco

Grüsse, danke.

comment:3 Changed 4 years ago by dlove

  • Resolution set to invalid
  • Status changed from new to closed

Should have been on #1557

Note: See TracTickets for help on using tickets.