From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb31.google.com (mail-yb1-xb31.google.com [IPv6:2607:f8b0:4864:20::b31]) by sourceware.org (Postfix) with ESMTPS id F3DAD385AC08 for ; Thu, 17 Feb 2022 15:50:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F3DAD385AC08 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-yb1-xb31.google.com with SMTP id c6so13958343ybk.3 for ; Thu, 17 Feb 2022 07:50:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=TGAGeht7vYEXTxWP/L8/frDBNMKYsTt3n9GHWiHIh/g=; b=JmjSQ+VYn2XKrQbypsU1fCV8oAo999IKlYQI3UVHw+a+MxGW1OaUCxpA66L/dQC/HT it95yA852HoJCIJSlURAA15SUKnzYpSpo+0nEx3HSqpDtwEeoSqm0gBmZwJJppYpMOz5 8jLkErnF1m5ChYNWdNXVctTPA2FSI7dHPA2B301XIDmziFd5uJ51lSkmt+4ubx0EApvs pXalj9uP0UtiI22j3f5nsLCxlUCBMJTSTkcfsBIk2+Ob8FlQz+ALOO4pQNUpKm3IFz8F 7xgxppEP8Wu7EQuMqIQaZmOqG1Yi9F2mqPQ4hF8yyd2CWjmkDTyJiW72xQ8fQHPveu4/ G91g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TGAGeht7vYEXTxWP/L8/frDBNMKYsTt3n9GHWiHIh/g=; b=IG6AbGWWS/TVRqMwo7PBlvl7Se5ciOIcPNShyhG91yRBuwFFIkWaIzrwjioL3RWO4O OG9Qj/UKww4xeVibHUb+jQeF/JhhJSKMSpBUta+ZYSxycBlNao5PnC2vHkvohwhR4sWJ MM0+8sx+3VnCzV0rpuvU+7s3UKUTGVRey+4NR0Ivh6RtX0hoY1r5PVE5JpStCpMfqFAU OWGVP0vdc6b+XrIxHhh2ruw5wA0mPmqtHBW5ebXieId30JW6rrhqKf5IMftQjUZCvznT HgTEA7m3j5Mjo3p2PWAxKyUppSMOoCA+qimj5vNUPfn6Ko/cYIBEF/tlpFw7Hu1V2Wrj 4COw== X-Gm-Message-State: AOAM531HuJVlV2woACSPavE03jHddU2jgWQD97GmeVRkUa4IqT1juOMe Dg+7P2LmiyrdyOFPptb5HIjUnPusJLq8nW7Blf2bqwGbqSI= X-Google-Smtp-Source: ABdhPJyhQvqRRb1Zg0ZVbcuUpkPVKrlMRRZip76FE6aWO4vqFUHD7XgC0P5Puu4GEZSj+65S3/hi6KZF6DadkFzFomo= X-Received: by 2002:a25:adce:0:b0:624:408a:204c with SMTP id d14-20020a25adce000000b00624408a204cmr98448ybe.523.1645113056517; Thu, 17 Feb 2022 07:50:56 -0800 (PST) MIME-Version: 1.0 References: <5ed0c35c-c879-7c11-0583-4f357652da58@dronecode.org.uk> In-Reply-To: <5ed0c35c-c879-7c11-0583-4f357652da58@dronecode.org.uk> From: Scott Wood Date: Thu, 17 Feb 2022 10:50:45 -0500 Message-ID: Subject: Re: Trouble trying to compile apache2 To: Jon Turney Cc: The Cygwin Mailing List X-Spam-Status: No, score=1.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, HTML_MESSAGE, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, WEIRD_PORT autolearn=no autolearn_force=no version=3.4.4 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: cygwin@cygwin.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: , X-List-Received-Date: Thu, 17 Feb 2022 15:50:59 -0000 I get that error using the dist (cygwin) copy. It's the reason i tried compiling from scratch in the first place as I couldn't find anything other then very techie explanations of running sysv memory configuration tools on unix (read: non-cygwin) systems to fix Mutex allocation errors. I finally found a post last night that gave alternate suggestions to set the apache2 Mutex to posixsem, but even the poster of that change asked (and wasn't answered) if it was correct. (I found other posts suggested pthread was how cygwin handled mutex, but found no options to enable pthread in apache2) SW On Thu, Feb 17, 2022 at 10:35 AM Jon Turney wrote: > On 14/02/2022 22:25, Scott Wood wrote: > > I'm trying to compile a current version of apache2 httpd under the > cygwin64 > > environment. There is an older version of apache2 compiled in cygwin but > > it's orphaned and didn't include some of the ssl libs I needed. > > > > When I try to compile it's failing when trying to compile the > > mod_cache_disk module: > > > > --------- modules/cache make results start --------- > [...] > > /usr/share/apr/build-1/libtool --silent --mode=link gcc -L/usr/lib > > -no-undefined -shrext .so -Wl,/usr/src/httpd-2.4.52/libhttpd.dll.a > > -L/usr/lib -R/usr/lib -laprutil-1 -ldb-5.3 -lgdbm -lexpat -liconv > > -L/usr/lib -R/usr/lib -lapr-1 -luuid -lcrypt -lpthread -o > mod_cache_disk.la > > -rpath /usr/local/apache2/modules -module -avoid-version > mod_cache_disk.lo > > /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: > > .libs/mod_cache_disk.o:mod_cache_disk:(.text+0x47): undefined reference > to > > `ap_cache_generate_name' > > /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: > > .libs/mod_cache_disk.o:mod_cache_disk:(.text+0x12d): undefined reference > to > > `ap_cache_generate_name' > > /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: > > .libs/mod_cache_disk.o:mod_cache_disk:(.text+0x3f32): undefined reference > > to `ap_cache_cacheable_headers_out' > > /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: > > .libs/mod_cache_disk.o:mod_cache_disk:(.text+0x3f59): undefined reference > > to `ap_cache_cacheable_headers_in' > > collect2: error: ld returned 1 exit status > > make[4]: *** [/usr/src/httpd-2.4.52/modules/cache/modules.mk:6: > > mod_cache_disk.la] Error 1 > > make[4]: Leaving directory '/usr/src/httpd-2.4.52/modules/cache' > > make[3]: *** [/usr/src/httpd-2.4.52/build/rules.mk:117: > > shared-build-recursive] Error 1 > > make[3]: Leaving directory '/usr/src/httpd-2.4.52/modules/cache' > > make[2]: *** [/usr/src/httpd-2.4.52/build/rules.mk:117: > > shared-build-recursive] Error 1 > > make[2]: Leaving directory '/usr/src/httpd-2.4.52/modules' > > make[1]: *** [/usr/src/httpd-2.4.52/build/rules.mk:117: > > shared-build-recursive] Error 1 > > make[1]: Leaving directory '/usr/src/httpd-2.4.52' > > make: *** [/usr/src/httpd-2.4.52/build/rules.mk:75: all-recursive] > Error 1 > > --------- modules/cache make results end --------- > > > > > > Digging up the old version in the cygwin ports, I found the patch files, > > but trying to manually apply a patch to the modules/cache/config.m4 > didn't > > seem to fix the problem. It appears the patch is saying that the symbols > > I'm getting the errors upon exist in the 'main cache module' and thus > it's > > changing a value of 'cache_disk_objs' in the m4 file to include mod_cache > > symbols when compiling/linking mod_disk_cache (but as you can see above, > > there appears to be no mention of mod_cache.* anything in the gcc or > linker > > calls for mod_disk_cache) > > > > patched lines from modules/cache/config.m4 is primarily adding cygwin to > > the OS/2 rule: > > > > ------- relevant patched lines from modules/cache/config.m4 start ------- > > cache_disk_objs="mod_cache_disk.lo" > > cache_socache_objs="mod_cache_socache.lo" > > > > case "$host" in > > *os2*|*cygwin*) > > # OS/2 DLLs must resolve all symbols at build time > > # and we need some from main cache module > > cache_disk_objs="$cache_disk_objs mod_cache.la" > > cache_socache_objs="$cache_socache_objs mod_cache.la" > > ;; > > esac > > > > APACHE_MODULE(cache, dynamic file caching. At least one storage > management > > module (e.g. mod_cache_disk) is also necessary., $cache_objs, , most) > > APACHE_MODULE(cache_disk, disk caching module, $cache_disk_objs, , most, > , > > cache) > > APACHE_MODULE(cache_socache, shared object caching module, > > $cache_socache_objs, , most) > > ------- relevant patched lines from modules/cache/config.m4 end ------- > > > > My C/make is rusty and I'm not sure the syntax to get it to properly pick > > up the symbols. > > > > Can anyone help me figure out how to get this thing to compile? The patch > > included similar includes in other module directories so I probably have > to > > apply similar fixes elsewhere. > > Just applying the patch to the .m4 file is probably not sufficient. > You'll need to run autoreconf (to regenerate the configury), then run > the ./configure script, for that change to actually appear in the > generated Makefile. > > >