Keyboard Shortcuts
Likes
- Xephem
- Messages
Search
Re: Difficulty with OSX builds post Xephem-3.7.7
compiles on xephem-4.1.0 have issues with XM when done with OSX 10.5.8
The compiler kicks the following errors with a make MOTIFI = ../../libXm/osx gcc -L../../libastro -L../../libip -L../../liblilxml -L../../libjpegd -L../../libpng -L../../libz -g -L../../libXm/osx -L/usr/X11/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 -lXm -lXt -lXext -lXmu -lX11 -lastro -lip -llilxml -ljpegd -lpng -lz -lm -lssl Undefined symbols: "_XpSetImageResolution", referenced from: __XmPutScaledImage in libXm.a(ImageCache.o) __XmPutScaledImage in libXm.a(ImageCache.o) "_XpGetPdmStartParams", referenced from: _XmPrintPopupPDM in libXm.a(PrintS.o) "_XpEndPage", referenced from: _PrintNotifyHandler in libXm.a(PrintS.o) "_XpGetPageDimensions", referenced from: _ResourcesUpdate in libXm.a(PrintS.o) "_XpSelectInput", referenced from: _SelectXpEvents in libXm.a(PrintS.o) "_XpGetOneAttribute", referenced from: __XmPutScaledImage in libXm.a(ImageCache.o) _ResourcesUpdate in libXm.a(PrintS.o) "_XpQueryExtension", referenced from: __XmPutScaledImage in libXm.a(ImageCache.o) _Initialize in libXm.a(PrintS.o) "_XpGetDocumentData", referenced from: _XmPrintToFile in libXm.a(PrintS.o) "_XpGetContext", referenced from: __XmPutScaledImage in libXm.a(ImageCache.o) _SelectXpEvents in libXm.a(PrintS.o) _Initialize in libXm.a(PrintS.o) _Destroy in libXm.a(PrintS.o) _FilePipeCB in libXm.a(PrintS.o) _XmPrintToFile in libXm.a(PrintS.o) _XmPrintPopupPDM in libXm.a(PrintS.o) "_XpGetScreenOfContext", referenced from: _Initialize in libXm.a(PrintS.o) "_XpEndJob", referenced from: _PrintNotifyHandler in libXm.a(PrintS.o) "_XpStartPage", referenced from: _PrintNotifyHandler in libXm.a(PrintS.o) ld: symbol(s) not found collect2: ld returned 1 exit status make: *** [xephem] Error 1 |
Re: Difficulty with OSX builds post Xephem-3.7.7
I posted only a diff of my changes; ssl was already in the LIBS defn on line 37 so I did not have to change it. On Fri, Jan 7, 2022 at 14:20 Karl Oestreich <oestrek@...> wrote: On Fri, Jan 7, 2022 at 12:00 PM, Elwood Downey wrote: |
Re: Difficulty with OSX builds post Xephem-3.7.7
On Fri, Jan 7, 2022 at 12:00 PM, Elwood Downey wrote:
CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I/usr/X11/includewith a make MOTIFI = ../../libXm/osx These were required for a successful build? on Mac OSX 10.5.8 for xephem version 4.0.1. ? With 4.1.0 I am somewhat mystified since you don't include a directive for ssl in your makefile. It isn't necessary for 4.0 through 4.0.2 but seems necessary for 4.1.0 -Karl |
Re: Difficulty with OSX builds post Xephem-3.7.7
Hi Karl, FYI, I fired up my old tower circa 2003(?) running 10.6.8 (Snow Leopard) and XQuartz 2.3.6. I downloaded 4.1.0 from ?using code -> download zip. I unzipped and made the following changes to XEphem-main/GUI/xephem/Makefile: 25c25 < MOTIFI = /usr/include --- > MOTIFI = ../../libXm/osx 28c28 < MOTIFL = /usr/lib --- > MOTIFL = ../../libXm/osx 34,36c34,36 < CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I/opt/X11/include < LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/opt/X11/lib < XLIBS = -lXm -lXt -lXext -lXmu -lX11 --- > CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I/usr/X11/include > LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/usr/X11/lib > XLIBS = -lXm -lXt -lXext -lXmu -lX11 -lXp Then make and ./xephem and it seems to be running fine, although the ssl certs are too old for any of the https queries to work. So just wanted to share one data point that it can be done :-) Elwood On Fri, Jan 7, 2022 at 11:11 AM Karl Oestreich <oestrek@...> wrote: I think Trane and I are experiencing different issues and that is to be expected since we are compiling xephem on vastly different platforms. He is building on MODERN mac equipment probably using the ARM chip and the 17th version of OSX and I am compiling on OLD INTEL macs (at least the newest ones in the lab) running the 12th version of OSX. I am NOT experiencing problems with XQuartz(running 2.6.5) under Lion (the seventh version of osx)(Elcap uses an newer version of xquartz but STILL far from the newest) and lib XP.? Many of the assumptions of the modern MAC owners don't hold true in many cases for me. I can't? in all instances run Brew. I can in some instances run Macports or Port. I seem to have access to openssl-dev libs and header files though the code seems to break now with some of the SSL dependent? calls.? As far as the corrupted makefile debacle goes I may have inadvertently left wordwrap of and the link may have not show the complete statement. I don't think it was ever a problem and probably should be chalked up to my failure to communicate clearly.? For my part the principle difficulty seems to be with getting the code to work with ssl. I believe it can be done but I think I need some direction there. There does seem to be an issue running a modern enough ssl with older G5 Macs though I do hold some hope. The more modern (yet still antique) Intel MACs should work with it. I have run Macports and "ported" SSL and SSL3 over to my mac. when I leave things alone with a -lm lssl in the makefile I get three compiler errors and a break. When I use a $(OLL)/libssl.a? things look far uglier with dozens of SSL related routines not found.? I don't think removing the "hack" in xephem.c has any effect in my case it might again me more useful to the ARM MAC bunch and Big Sur.? |
Re: Difficulty with OSX builds post Xephem-3.7.7
I think Trane and I are experiencing different issues and that is to be expected since we are compiling xephem on vastly different platforms. He is building on MODERN mac equipment probably using the ARM chip and the 17th version of OSX and I am compiling on OLD INTEL macs (at least the newest ones in the lab) running the 12th version of OSX. I am NOT experiencing problems with XQuartz(running 2.6.5) under Lion (the seventh version of osx)(Elcap uses an newer version of xquartz but STILL far from the newest) and lib XP.? Many of the assumptions of the modern MAC owners don't hold true in many cases for me. I can't? in all instances run Brew. I can in some instances run Macports or Port. I seem to have access to openssl-dev libs and header files though the code seems to break now with some of the SSL dependent? calls.? As far as the corrupted makefile debacle goes I may have inadvertently left wordwrap of and the link may have not show the complete statement. I don't think it was ever a problem and probably should be chalked up to my failure to communicate clearly.? For my part the principle difficulty seems to be with getting the code to work with ssl. I believe it can be done but I think I need some direction there. There does seem to be an issue running a modern enough ssl with older G5 Macs though I do hold some hope. The more modern (yet still antique) Intel MACs should work with it. I have run Macports and "ported" SSL and SSL3 over to my mac. when I leave things alone with a -lm lssl in the makefile I get three compiler errors and a break. When I use a $(OLL)/libssl.a? things look far uglier with dozens of SSL related routines not found.? I don't think removing the "hack" in xephem.c has any effect in my case it might again me more useful to the ARM MAC bunch and Big Sur.?
|
Re: Difficulty with OSX builds post Xephem-3.7.7
开云体育Hi, Brandon. Sorry for the delay in reply, but the IT streets has seen me rather busy today and I couldn't get into digging before now. I think I understand the scope of the issue now. All the spammery as I worked through it yesterday made it seem a lot more complicated than it actually is. The good news is that none of the Makefiles are broken and nothing has been corrupted. The failures experienced by Karl and me are strictly related to what appears to be different behaviour in the xcodebuild compile and changes made to XQuartz. On macOS Big Sur, I can make the 4.1.0 build complete without issue with the following changes: * Have XQuartz 2.7.11
installed, which includes libXp; I understand that removing "-lXp" from that Makefile works just fine for Linux. For whatever reason, macOS behaves differently. Modern versions of XQuartz (current version is 2.8.1) remove libXp completely from the file system during upgrade, so aavso.c throws an error during compile when print.h is not found in X11/extensions. Subsequently, if we use an old XQuartz 2.7.11 that includes libXp and, therefore, has print.h in X11/extensions, BUT we don't have the -lXp switch in XLIBS line 36, we throw a linker error: Undefined symbols for architecture x86_64: ? "_XpEndJob", referenced from: ????? _PrintNotifyHandler in libXm.a(PrintS.o) ? "_XpEndPage", referenced from: ????? _PrintNotifyHandler in libXm.a(PrintS.o) ? "_XpGetContext", referenced from: ????? __XmPutScaledImage in libXm.a(ImageCache.o) ????? _SelectXpEvents in libXm.a(PrintS.o) ????? _Initialize in libXm.a(PrintS.o) ????? _Destroy in libXm.a(PrintS.o) ????? _FilePipeCB in libXm.a(PrintS.o) ????? _XmPrintToFile in libXm.a(PrintS.o) ????? _XmPrintPopupPDM in libXm.a(PrintS.o) ????? ... ? "_XpGetDocumentData", referenced from: ????? _XmPrintToFile in libXm.a(PrintS.o) ? "_XpGetOneAttribute", referenced from: ????? __XmPutScaledImage in libXm.a(ImageCache.o) ????? _ResourcesUpdate in libXm.a(PrintS.o) ? "_XpGetPageDimensions", referenced from: ????? _ResourcesUpdate in libXm.a(PrintS.o) ? "_XpGetPdmStartParams", referenced from: ????? _XmPrintPopupPDM in libXm.a(PrintS.o) ? "_XpGetScreenOfContext", referenced from: ????? _Initialize in libXm.a(PrintS.o) ? "_XpQueryExtension", referenced from: ????? __XmPutScaledImage in libXm.a(ImageCache.o) ????? _Initialize in libXm.a(PrintS.o) ? "_XpSelectInput", referenced from: ????? _SelectXpEvents in libXm.a(PrintS.o) ? "_XpSetImageResolution", referenced from: ????? __XmPutScaledImage in libXm.a(ImageCache.o) ? "_XpStartPage", referenced from: ????? _PrintNotifyHandler in libXm.a(PrintS.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) As we can see, these are libXp-related references. Adding -lXp to the Makefile enables macOS to compile and link the binaries. I'm attaching xephem-diff.txt so you can satisfy your sanity and see that, for real, there were no unexpected diffs. It's all just a matter of macOS not behaving the same as Linux. The diff you requested between 4.0.1 and 4.0.2 is simply the removal of the -lXp switch. I will note that 4.0.1's Makefile has the following caveat: # Note that some Motif libraries use the printing frame buffer and so need -lXp. This might be the case for macOS, but since the XQuartz people are adamant that libXp is never to be supported again, I don't know what we can do about that. Regarding your main branch compile, it behaves the same as 4.1.0, i.e., with XQuartz 2.7.11 (print.h exists) and -lXp not present in the Makefile, the linker throws the same error as above. Happy to compile whatever to help out. Worth noting that I'm on an Intel CPU. Gavin, who posted with similar concerns, is on ARM and doesn't have the luxury of a native compile with earlier versions of XQuartz. Ah, the joys of being a maintainer. Cheers, trane //
// Trane Francks trane@... Tokyo, Japan // Practice random kindness and senseless acts of beauty. On 2022/01/06 23:00, Brandon Rhodes
wrote:
|
Re: Difficulty with OSX builds post Xephem-3.7.7
Yes, Trane .. I cheated my way past the?libXp dependency by putting a copy of Print.h in the extensions folder, then struggled past the ssl issue by adding a path to CFLAGS and LDFLAGS to point at the?homebrew installation. ?Doing those things is ugly and not the true answer, but I just wanted to get past compilation to see what happened next. ?
The linker threw me a show-stopper .. the XQuartz libraries were not build for the arm64 architecture (only x86_64, i386 and ppc).? I could probably force an Intel build and rely on Rosetta, but I'd be solving a different problem than this thread is dealing with. |
Re: Difficulty with OSX builds post Xephem-3.7.7
开云体育Hi, Gavin. It appears that the removal of libXp dependency was only for Linux. For us to be able to compile on macOS against XQuartz later than 2.7.11, the libXp dependency also needs to be removed for Apple; otherwise, aavso.c generates the error you saw. Cheers, trane //
// Trane Francks trane@... Tokyo, Japan // Practice random kindness and senseless acts of beauty. On 2022/01/07 0:54, Gavin Eadie wrote:
With no wish to muddy the waters, I downloaded the `main` branch zip file referenced above and tried to build Xephem. ?I'm using macOS 12.1, the latest non-beta Xcode toolset and?XQuartz 2.8.1 on a "silicon-only" MacBook Pro. ?The build fails with the |
Re: Difficulty with OSX builds post Xephem-3.7.7
In response to an earlier post by Brandon. I don't think the makefile is corrupted at least by me. To verify I unzipped and tried to compile a 4.1.0 version just now with the commenting out of the linux osx section and the uncommenting of the static linking mac ports section. I included the? -lm? -lssl bit that was recommended by another poster.? The resultant makefile is below along with the output from the compiler
cat makefile # Sample Makefile for xephem v3.7 # Sample compile and link flags for a few systems. Find your system or similar # and uncomment as required. The default is for linux or Mac OS X systems. # The only real challenge usually is to set the MOTIFI and MOTIFL macros. # The basic idea to build XEphem is to first go compile the libraries in # ../../lib* then come back here and compile and link all the *.c files into # 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 # MOTIFI is the directory containing the Xm directory of include files. # MOTIFL is the directory containing the libXm.a library. # MOTIF can be used to set one common directory if appropriate. # On 64 bit systems, try MOTIFI = /usr/include and MOTIFL = /usr/lib64 ifdef MOTIF MOTIFI = $(MOTIF) MOTIFL = $(MOTIF) endif ifndef MOTIFI MOTIFI = /usr/include endif ifndef MOTIFL MOTIFL = /usr/lib endif # for linux and Apple OS X # CC = gcc # CLDFLAGS = -g # CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I/opt/X11/include # LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/opt/X11/lib # XLIBS = -lXm -lXt -lXext -lXmu -lX11 # LIBS = $(XLIBS) $(LIBLIB) -lm -lssl # static linking on Apple using X11 libs from ports ?CC = gcc ?OLI = /opt/local/include ?OLL = /opt/local/lib ?CLDFLAGS = -g ?CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I$(OLI) ?LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L$(OLL) ?XLIBS = -lXm $(OLL)/libXp.a $(OLL)/libXt.a $(OLL)/libSM.a $(OLL)/libICE.a $(OLL)/libXext.a $(OLL)/libXmu.a $(OLL)/libX11.a $(OLL)/libxcb.a $(OLL)/libXau.a $(OLL)/libXdmcp.a ?LIBS = $(XLIBS) $(LIBLIB) -lm -lssl # for ppc Apple OS X to make universal (i386 and ppc binary), requires # Xcode 2.2, /Developers/SDK/MacOSX10.4u.sdk and all libs, including libXm, # built similarly # CLDFLAGS = -arch i386 -arch ppc # CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -isysroot /Developer/SDKs/MacOSX10.4u.sdk -I$(MOTIFI) -I/usr/X11R6/include # LDFLAGS = $(LIBLNK) $(CLDFLAGS) -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -L$(MOTIFL) -L/usr/X11R6/lib # MKS Enterprise toolkit # MOTIFI = -I/usr/include # MOTIFL = -L/usr/lib # CC = cc # CLDFLAGS = # CFLAGS = $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI) # LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -W/subsystem:windows -s # XLIBS = -lXm -lXt -lX11 # LIBS = $(XLIBS) $(LIBLIB) -lm # SVR4 derivatives: # MOTIFI = -I/usr/include # MOTIFL = -L/usr/lib # CC = cc # CLDFLAGS = # CFLAGS = $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI) # LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) # XLIBS = -lXm -lXt -lX11 # LIBS = $(XLIBS) $(LIBLIB) -lsocket -lnsl -lc -lm /usr/ucblib/libucb.a # Note: if you get regex undefined, add -lgen to the end of LIBS. # Solaris: # Motif stuff might also be in /usr/dt/share/{include,lib}. # be sure /opt/SUNWspro/bin and /usr/ccs/bin are in your PATH ahead of /usr/ucb. # MOTIFI = -I/usr/dt/include # MOTIFL = -L/usr/dt/lib -R/usr/dt/lib # CC = cc # CLDFLAGS = # CFLAGS = $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI) -I/usr/openwin/include # LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/usr/openwin/lib # XLIBS = -lXm -lXt -lX11 # LIBS = $(XLIBS) $(LIBLIB) -lm -lsocket -lnsl # HP-UX # MOTIFI = -I/usr/include # MOTIFL = -L/usr/lib # CC = cc # CLDFLAGS = # CFLAGS = $(LIBINC) $(CLDFLAGS) -Aa -fast -I$(MOTIFI) # LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) # AIX # MOTIFI = -I/usr/include # MOTIFL = -L/usr/lib # CC = xlc # CLDFLAGS = # CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -qlanglvl=ansi -qarch=com -qmaxmem=16384 -I$(MOTIFI) # LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) .PRECIOUS:??? xephem INCS =??? db.h dm.h indiapi.h map.h net.h patchlevel.h plot.h ps.h \ ?? ?rotated.h sites.h skyeyep.h skyhist.h skyip.h skylist.h skytoolbar.h \ ?? ?trails.h xephem.h OBJS =??? ??? ??? \ ?? ?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 all: libs xephem xephem.1 xephem: $(INCS) $(OBJS) ?? ?$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) xephem.1: xephem.man ?? ?nroff -man $? > $@ libs: ?? ?cd ../../libastro; make ?? ?cd ../../libip; make ?? ?cd ../../libjpegd; make ?? ?cd ../../liblilxml; make ?? ?cd ../../libpng; make ?? ?cd ../../libz; make clean: ?? ?rm -fr *.o ../../lib*/*.[ao] clobber: clean ?? ?rm -fr xephem xephem.1 gcc -L../../libastro -L../../libip -L../../liblilxml -L../../libjpegd -L../../libpng -L../../libz -g -L/usr/lib -L/opt/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 -lXm /opt/local/lib/libXp.a /opt/local/lib/libXt.a /opt/local/lib/libSM.a /opt/local/lib/libICE.a /opt/local/lib/libXext.a /opt/local/lib/libXmu.a /opt/local/lib/libX11.a /opt/local/lib/libxcb.a /opt/local/lib/libXau.a /opt/local/lib/libXdmcp.a -lastro -lip -llilxml -ljpegd -lpng -lz -lm -lssl Undefined symbols for architecture x86_64: "_OPENSSL_init_ssl", referenced from: _net_create in netmenu.o "_SSL_CTX_set_options", referenced from: _net_create in netmenu.o "_TLS_client_method", referenced from: _net_create in netmenu.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [xephem] Error 1 |
Re: Difficulty with OSX builds post Xephem-3.7.7
With no wish to muddy the waters, I downloaded the `main` branch zip file referenced above and tried to build Xephem. ?I'm using macOS 12.1, the latest non-beta Xcode toolset and?XQuartz 2.8.1 on a "silicon-only" MacBook Pro. ?The build fails with the
? ?fatal error: 'X11/extensions/Print.h' file not found |
Re: Difficulty with OSX builds post Xephem-3.7.7
Thanks, everyone, for sharing your recent experiences on Mac! I'd like to make a better Mac compilation experience a focus for the next XEphem release. Karl Oestreich — I will be interested to learn how your Makefile wound up missing all of its source files past Trane Franks — It looks like it’s time for a new XEphem release, so that you can stop having to add That will give you the current version of the repository, which already has I am a bit bewildered by two of your findings. First:
Looking at those two versions, all I see different is the removal of a one-line comment, and the removal of Could you run a plain old-fashioned
That might help us see why the 4.0.1 Makefile succeeded for you but the 4.0.2 Makefile is failing. Thanks! You make the further statement:
This also confuses me. Except for a few edits to comments, the only substantive Makefile change between those versions — at least that I can see — was in the un-commented Linux build parameters:
I think the Apple build parameters were untouched? Again, I will be interested to see the results of a manual “diff” to see whether on your system there are additional changes between those Makefiles that I’m not properly accounting for. But our real focus going forward should be on the |
Re: Difficulty with OSX builds post Xephem-3.7.7
开云体育Karl, Regarding your display error, you might want to try starting XEphem via a script saved as an application object. I've been using this for years. It is utterly reliable and enables one to have the XEphem.app in the Applications folder and/or on the Dock. * Open Script Editor
and paste in the following contents: tell application "XQuartz" ?? ?activate end tell do shell script "export DISPLAY=:0; export DYLD_LIBRARY_PATH=/opt/X11/lib/flat_namespace:$DYLD_LIBRARY_PATH; cd /usr/local/xephem; ../bin/xephem" * Adjust the installation path to suit your install. I've got mine in /usr/local/xephem and the executable in /usr/local/bin. The DYLD business takes care of the flat namespace issue I discovered earlier today. * Save the script as type Application. I called mine XEphem.app. YMMV. Optionally, replace the app's default script icon with the same XEphem.png file as found in the sources. Saving the script as an app enables you to start XEphem as one would any other macOS app and it automates starting up XQuartz for our X session. I hope that's useful. trane //
// Trane Francks trane@... Tokyo, Japan // Practice random kindness and senseless acts of beauty. On 2022/01/06 14:54, Trane Francks
wrote:
|
Re: Difficulty with OSX builds post Xephem-3.7.7
开云体育I wound up taking all
the Makefiles from 4.0.1 and copying them into 4.1, e.g., from
the root of the 4.0.1 source folder: for file in $(find .
-name "Makefile" -print); do Then edit GUI/xephem/xephem.c to remove the __APPLE hack section. Line 38 of Makefile in GUI/xephem, add the -lssl switch so the line now looks like "LIBS = $(XLIBS) $(LIBLIB) -lm -lssl" I had to compile under XQuartz 2.7.11 so that aavso.c doesn't
complain about missing print.h. On Big Sur, I also had to fix things so that X was using flat namespace for libXt.6.dylib. The time I got it all working was with a completely fresh
unpacking of the source archive, replacing/editing files and
compiling. A 'make clean' wasn't sufficient. YMMV. //
// Trane Francks trane@... Tokyo, Japan // Practice random kindness and senseless acts of beauty. On 2022/01/06 14:38, Karl Oestreich
wrote:
xephem-4.0.1 compiles??????? I did it just now?? xephem-4.1.0 does not, still hung up with some ssl library foolishness |
Re: Difficulty with OSX builds post Xephem-3.7.7
xephem-4.0.2 compiles but when executed kicks the couldn't find per display information? error... I think I have seen some rumblings in the forum about this "glitch"
xephem-4.0.1 again compiles but displays xephem 4.0.0 instead of xephem 4.0.1 on the main screen |
Re: Difficulty with OSX builds post Xephem-3.7.7
slightly better results
make[1]: `libz.a' is up to date. gcc -L../../libastro -L../../libip -L../../liblilxml -L../../libjpegd -L../../libpng -L../../libz -g -L/usr/lib -L/opt/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 -lXm /opt/local/lib/libXm.a /opt/local/lib/libXt.a /opt/local/lib/libSM.a /opt/local/lib/libICE.a /opt/local/lib/libXext.a /opt/local/lib/libXmu.a /opt/local/lib/libX11.a /opt/local/lib/libxcb.a /opt/local/lib/libXau.a /opt/local/lib/libXdmcp.a -lastro -lip -llilxml -ljpegd -lpng -lz -lm -lssl Undefined symbols for architecture x86_64: "_OPENSSL_init_ssl", referenced from: _net_create in netmenu.o "_SSL_CTX_set_options", referenced from: _net_create in netmenu.o "_TLS_client_method", referenced from: _net_create in netmenu.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [xephem] Error 1 |
Re: Difficulty with OSX builds post Xephem-3.7.7
开云体育Argh. Proofread, boy! Line 38, not 37. //
// Trane Francks trane@... Tokyo, Japan // Practice random kindness and senseless acts of beauty. On 2022/01/06 13:02, Trane Francks
wrote:
|
Re: Difficulty with OSX builds post Xephem-3.7.7
开云体育After replacing all the Makefiles from 4.0.1 in 4.1, I've managed to get 4.1 to compile on macOS Big Sur by adding switch "-lssl" at line 37 of Makefile in GUI/xephem. Brandon, I'm not sure where, but something broke in the Makefiles from 4.0.1 to 4.0.2. I hope this is helpful. trane //
// Trane Francks trane@... Tokyo, Japan // Practice random kindness and senseless acts of beauty. On 2022/01/06 12:20, Trane Francks
wrote:
|
Re: Difficulty with OSX builds post Xephem-3.7.7
开云体育Hi, Karl. Try compiling the v4.0.1 source. That Makefile seems to be intact. Per Elwood's previous suggestions, you may want to remove the __APPLE__ hack from xephem.c (lines 148-161, I think it is). I tried plugging the Makefile from 4.0.1 into the 4.1 sources, but that didn't resolve things. It's beyond my ken. Cheers, trane //
// Trane Francks trane@... Tokyo, Japan // Practice random kindness and senseless acts of beauty. On 2022/01/06 11:22, Karl Oestreich
wrote:
|
Re: Difficulty with OSX builds post Xephem-3.7.7
On Wed, Jan 5, 2022 at 07:22 PM, Karl Oestreich wrote:
gcc -L../../libastro -L../../libip -L../../liblilxml -L../../libjpegd -L../../libpng -L../../libz -g -L../../libXm/osx -L/usr/X11R6/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? ../../libXm/osx/libXm.a -lXp -lXt -lXext -lXmu -lX11 -lastro -lip -llilxml -ljpegd If that's really your entire link line you are missing a zillion more files. Look in the Makefile for fsmenu.o and you will see many more files after that which define all the symbols you are missing. So I'm thinking somehow your Makefile has become corrupted. |