moonchen opened a new pull request, #12000:
URL: https://github.com/apache/trafficserver/pull/12000

   The build of test_net was broken on Mac when the build mode is set to 
release.
   
   **Root cause:**
   
   We support two kinds of linkers.  One kind will only search for symbols that 
are to the left of the object being linked.  Another kind will search the list 
of libraries repeatedly until the no new undefined references are created.  
Both are sensitive to the order of libraries on the command line.
   
   In order to work with both, we have to carefully order our dependencies in 
cmake.  See the build rule for traffic_server for a working list of 
dependencies.
   
   In this case, libinknet_stub.cc provides some symbols that are also provided 
by ts::proxy, in order to fix an issue of cyclic dependency between ts::inknet 
and ts::proxy.  However, this causes the link to have duplicate symbols when 
libraries are not ordered correctly, on linkers that repeat through the list.
   
   **References:**
   
   
https://stackoverflow.com/questions/45135/why-does-the-order-in-which-libraries-are-linked-sometimes-cause-errors-in-gcc


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to