#14317 closed defect (fixed)
xercesc does not include libxerces-c.a
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | Cc: | chris.ridd@… | |
Port: |
Description
The xercesc port (I checked 2.7.0_1 and 2.8.0_0) includes the shared library (libxerces-c.dylib) but not the static library (libxerces-c.a). Ports should strive to build both shared and static libraries if possible, and in particular, I need libxerces-c.a to build a portfile for enigma.
The enigma build instructions include instructions on building libxerces-c.a. This is what they say to do:
6(a) Then I had to do the following important step, which create a static link library, as the MacOSX version of the xerces-c 2.7 build does not do that. Put the following in an executable file in the $XERCESCROOT/src/xercesc directory, cd to that directory and run it. #!/bin/sh make -n XML_LIB_DIR=$XERCESCROOT/lib/dummy | grep 'c++ .*\.dylib' | tr \ \\n | grep '\.o$' | ( cd ../../obj ; xargs ar rcs $XERCESCROOT/lib/libxerces-c.a ) Then sudo cp $XERCESCROOT/lib/libxerces-c.a /usr/local/lib/ sudo ranlib /usr/local/lib/libxerces-c.a
This may not be the best way to do it in a MacPorts portfile, so just take it as a reference. Maybe runConfigure's -s
option would be helpful.
Attachments (1)
Change History (5)
comment:1 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | chris.ridd@… added |
---|
Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | xercesc-static.diff added |
---|
comment:2 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to ryandesign@… |
---|
No response from maintainer in > 72 hours, so I'll commit the fix.
comment:3 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Patch committed in r35430.
Note: See
TracTickets for help on using
tickets.
This seems to work