Bug 227955 - www/apache24 syntax error in VERSION script
Summary: www/apache24 syntax error in VERSION script
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-apache (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-03 17:19 UTC by Marco Beishuizen
Modified: 2018-05-06 11:23 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Beishuizen 2018-05-03 17:19:06 UTC
Tried updating www/apache24 today, when I got this error:

...
--- mod_sed.la ---
eval: /usr/local/bin/nm: not found
/usr/bin/ld:.libs/mod_sed.so-ver:2: syntax error in VERSION script
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [mod_sed.la] Error code 1

make[6]: stopped in /usr/ports/www/apache24/work/httpd-2.4.33/modules/filters
1 error
...

My uname -a:
FreeBSD yokozuna 11.1-STABLE FreeBSD 11.1-STABLE #0 r328478: Sat Jan 27 22:31:28 CET 2018     root@yokozuna:/usr/obj/usr/src/sys/YOKOZUNA  amd64
Comment 1 Jochen Neumeister freebsd_committer freebsd_triage 2018-05-03 17:22:20 UTC
Hey Marco,

thanks for your Report.

Is your Tree up-to-date?

What say "make showconfig" in /usr/ports/www/apache24 ?
Comment 2 Marco Beishuizen 2018-05-03 17:28:59 UTC
Hi Jochen, yes portstree is up to date. Here's the output of make showconfig:

===> The following configuration options are available for apache24-2.4.33_1:
     ACCESS_COMPAT=on: mod_access compatibility
     ACTIONS=on: Action triggering on requests
     ALIAS=on: Mapping of requests to different filesystem parts
     ALLOWMETHODS=on: Restrict allowed HTTP methods
     ASIS=on: Sends files that contain their own HTTP headers
     AUTHNZ_FCGI=on: FastCGI authorizer-based authentication and authorization
     AUTHNZ_LDAP=off: LDAP based authentication
     AUTHN_ANON=on: Anonymous user authentication control
     AUTHN_CORE=on: Core authentication module
     AUTHN_DBD=on: SQL-based authentication control
     AUTHN_DBM=on: DBM-based authentication control
     AUTHN_FILE=on: File-based authentication control
     AUTHN_SOCACHE=on: Cached authentication control
     AUTHZ_CORE=on: Core authorization provider vector module
     AUTHZ_DBD=on: SQL based authorization and Login/Session support
     AUTHZ_DBM=on: DBM-based authorization control
     AUTHZ_GROUPFILE=on: "require group" authorization control
     AUTHZ_HOST=on: Host-based authorization control
     AUTHZ_OWNER=on: "require file-owner" authorization control
     AUTHZ_USER=on: "require user" authorization control
     AUTH_BASIC=on: Basic authentication
     AUTH_DIGEST=on: RFC2617 Digest authentication
     AUTH_FORM=on: Form authentication
     AUTOINDEX=on: Directory listing
     BROTLI=off: Brotli compression support
     BUFFER=on: Filter Buffering
     CACHE=on: Dynamic file caching
     CACHE_DISK=on: Disk caching module
     CACHE_SOCACHE=on: Shared object cacheing module
     CERN_META=on: CERN-type meta files
     CGI=on: CGI scripts (non-threaded MPMs)
     CGID=on: CGI scripts (threaded MPMs)
     CHARSET_LITE=on: Character set translation. Enabled by default only on EBCDIC systems
     DATA=on: RFC2397 data encoder
     DAV=on: WebDAV protocol handling. --enable-dav also enables mod_dav_fs
     DAV_FS=on: DAV provider for the filesystem. --enable-dav also enables mod_dav_fs
     DAV_LOCK=on: DAV provider for generic locking
     DBD=on: Apache DBD Framework
     DEFLATE=on: Deflate transfer encoding support
     DIALUP=on: Rate limits static files to dialup modem speeds
     DIR=on: Directory request handling
     DUMPIO=on: I/O dump filter
     ENV=on: Clearing/setting of ENV vars
     EXPIRES=on: Expires header control
     EXT_FILTER=on: External filter module
     FILE_CACHE=on: File cache
     FILTER=on: Smart Filtering
     HEADERS=on: HTTP header control
     HEARTBEAT=on: Generates Heartbeats
     HEARTMONITOR=on: Collects Heartbeats
     HTTP2=on: HTTP/2 (RFC 7540) support
     IDENT=off: RFC 1413 ident lookups
     IMAGEMAP=on: Server-side imagemaps
     INCLUDE=on: Server-side includes
     INFO=on: Server information
     IPV4_MAPPED=off: Allow IPv6 sockets to handle IPv4 connections
     LBMETHOD_BYBUSYNESS=on: Apache proxy Load balancing by busyness
     LBMETHOD_BYREQUESTS=on: Apache proxy Load balancing by request counting
     LBMETHOD_BYTRAFFIC=on: Apache proxy Load balancing by traffic counting
     LBMETHOD_HEARTBEAT=on: Apache proxy Load balancing from Heartbeats
     LDAP=off: LDAP caching and connection pooling services
     LOGIO=on: Input and output logging
     LOG_DEBUG=on: Configurable debug logging
     LOG_FORENSIC=on: Forensic logging
     LUA=off: Apache Lua Framework
     LUAJIT=off: LuaJit Support
     MACRO=on: Define and use macros in configuration files
     MD=off: Managing domains across virtual hosts, certificate provisioning via the ACME protocol
     MIME=on: Mapp file-ext. to MIME (recommended)
     MIME_MAGIC=on: Automagically determining MIME type
     NEGOTIATION=on: Content negotiation
     PROXY=on: Build enabled PROXY modules
     RATELIMIT=on: Output Bandwidth Limiting
     REFLECTOR=on: Reflect request through the output filter stack
     REMOTEIP=on: Translate header contents to an apparent client remote_ip
     REQTIMEOUT=on: Limit time waiting for request from client
     REQUEST=on: Request Body Filtering
     REWRITE=on: Rule based URL manipulation
     SED=on: Filter request and/or response bodies through sed
     SESSION=on: Build enabled SESSION modules
     SETENVIF=on: Modify ENV vars based on characteristics of the request
     SLOTMEM_PLAIN=on: Slotmem provider that uses plain memory
     SLOTMEM_SHM=on: Slotmem provider that uses shared memory
     SOCACHE_DBM=on: dbm small object cache provider
     SOCACHE_DC=off: distcache small object cache provider
     SOCACHE_MEMCACHE=on: memcache small object cache provider
     SOCACHE_SHMCB=on: shmcb small object cache provider
     SPELING=on: Correct common URL misspellings
     SSL=on: SSL/TLS support (mod_ssl)
     STATUS=on: Process/thread monitoring
     SUBSTITUTE=on: Response content rewrite-like filtering
     SUEXEC=off: Set uid and gid for spawned processes
     UNIQUE_ID=on: Per-request unique ids
     USERDIR=on: Mapping of requests to user-specific directories
     USERTRACK=on: User-session tracking
     VERSION=on: Determining httpd version in config files
     VHOST_ALIAS=on: Mass virtual hosting
     WATCHDOG=on: Watchdog module
     XML2ENC=on: i18n support for markup filters
====> Build enabled PROXY modules: you have to choose at least one of them
     PROXY_AJP=on: AJP support module for mod_proxy
     PROXY_BALANCER=on: mod_proxy extension for load balancing
     PROXY_CONNECT=on: mod_proxy extension for CONNECT request handling
     PROXY_EXPRESS=on: Dynamic mass reverse proxy extension for mod_proxy
     PROXY_FCGI=on: FastCGI support module for mod_proxy
     PROXY_HTTP2=on: HTTP/2 support module for h2 and h2c
     PROXY_FDPASS=on: fdpass external process support module for mod_proxy
     PROXY_FTP=on: FTP support module for mod_proxy
     PROXY_HCHECK=on: Dynamic health check of Balancer members (workers) for mod_proxy
     PROXY_HTML=on: Fix HTML Links in a Reverse Proxy
     PROXY_HTTP=on: HTTP support module for mod_proxy
     PROXY_SCGI=on: SCGI gateway module for mod_proxy
     PROXY_UWSGI=on: UWSGI gateway module for mod_proxy
     PROXY_WSTUNNEL=on: Websockets Tunnel module for mod_proxy
====> Build enabled SESSION modules: you have to choose at least one of them
     SESSION_COOKIE=on: Session cookie module
     SESSION_CRYPTO=on: Session crypto module
     SESSION_DBD=on: Session dbd module
====> Example and devel modules (do not use in prod)
     BUCKETEER=off: (dev) buckets manipulation filter
     CASE_FILTER=off: (dev) example uppercase conversion filter
     CASE_FILTER_IN=off: (dev) example uppercase conversion input filter
     ECHO=off: (dev) example echo server
     EXAMPLE_HOOKS=off: (dev) example hook callback handler module
     EXAMPLE_IPC=off: (dev) example of shared memory and mutex usage
     OPTIONAL_FN_EXPORT=off: (dev) example optional function exporter
     OPTIONAL_FN_IMPORT=off: (dev) example optional function importer
     OPTIONAL_HOOK_EXPORT=off: (dev) example optional hook exporter
     OPTIONAL_HOOK_IMPORT=off: (dev) example optional hook importer
====> The default MPM module: you have to select exactly one of them
     MPM_PREFORK=on: non-threaded, pre-forking web server
     MPM_WORKER=off: hybrid multi-threaded multi-process web server
     MPM_EVENT=off: MPM worker variant with the goal of consuming threads only for connections with active processing
====> all MPMs as loadable module: you can only select none or one of them
     MPM_SHARED=on: all MPMs as loadable module
===> Use 'make config' to modify these settings
Comment 3 Jochen Neumeister freebsd_committer freebsd_triage 2018-05-03 17:35:55 UTC
Hey Marco,
this looks like standard config. How do you carry out the update?

I just tested it with "make rmconfig" and "make deinstall clean reinstall clean" and it builds without an error.
Comment 4 Marco Beishuizen 2018-05-03 17:40:12 UTC
Tried to update with portupgrade and portmaster as well. I'll try a make deinstall/reinstall and see what happens.
Comment 5 Marco Beishuizen 2018-05-03 17:48:59 UTC
Hmm. Still the same error.
Comment 6 Bernard Spil freebsd_committer freebsd_triage 2018-05-03 18:29:36 UTC
(In reply to Marco Beishuizen from comment #0)
> eval: /usr/local/bin/nm: not found
nm is in /usr/bin on FreeBSD... Let me see if I can replicate this error locally.
Comment 7 Bernard Spil freebsd_committer freebsd_triage 2018-05-03 18:38:48 UTC
Have you set NM somewhere in your environment of make.conf?
Comment 8 Marco Beishuizen 2018-05-03 18:58:48 UTC
No didn't touch something nm related.

Did find the same problem report after some googling: https://groups.google.com/forum/#!topic/bsdmailinglist/aYiewX1AoS8.

Binutils wasn't installed on my system, and installing binutils first is mentioned as a workaround. So did that and now www/apache24 builds and installs fine.
Comment 9 Bernard Spil freebsd_committer freebsd_triage 2018-05-03 19:31:17 UTC
Hi Marco,
This is weird. When I inspect the logs I get from poudriere I see no install of binutils and mod_sed is enabled (e.g. https://brnrd.eu/poudriere/data/111amd64-svn/2018-05-02_20h20m59s/logs/apache24-2.4.33.log) yet the build is OK.

You mention you're building with portmaster. This often saves quite some time but is considered unsuported, you're better off using poudriere.

Cheers, Bernard.
Comment 10 Marco Beishuizen 2018-05-03 19:42:41 UTC
I actually prefer portupgrade but that's not flavor proof yet. Poudriere I use only for testing my maintained ports. Creating my own pkg repository with it is way too much for my old machine.
Comment 11 Marco Beishuizen 2018-05-04 09:24:21 UTC
Shouldn't this PR be still open? The install of the binutils port is actually a workaround. The apache24 build should be looking for the base nm instead of the nm installed by devel/binutils, or devel/binutils should be made a dependency of www/apache24.
Comment 12 Bernard Spil freebsd_committer freebsd_triage 2018-05-06 11:23:44 UTC
Building in an uncontrolled environment leads to unwanted dependencies by ports. You probably need to inspect apr-1-config for what is actually happening.

If you look at /usr/local/share/apr/build-1/libtool you'll see that that's where apr thinks your nm is.