popen() fails while system() works

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Jan 5 12:08:00 GMT 2005

On Jan  5 10:19, Rainer Hochreiter wrote:
> my main program 'mpsvcd.exe' dynamically loads a shared library using
> dlopen(). one of the functions from this shared library calls popen() to
> read the standard output from another executable - and this fails with the
> error messages listed below! using system() instead of popen() to start
> the executable works fine, except that i can't read it's standard output.
> what's the difference between using popen() and system() here?
> under linux popen() works also! 
> any hints?

Did you try to rebase the DLLs?  It looks like an address conflict:
> C:\cygwin\opt\topcall\bin\mpsvcd.exe (1340): *** unable to remap
> C:\cygwin\bin\cygintl-2.dll to same address as parent(0x1CC0000) !=
> 0x1CD0000

See /usr/share/doc/Cygwin/rebase-2.3.README.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          mailto:cygwin@cygwin.com
Red Hat, Inc.

Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

More information about the Cygwin mailing list