Opened 10 years ago

Closed 9 years ago

Last modified 9 years ago

#41436 closed defect (fixed)

apache fails to build with clang

Reported by: essandess (Steve Smith) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: Ionic (Mihai Moldovan)
Port: apache

Description

:info:build /usr/bin/clang -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 
-bundle -undefined suppress -flat_namespace  -o libproxy.so mod_proxy.lo proxy_cache.lo pr
oxy_connect.lo proxy_ftp.lo proxy_http.lo proxy_util.lo 
:info:build duplicate symbol _ap_os_is_path_absolute in:
:info:build     mod_proxy.lo
:info:build     proxy_cache.lo
:info:build duplicate symbol _ap_os_is_path_absolute in:
:info:build     mod_proxy.lo
:info:build     proxy_connect.lo
:info:build duplicate symbol _ap_os_is_path_absolute in:
:info:build     mod_proxy.lo
:info:build     proxy_ftp.lo
:info:build duplicate symbol _ap_os_is_path_absolute in:
:info:build     mod_proxy.lo
:info:build     proxy_http.lo
:info:build duplicate symbol _ap_os_is_path_absolute in:
:info:build     mod_proxy.lo
:info:build     proxy_util.lo
:info:build ld: 5 duplicate symbols for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation
)
:info:build make[4]: *** [libproxy.so] Error 1

Attachments (1)

main.log (40.6 KB) - added by essandess (Steve Smith) 10 years ago.

Download all attachments as: .zip

Change History (16)

Changed 10 years ago by essandess (Steve Smith)

Attachment: main.log added

comment:1 Changed 10 years ago by mf2k (Frank Schima)

Cc: ryandesign@… openmaintainer@… removed
Owner: changed from macports-tickets@… to ryandesign@…

It is not useful to Cc openmaintainer@….

comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: mavericks added

Do you really need to build Apache version 1? Apache version 2, in the apache2 port, builds fine on Mavericks.

comment:3 Changed 10 years ago by essandess (Steve Smith)

Perhaps not -- I'm trying to install mod_perl and and apache is a dependency. I'll look into alternate options.

comment:4 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Try the mod_perl2 port instead, which uses apache2.

comment:5 Changed 10 years ago by jmroot (Joshua Root)

Looks like inlining gone awry, so maybe -std=gnu89 will help?

comment:6 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Keywords: mavericks removed
Summary: apache fails to build on Mavericksapache fails to build

Yeah, this doesn't look Mavericks related...

comment:7 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Summary: apache fails to buildapache fails to build with clang

comment:8 Changed 10 years ago by mina.macports@…

For those of us stuck with apache1 legacy systems, I can confirm -std=gnu89 allows compilation to succeed

comment:9 Changed 9 years ago by Ionic (Mihai Moldovan)

Resolution: fixed
Status: newclosed

comment:10 Changed 9 years ago by Ionic (Mihai Moldovan)

And follow-up revbump in r128962.

comment:11 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ionic@… added

If the problem was a build failure, why would a revbump be necessary?

If you resolve a ticket, please assign the ticket to yourself or at least Cc yourself so that you're in the loop for any follow-up conversation.

comment:12 in reply to:  11 ; Changed 9 years ago by Ionic (Mihai Moldovan)

Replying to ryandesign@…:

If the problem was a build failure, why would a revbump be necessary?

Because the commit inserts patches which change the behavior generally (replacing -undefined suppress -flat_namespace linker options with -undefined dynamic_lookup), catches a clash with the libc's readline function and adds -std=c89 to CFLAGS.

Users having the port currently installed (on Tiger and below?) would have a diverging version of the port. But consistency is key!


If you resolve a ticket, please assign the ticket to yourself or at least Cc yourself so that you're in the loop for any follow-up conversation.

Sorry, I hope you don't mind me hijacking your ticket. It was stale for so long and I needed apache(1) to at least build successfully for another port update depending on apache(1).

comment:13 in reply to:  12 ; Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ionic@…:

Because the commit inserts patches which change the behavior generally (replacing -undefined suppress -flat_namespace linker options with -undefined dynamic_lookup),

Ah, ok. That's a good reason. I didn't look at the patch closely enough.

Users having the port currently installed (on Tiger and below?) would have a diverging version of the port. But consistency is key!

Yes. Note that Tiger is the earliest version on which MacPorts runs.

Sorry, I hope you don't mind me hijacking your ticket. It was stale for so long and I needed apache(1) to at least build successfully for another port update depending on apache(1).

Not at all, I appreciate you fixing it.

comment:14 in reply to:  13 ; Changed 9 years ago by Ionic (Mihai Moldovan)

Replying to ryandesign@…:

Not at all, I appreciate you fixing it.

Fixing*.


* I have not tested if it actually runs correctly. Or starts up. Or does anything. Chances are it works, but all bets are off.

comment:15 in reply to:  14 Changed 9 years ago by Ionic (Mihai Moldovan)

Replying to ionic@…:

Replying to ryandesign@…:

Not at all, I appreciate you fixing it.

Fixing*.


* I have not tested if it actually runs correctly. Or starts up. Or does anything. Chances are it works, but all bets are off.

Ok... It starts up, can serve a simple, static "It works!" webpage and can be turned off again on 10.9. But that's as far as I'll go regarding testing apache(1).

Last edited 9 years ago by Ionic (Mihai Moldovan) (previous) (diff)
Note: See TracTickets for help on using tickets.