X-Recipient: archive-cygwin AT delorie DOT com X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org AF5E8385803C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=yandex.ru Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=anrdaemon AT yandex DOT ru DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1609880701; bh=fMinO2PHCfb7iZ+YTyWzfu7LdrsghzNXaIiogx4xqIY=; h=In-Reply-To:Subject:To:From:Message-ID:References:Date:Reply-To; b=LCEFbfMhAvKrfImmMmdJRfvNCf+rcWftXK4YxFMwjdz+r3N2L2pSXozOQL/tYIair yJDalEq+jPpA+nb6827Wm32KmjXPXU0K9HOGQigWQ5SjWhsYdjkhg147azVp2jcBH7 RGtVj56Y8NweNdrGVaLXtoz5yN/Z2hYM+SutxzIc= Authentication-Results: myt6-7c53813adcf4.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru Date: Wed, 6 Jan 2021 00:04:52 +0300 From: Andrey Repin X-Mailer: The Bat! (v6.8.8) Home X-Priority: 3 (Normal) Message-ID: <1818960860.20210106000452@yandex.ru> To: Brian Inglis , cygwin AT cygwin DOT com Subject: Re: Is it possible to define the root directory in a cross compiled program In-Reply-To: <9d339f8b-83ff-8b9c-b2fe-1c6fa4b2a92d@SystematicSw.ab.ca> References: <48b833bd-547a-92eb-542e-b7da8e0d601b AT interocitors DOT com> <9d339f8b-83ff-8b9c-b2fe-1c6fa4b2a92d AT SystematicSw DOT ab DOT ca> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, KAM_THEBAT, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: cygwin AT cygwin DOT com Content-Type: text/plain; charset="utf-8" Errors-To: cygwin-bounces AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 105L5Zf6003343 Greetings, Brian Inglis! > On 2021-01-04 18:34, Roger Kaufman wrote: >> When I cross compile the following program, opening /dev/null fails and instead >> the whole install path of /cygwin64/dev/null is visible. >> >> Is there a way to make fopen respect / as the root directory in a cross compiled >> program for windows? >> >> example output... >> >> Roger AT interocitor:~ >> $ x86_64-w64-mingw32-g++ -o writenull.exe write2null.cc >> >> Roger AT interocitor:~ >> $ writenull.exe >> /dev/null did not succeed >> >> Roger AT interocitor:~ >> $ gcc -o writenull write2null.cc >> >> Roger AT interocitor:~ >> $ writenull >> /cygwin64/dev/null did not succeed >> >> C Code that was compiled... >> >> #include >> >> int main(int argc, char **argv) >> { >>   FILE *errfile1 = fopen("/dev/null", "w"); >>   if (!errfile1) // must be a valid pointer >>     errfile1 = stderr; >> >>   FILE *errfile2 = fopen("/cygwin64/dev/null", "w"); >>   if (!errfile2) // must be a valid pointer >>     errfile2 = stderr; >> >>   fprintf(errfile1, "/dev/null did not succeed\n"); >>   fprintf(errfile2, "/cygwin64/dev/null did not succeed\n"); >> >>   return 0; >> } > It's a Windows program - it can do whatever you program it to do! > On Windows the device is NUL, the root is the drive root C:\, %SystemDrive%\ to be precise. Even though it IS C:\ in majority of cases, it is not necessarily true all the time. > and anything else depends on the Windows subsystem. > To do otherwise you have to program it to emulate the Cygwin emulation, > or build it as a Cygwin program using the Cygwin toolchain. -- With best regards, Andrey Repin Wednesday, January 6, 2021 0:03:57 Sorry for my terrible english... -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple