I try to fix the outdated astro/xephem port and run into some very
strange problems on FreeBSD 11.0-CURRENT.

FreeBSD 11.0-CURRENT #5 r261353: Sat Feb  1 19:12:30 CET 2014 amd64

Attached, you'll find my (naiv) attempt to fix the port. 

You need to manually download the source tarball into ports/distfiles 
from 
http://www.clearskyinstitute.com/xephem/

You need also to perform "make makesum" (I just want to mention that).

Since libiconv has been merged into libc I had to change the LIBS=
variable, a more sophisticated way is needed for 9.X-STABLE and 10.0
handling.

What is this DSO error and why is it a "moving target"? Can someone
explain this?

Regards,

Oliver


GCC48:

[...]
gcc48 -L../../libastro -L../../libip -L../../liblilxml -L/usr/local/lib
-g -L/usr/local/lib -L/usr/local/lib -o xephem aavso.o annotmenu.o
broadcast.o calmenu.o closemenu.o compiler.o coordsmenu.o datamenu.o
db.o dbmenu.o earthmap.o earthmenu.o fallbacks.o favmenu.o formats.o
fsmenu.o gallerymenu.o glance.o gsc.o gscnet.o helpmenu.o homeio.o
hznmenu.o indimenu.o imregmenu.o jpeg2pm.o jupmenu.o listmenu.o
mainmenu.o marsmenu.o marsmmenu.o moonmenu.o moviemenu.o msgmenu.o
netmenu.o objmenu.o obslog.o patchlevel.o plot_aux.o plotmenu.o
preferences.o progress.o ps.o query.o rotated.o satmenu.o saveres.o
scope.o sites.o skybinary.o skyeyep.o skyfifos.o skyfiltmenu.o
skyfits.o skyhist.o skyip.o skylist.o skytoolbar.o skyviewmenu.o
solsysmenu.o splash.o srchmenu.o sunmenu.o time.o tips.o trailmenu.o
uranusmenu.o ucac.o usno.o versionmenu.o webdbmenu.o xe2.o xe3.o
xephem.o xmisc.o /usr/local/lib/libXm.a -lXp -lXt -lXext -lXmu -lX11
-lXft -lastro -lip -llilxml -ljpeg -lpng -lz
-lm /usr/local/bin/ld: /usr/local/lib/libXm.a(XmRenderT.o): undefined
reference to symbol
'FcPatternAddInteger' //usr/local/lib/libfontconfig.so.1: error adding
symbols: DSO missing from command line collect2: error: ld returned 1
exit status gmake[1]: *** [xephem] Error 1 gmake[1]: Leaving directory
`/usr/ports/astro/xephem/work/xephem-3.7.6/GUI/xephem' *** Error code 1


LLVM/CLANG 3.3:

[...]
gmake[2]: Leaving directory
`/usr/ports/astro/xephem/work/xephem-3.7.6/liblilxml' cc
-L../../libastro -L../../libip -L../../liblilxml -L/usr/local/lib -g
-L/usr/local/lib -L/usr/local/lib -o xephem aavso.o annotmenu.o
broadcast.o calmenu.o closemenu.o compiler.o coordsmenu.o datamenu.o
db.o dbmenu.o earthmap.o earthmenu.o fallbacks.o favmenu.o formats.o
fsmenu.o gallerymenu.o glance.o gsc.o gscnet.o helpmenu.o homeio.o
hznmenu.o indimenu.o imregmenu.o jpeg2pm.o jupmenu.o listmenu.o
mainmenu.o marsmenu.o marsmmenu.o moonmenu.o moviemenu.o msgmenu.o
netmenu.o objmenu.o obslog.o patchlevel.o plot_aux.o plotmenu.o
preferences.o progress.o ps.o query.o rotated.o satmenu.o saveres.o
scope.o sites.o skybinary.o skyeyep.o skyfifos.o skyfiltmenu.o
skyfits.o skyhist.o skyip.o skylist.o skytoolbar.o skyviewmenu.o
solsysmenu.o splash.o srchmenu.o sunmenu.o time.o tips.o trailmenu.o
uranusmenu.o ucac.o usno.o versionmenu.o webdbmenu.o xe2.o xe3.o
xephem.o xmisc.o /usr/local/lib/libXm.a -lXp -lXt -lXext -lXmu -lX11
-lXft -lastro -lip -llilxml -ljpeg -lpng -lz
-lm /usr/bin/ld: //usr/local/lib/libfontconfig.so.1: invalid DSO for
symbol `FcPatternAddInteger'
definition //usr/local/lib/libfontconfig.so.1: could not read symbols:
Bad value cc: error: linker command failed with exit code 1 (use -v to
see invocation) gmake[1]: *** [xephem] Error 1 gmake[1]: Leaving
directory `/usr/ports/astro/xephem/work/xephem-3.7.6/GUI/xephem' ***
Error code 1
diff -Nur xephem.orig/Makefile xephem/Makefile
--- xephem.orig/Makefile	2014-02-02 11:30:10.000000000 +0100
+++ xephem/Makefile	2014-02-02 11:02:56.000000000 +0100
@@ -2,8 +2,8 @@
 # $FreeBSD: head/astro/xephem/Makefile 340722 2014-01-22 17:00:46Z mat $
 
 PORTNAME=	xephem
-PORTVERSION=	3.7.5
-PORTREVISION=	1
+PORTVERSION=	3.7.6
+#PORTREVISION=	1
 CATEGORIES=	astro
 MASTER_SITES=	# http://www.clearskyinstitute.com/xephem/
 
diff -Nur xephem.orig/distinfo xephem/distinfo
--- xephem.orig/distinfo	2014-02-02 11:30:10.000000000 +0100
+++ xephem/distinfo	2014-02-02 09:54:45.000000000 +0100
@@ -1,2 +1,2 @@
-SHA256 (xephem-3.7.5.tar.gz) = edda7975bb690f74b1853d2729de2b0f4ada69fb37a08117ace7a22c23ee7d1a
-SIZE (xephem-3.7.5.tar.gz) = 18908521
+SHA256 (xephem-3.7.6.tar.gz) = 2080b628d80d52d9ff7148787e3093eb56f21fef5fba404f123b6198b2d64d05
+SIZE (xephem-3.7.6.tar.gz) = 17975496
diff -Nur xephem.orig/files/off-patch-Makefile xephem/files/off-patch-Makefile
--- xephem.orig/files/off-patch-Makefile	1970-01-01 01:00:00.000000000 +0100
+++ xephem/files/off-patch-Makefile	2014-02-02 11:11:03.000000000 +0100
@@ -0,0 +1,57 @@
+--- Makefile.orig	2014-02-02 10:40:13.000000000 +0100
++++ Makefile	2014-02-02 10:49:34.000000000 +0100
+@@ -10,9 +10,10 @@
+ # one executable, xephem.
+ 
+ # These -I and -L flags point to the supporting XEphem libraries
+-LIBINC = -I../../libastro -I../../libip -I../../liblilxml -I../../libjpegd -I../../libpng -I../../libz
+-LIBLNK = -L../../libastro -L../../libip -L../../liblilxml -L../../libjpegd -L../../libpng -L../../libz
+-LIBLIB = -lastro -lip -llilxml -ljpegd -lpng -lz
++LIBINC = -I../../libastro -I../../libip -I../../liblilxml -I%%LOCALBASE%%/include
++LIBLNK = -L../../libastro -L../../libip -L../../liblilxml -L%%LOCALBASE%%/lib
++LIBLIB = -lastro -lip -llilxml -ljpeg -lpng -lz
++
+ 
+ # MOTIFI is the directory containing the Xm directory of include files.
+ # MOTIFL is the directory containing the libXm.a library.
+@@ -24,19 +25,19 @@
+ MOTIFL = $(MOTIF)
+ endif
+ ifndef MOTIFI
+-MOTIFI = /usr/X11R6/include
++MOTIFI = %%LOCALBASE%%/include
+ endif
+ ifndef MOTIFL
+-MOTIFL = /usr/X11R6/lib
++MOTIFL = %%LOCALBASE%%/lib
+ endif
+ 
+ # for linux and Apple OS X
+ # some systems now use just /usr/X11 (not /usr/X11R6)
+ CC = gcc
+ CLDFLAGS = -g
+-CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I/usr/X11R6/include
+-LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/usr/X11R6/lib
+-XLIBS = -lXm -lXp -lXt -lXext -lXmu -lX11
++CFLAGS = $(LIBINC) $(CLDFLAGS) -Wall -I$(MOTIFI) -I%%LOCALBASE%%/include
++LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L%%LOCALBASE%%/lib
++XLIBS = $(MOTIFL)/libXm.a -lXp -lXt -lXext -lXmu -lX11 -lXft
+ LIBS = $(XLIBS) $(LIBLIB) -lm
+ 
+ # for ppc Apple OS X to make universal (i386 and ppc binary), requires
+@@ -187,12 +188,9 @@
+ 	nroff -man $? > $@
+ 
+ libs:
+-	cd ../../libastro; make
+-	cd ../../libip; make
+-	cd ../../libjpegd; make
+-	cd ../../liblilxml; make
+-	cd ../../libpng; make
+-	cd ../../libz; make
++	cd ../../libastro; ${MAKE}
++	cd ../../libip; ${MAKE}
++	cd ../../liblilxml; ${MAKE}
+ 
+ clean:
+ 	rm -fr *.o ../../lib*/*.[ao]
diff -Nur xephem.orig/files/patch-Makefile xephem/files/patch-Makefile
--- xephem.orig/files/patch-Makefile	2014-02-02 11:30:10.000000000 +0100
+++ xephem/files/patch-Makefile	2014-02-02 11:17:50.000000000 +0100
@@ -1,6 +1,6 @@
---- Makefile.orig	2009-01-05 23:55:59.000000000 +0300
-+++ Makefile	2011-04-13 20:07:51.559534154 +0400
-@@ -10,9 +10,9 @@
+--- Makefile.orig	2014-02-02 11:17:31.000000000 +0100
++++ Makefile	2014-02-02 11:17:47.000000000 +0100
+@@ -10,9 +10,10 @@
  # one executable, xephem.
  
  # These -I and -L flags point to the supporting XEphem libraries
@@ -10,10 +10,11 @@
 +LIBINC = -I../../libastro -I../../libip -I../../liblilxml -I%%LOCALBASE%%/include
 +LIBLNK = -L../../libastro -L../../libip -L../../liblilxml -L%%LOCALBASE%%/lib
 +LIBLIB = -lastro -lip -llilxml -ljpeg -lpng -lz
++
  
  # MOTIFI is the directory containing the Xm directory of include files.
  # MOTIFL is the directory containing the libXm.a library.
-@@ -24,18 +24,18 @@
+@@ -24,19 +25,19 @@
  MOTIFL = $(MOTIF)
  endif
  ifndef MOTIFI
@@ -31,21 +32,26 @@
  CLDFLAGS = -g
 -CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I/usr/X11R6/include
 -LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/usr/X11R6/lib
--XLIBS = $(MOTIFL)/libXm.a -lXp -lXt -lXext -lXmu -lX11
--LIBS = $(XLIBS) $(LIBLIB) -lm
+-XLIBS = -lXm -lXp -lXt -lXext -lXmu -lX11
 +CFLAGS = $(LIBINC) $(CLDFLAGS) -Wall -I$(MOTIFI) -I%%LOCALBASE%%/include
 +LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L%%LOCALBASE%%/lib
 +XLIBS = $(MOTIFL)/libXm.a -lXp -lXt -lXext -lXmu -lX11 -lXft
-+LIBS = $(XLIBS) $(LIBLIB) -lm -liconv
-
-@@ -189,10 +189,7 @@
+ LIBS = $(XLIBS) $(LIBLIB) -lm
+ 
+ # for ppc Apple OS X to make universal (i386 and ppc binary), requires
+@@ -187,12 +188,9 @@
+ 	nroff -man $? > $@
+ 
  libs:
- 	cd ../../libastro; make
- 	cd ../../libip; make
+-	cd ../../libastro; make
+-	cd ../../libip; make
 -	cd ../../libjpegd; make
- 	cd ../../liblilxml; make
+-	cd ../../liblilxml; make
 -	cd ../../libpng; make
 -	cd ../../libz; make
++	cd ../../libastro; ${MAKE}
++	cd ../../libip; ${MAKE}
++	cd ../../liblilxml; ${MAKE}
  
  clean:
  	rm -fr *.o ../../lib*/*.[ao]

Attachment: signature.asc
Description: PGP signature

Reply via email to