Opened 13 years ago

Closed 13 years ago

#30785 closed defect (fixed)

cvs @1.11.23 build fails on Mac OS X 10.6

Reported by: mndavidoff (Monte Davidoff) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version: 2.0.1
Keywords: haspatch Cc:
Port: cvs

Description

I get this error when trying to build cvs on Mac OS X 10.6.8 (Xcode 3.2.6):

$ sudo port -vs install cvs
...
--->  Applying patches to cvs
--->  Applying /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/cvs/files/patch-getline
patching file lib/getline.c
patching file lib/getline.h
/usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I../lib -I../diff -I../zlib   -I/opt/local/include  -pipe -O2 -arch x86_64 -MT zlib.o -MD -MP -MF .deps/zlib.Tpo -c -o zlib.o zlib.c
mv -f .deps/wrapper.Tpo .deps/wrapper.Po
Undefined symbols:
  "_getline", referenced from:
      _notified_a_file in client.o
      _notified_a_file in client.o
      _read_cvsrc in cvsrc.o
      _cvs_notify_check in edit.o
      _notify_do in edit.o
      _ncheck_fileproc in edit.o
      _ParseTag in entries.o
      _fgetentent in entries.o
      _base_walk in entries.o
      _fileattr_read in fileattr.o
      _ign_add_file in ignore.o
      _password_entry_operation in login.o
      _password_entry_operation in login.o
      _rcsinfo_proc in logmsg.o
      _do_editor in logmsg.o
      _do_editor in logmsg.o
      _do_verify in logmsg.o
      _mkmodules in mkmodules.o
      _Parse_Info in parseinfo.o
      _parse_config in parseinfo.o
      _patch_fileproc in patch.o
      _patch_fileproc in patch.o
      _patch_fileproc in patch.o
      _release in release.o
      _Name_Repository in repos.o
      _Name_Root in root.o
      _do_cvs_command in server.o
      _do_cvs_command in server.o
      _pserver_authenticate_connection in server.o
      _file_has_markers in subr.o
      _wrap_add_file in wrapper.o
      _cvs_getpass in libcvs.a(getpass.o)
     (maybe you meant: _getline_safe, __getline )
ld: symbol(s) not found
collect2: ld returned 1 exit status

The complete build log is attached. This port previously built on Snow Leopard. The build failure appears to have been introduced by r82092 (#30378) to fix a build problem on Lion.

I could not tell from #30378 what was the conflict with the CVS getline function on Lion. If the intent of r82092 was to rename CVS's internal getline function to something else, and have CVS use its own getline function, I've attached a new patch-getline file that does that, and also builds on Snow Leopard. I don't have a Lion system, so I have not tested the suggested new patch on Lion.

Attachments (2)

main.log.bz2 (6.3 KB) - added by mndavidoff (Monte Davidoff) 13 years ago.
patch-getline (286 bytes) - added by mndavidoff (Monte Davidoff) 13 years ago.

Download all attachments as: .zip

Change History (6)

Changed 13 years ago by mndavidoff (Monte Davidoff)

Attachment: main.log.bz2 added

Changed 13 years ago by mndavidoff (Monte Davidoff)

Attachment: patch-getline added

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: dports@… added

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

Keywords: haspatch added

comment:3 Changed 13 years ago by drkp (Dan Ports)

Cc: dports@… removed
Owner: changed from macports-tickets@… to dports@…
Status: newassigned

comment:4 Changed 13 years ago by drkp (Dan Ports)

Resolution: fixed
Status: assignedclosed

Thanks. The idea is to use the OS-provided getline if it's available (and avoid the conflict), so we should apply the patch only on Lion or newer. Fixed in r82549

Note: See TracTickets for help on using tickets.