fix compilation on Mac OS X
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
DC++ |
Fix Released
|
Low
|
Steven Sheehy | ||
LinuxDC++ |
Fix Committed
|
Low
|
Steven Sheehy |
Bug Description
linuxdcpp does not compile on Mac OS X (MacPorts with a custom Portfile, which can be supplied on demand):
dcpp/QueueManag
dcpp/QueueManag
scons: *** [build/
scons: building terminated because of errors.
this is due to limits.h not defining PATH_MAX in Mac OS X; sys/syslimits.h is used instead.
when this is fixed (see patch), this error occurs:
g++ -o linuxdcpp -L/usr/lib -Wl,-framework,
Undefined symbols:
"_RSA_
dcpp:
ld: symbol(s) not found
collect2: ld returned 1 exit status
scons: *** [linuxdcpp] Error 1
this is due to a redundant library path being supplied in SConstruct. it "locks" the build to use the standard system libraries rather than the compiler-chosen ones. for a non-default (non-system) compiler (eg. MacPorts gcc), the latter is necessary.
when the entire patch is applied, the compile succeeds.
Changed in linuxdcpp: | |
assignee: | nobody → steven-sheehy |
importance: | Undecided → Low |
status: | New → Confirmed |
Thanks for the patch. The PATH_MAX change seems reasonable, but I'm unsure about the other change. A previous patch submitter had us make that change to add -L/usr/lib so that it would compile on Mac OS X. Would your change break it for users like him?
https:/ /lists. berlios. de/pipermail/ linuxdcpp- developers/ 2007-November/ 000597. html