Overview
| Artifact ID: | 3a83737b0ad0af7d179049cdd4f47151ecce441b |
|---|---|
| Ticket: | 6981de95b677bcc5ba7da4818015f1e5c049463f
Makefile for OpenSolaris/Solaris is not correct |
| User & Date: | tjyang 2010-06-18 01:34:00 |
Changes
- comment changed to:
With following diff of Makefile, <verbatim> root@600m:/export/home/tjyang/Fossil-076f7adff2# diff Makefile Makefile.orig 39c39 < # LIB += -lsocket --- > # LIB += lsocket 41c41 < LIB += -lsocket -lnsl --- > # LIB += -lsocket -lnsl root@600m:/export/home/tjyang/Fossil-076f7adff2# </verbatim> I was able to build fossil on opensolaris b124. <verbatim> root@600m:/export/home/tjyang/Fossil-076f7adff2# uname -a SunOS 600m 5.11 snv_122 i86pc i386 i86pc Solaris root@600m:/export/home/tjyang/Fossil-076f7adff2# cat /etc/release OpenSolaris Development snv_122 X86 Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 28 August 2009 root@600m:/export/home/tjyang/Fossil-076f7adff2# ls -l fossil -rwxr-xr-x 1 root root 1582864 2009-10-13 23:37 fossil root@600m:/export/home/tjyang/Fossil-076f7adff2# </verbatim> <hr><i>stephan added on 2009-10-17 12:07:44:</i><br> This seems to depend on the OpenSolaris version. i added those lines about a year ago, and -lnsl wasn't needed on the Nexenta OpenSolaris i used at the time. i don't remember if it was an error to link against it, though. <hr><i>anonymous added on 2009-10-18 02:26:59:</i><br> at least following diff need to be applied. "lsocket" need to be typed as "-lsocket". <nowiki> <pre> < # LIB += -lsocket --- > # LIB += lsocket </pre> </nowiki> tj yang <hr><i>anonymous added on 2009-12-29 19:15:49:</i><br> Hi, Can someone with upload/write permission to correct the error for Solaris/OpenSolaris OS. 1. <nowiki> <pre> .o sync.o tag.o th_main.o timeline.o tkt.o tktsetup.o undo.o update.o url.o user.o verify.o vfile.o wiki.o wikiformat.o winhttp.o xfer.o zip.o sqlite3.o th.o th_lang.o -lz -lsocket Undefined first referenced symbol in file gethostbyname http_socket.o (symbol belongs to implicit dependency /lib/libnsl.so.1) inet_addr http_socket.o (symbol belongs to implicit dependency /lib/libnsl.so.1) inet_ntoa cgi.o (symbol belongs to implicit dependency /lib/libnsl.so.1) ld: fatal: symbol referencing errors. No output written to fossil collect2: ld returned 1 exit status gmake: *** [fossil] Error 1 root@600m:/pub/fossil/Fossil-86cbb69af2# </pre> </nowiki> <hr><i>anonymous added on 2009-12-29 19:24:56:</i><br> Please apply following patch to Makefile. I tested on on Solaris 10(sparc and x86) and OpenSolaris 124 up to 130 revision. <nowiki> <pre> --- Makefile.orig 2009-12-29 13:20:21.449765912 -0600 +++ Makefile 2009-12-29 13:20:54.935476106 -0600 @@ -35,9 +35,7 @@ # chroot jail. # LIB = -lz $(LDFLAGS) -# If you're on OpenSolaris: -# LIB += lsocket -# Solaris 10 needs: +# Solaris 10/OpenSolaris needs: # LIB += -lsocket -lnsl # My assumption is that the Sol10 flags will work for Sol8/9 and possibly 11. </pre> </nowiki> <hr><i>anonymous added on 2009-12-29 20:19:21:</i><br> Correction, OpenSoaris 130 has following linking error. <pre> gcc -Os -Wall -o fossil add.o allrepo.o bag.o blob.o branch.o browse.o captcha.o cgi.o checkin.o checkout.o clearsign.o clone.o comformat.o configure.o construct.o content.o db.o delta.o deltacmd.o descendants.o diff.o diffcmd.o doc.o encode.o file.o finfo.o http.o http_socket.o http_transport.o info.o login.o main.o manifest.o md5.o merge.o merge3.o name.o pivot.o pqueue.o printf.o rebuild.o report.o rss.o rstats.o schema.o search.o setup.o sha1.o shun.o skins.o stat.o style.o sync.o tag.o th_main.o timeline.o tkt.o tktsetup.o undo.o update.o url.o user.o verify.o vfile.o wiki.o wikiformat.o winhttp.o xfer.o zip.o sqlite3.o th.o th_lang.o -lsocket -lnsl Undefined first referenced symbol in file crc32 zip.o deflateEnd blob.o deflateInit2_ zip.o uncompress blob.o compress blob.o deflate blob.o deflateInit_ blob.o ld: fatal: symbol referencing errors. No output written to fossil collect2: ld returned 1 exit status gmake: *** [fossil] Error 1 root@600m:/pub/fossil/Fossil-86cbb69af2# root@600m:/pub/fossil/Fossil-86cbb69af2# cat /etc/release OpenSolaris Development snv_130 X86 Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 18 December 2009 root@600m:/pub/fossil/Fossil-86cbb69af2# </pre> <hr><i>anonymous added on 2009-12-29 20:30:15:</i><br> This is the new patch for OpenSolaris 130, zlib need to be described in LIB variable. <pre> --- Makefile.orig 2009-12-29 13:20:21.449765912 -0600 +++ Makefile 2009-12-29 14:27:05.946202215 -0600 @@ -35,10 +35,8 @@ # chroot jail. # LIB = -lz $(LDFLAGS) -# If you're on OpenSolaris: -# LIB += lsocket -# Solaris 10 needs: -# LIB += -lsocket -lnsl +# Solaris 10/OpenSolaris needs: +LIB += -lsocket -lnsl # My assumption is that the Sol10 flags will work for Sol8/9 and possibly 11. </pre> gcc info on opensolaris 130. <pre> root@600m:/pub/fossil/Fossil-86cbb69af2# gcc -v Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/specs Configured with: /builds2/sfwnv-gate/usr/src/cmd/gcc/gcc-3.4.3/configure <snip> -languages=c,c++,f77,objc --enable-shared Thread model: posix gcc version 3.4.3 (csl-sol210-3_4-20050802) root@600m:/pub/fossil/Fossil-86cbb69af2# </pre> - title changed to: "Makefile for OpenSolaris/Solaris is not correct"