Giter Site home page Giter Site logo

alandipert / ncsa-mosaic Goto Github PK

View Code? Open in Web Editor NEW
604.0 31.0 84.0 1.58 MB

NCSA Mosaic 2.7

Home Page: http://en.wikipedia.org/wiki/Mosaic_(web_browser)

License: Other

C 98.44% C++ 0.10% Fortran 0.35% Makefile 0.89% Module Management System 0.16% Shell 0.06%

ncsa-mosaic's Introduction

NCSA Mosaic

GitHub viewed with Mosaic

This is NCSA Mosaic 2.7, one of the first graphical web browsers. If you're on Ubuntu or something like it, your time machine is fueled up and ready to go. Follow the instructions below to build and run.

Many thanks to Sean MacLennan and Alan Wylie for doing the heavy lifting. And, of course, hats off to Marc Andreessen, Eric Bina, and the rest of the NCSA team for kicking things off for us. Thanks!

Building

  • First, install these packages:

    sudo apt-get install build-essential libmotif-dev libjpeg62-dev libpng12-dev x11proto-print-dev libxmu-headers libxpm-dev libxmu-dev
    
  • Next, build with:

    make linux
    
  • Run!

    src/Mosaic
    

ncsa-mosaic's People

Contributors

alandipert avatar andrastantos avatar clausecker avatar edorig avatar makew0rld avatar nishiowo avatar therealianj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ncsa-mosaic's Issues

outdated build list?

I don't personally use Ubuntu (rather than UNIX/*BSD/etc., Slackware GNU/Linux) but you mentioned it, so I'm trying to build on family PC's Kubuntu-based GNU/Linux (KDE Neon, which is like Kubuntu 20.04 with newer KDE, no other changes. Of course Kubuntu itself is on to 22.04) It worked for a version in 2021 but now says the below.

root@Hilltop-Heaven:~/math/src/ncsa-mosaic# apt-get install build-essential libmotif-dev libjpeg62-dev libpng12-dev x11proto-print-dev libxmu-headers libxpm-dev libxmu-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libpng12-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'libpng12-dev' has no installation candidate
E: Unable to locate package x11proto-print-dev

root@Hilltop-Heaven:~/math/src/ncsa-mosaic# make linux
...
gcc -g -DMOTIF1_2 -DLINUX -DPRERELEASE -Wall -Wno-parentheses -Wno-switch -Wno-switch-enum -Wno-char-subscripts -Wno-unused-result   -I/usr/X11R6/include -DHAVE_JPEG   -DHAVE_PNG   -I.. -I../libXmx -I../libwww2   -c -o main.o main.c
Xmx.c:59:10: fatal error: Xm/RepType.h: No such file or directory
   59 | #include <Xm/RepType.h>
      |          ^~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [<builtin>: Xmx.o] Error 1
make[2]: *** Waiting for unfinished jobs....
gcc -g -DMOTIF1_2 -DLINUX -DPRERELEASE -Wall -Wno-parentheses -Wno-switch -Wno-switch-enum -Wno-char-subscripts -Wno-unused-result      -I/usr/X11R6/include   -c -o HTFTP.o HTFTP.c
In file included from HTMLlists.c:56:
HTML.h:59:10: fatal error: Xm/Xm.h: No such file or directory
   59 | #include <Xm/Xm.h>
      |          ^~~~~~~~~
compilation terminated.
In file included from HTMLP.h:58,
                 from HTML.c:56:
HTML.h:59:10: fatal error: Xm/Xm.h: No such file or directory
   59 | #include <Xm/Xm.h>
      |          ^~~~~~~~~
compilation terminated.
make[2]: *** [<builtin>: HTMLlists.o] Error 1
make[2]: *** Waiting for unfinished jobs....
gcc -g -DMOTIF1_2 -DLINUX -DPRERELEASE -Wall -Wno-parentheses -Wno-switch -Wno-switch-enum -Wno-char-subscripts -Wno-unused-result      -I/usr/X11R6/include   -c -o HTFWriter.o HTFWriter.c
make[2]: *** [<builtin>: HTML.o] Error 1
make[2]: Leaving directory '/root/math/src/ncsa-mosaic/libhtmlw'
make[1]: *** [makefiles/Makefile.linux:266: libhtmlw] Error 2
make[1]: *** Waiting for unfinished jobs....
gcc -g -DMOTIF1_2 -DLINUX -DPRERELEASE -Wall -Wno-parentheses -Wno-switch -Wno-switch-enum -Wno-char-subscripts -Wno-unused-result      -I/usr/X11R6/include   -c -o HTFile.o HTFile.c
HTFTP.c:42:10: fatal error: X11/Intrinsic.h: No such file or directory
   42 | #include <X11/Intrinsic.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [<builtin>: HTFTP.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from XmxP.h:98,
                 from Xmx2.c:57:
Xmx.h:61:10: fatal error: X11/Intrinsic.h: No such file or directory
   61 | #include <X11/Intrinsic.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [<builtin>: Xmx2.o] Error 1
make[2]: Leaving directory '/root/math/src/ncsa-mosaic/libXmx'
make[1]: *** [makefiles/Makefile.linux:262: libXmx] Error 2
In file included from ../src/mosaic.h:102,
                 from HTAlert.c:18:
../src/../libXmx/Xmx.h:61:10: fatal error: X11/Intrinsic.h: No such file or directory
   61 | #include <X11/Intrinsic.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
In file included from ../src/mosaic.h:102,
                 from HTAccess.c:44:
../src/../libXmx/Xmx.h:61:10: fatal error: X11/Intrinsic.h: No such file or directory
   61 | #include <X11/Intrinsic.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [<builtin>: HTAlert.o] Error 1
make[2]: *** [<builtin>: HTAccess.o] Error 1
In file included from mosaic.h:102,
                 from main.c:61:
../libXmx/Xmx.h:61:10: fatal error: X11/Intrinsic.h: No such file or directory
   61 | #include <X11/Intrinsic.h>
      |          ^~~~~~~~~~~~~~~~~
In file included from HTFWriter.c:23:
../libhtmlw/HTML.h:65:10: fatal error: X11/Intrinsic.h: No such file or directory
   65 | #include <X11/Intrinsic.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
compilation terminated.
make[2]: *** [<builtin>: main.o] Error 1
make[2]: Leaving directory '/root/math/src/ncsa-mosaic/src'
make[2]: *** [<builtin>: HTFWriter.o] Error 1
make[1]: *** [makefiles/Makefile.linux:278: src] Error 2
make[2]: Leaving directory '/root/math/src/ncsa-mosaic/libwww2'
make[1]: *** [makefiles/Makefile.linux:270: libwww2] Error 2
make[1]: Leaving directory '/root/math/src/ncsa-mosaic'
make: *** [Makefile:67: linux] Error 2

Ubuntu 14.04 Build

Hi, I was able to compile it in Ubuntu 14.04 (Trusty Tahr) installing the following dependencies:

sudo apt-get install x11proto-core-dev libice-dev libpthread-stubs0-dev libsm-dev libxau-dev libxdmcp-dev x11proto-input-dev x11proto-kb-dev xtrans-dev libxcb1-dev libx11-dev libx11-doc libxt-dev libmotif-common libxm4 libmrm4 libuil4 uil libmotif-dev x11proto-xext-dev libxext-dev libxmu-headers libxmu-dev libpng12-dev libjpeg-turbo8-dev libjpeg8-dev libjpeg-dev libxpm-dev xorg-sgml-doctools

Hope it helps!

Mosaic Mac/Win Source

You wouldn't happen to have a copy of the Mac/Windows ports of Mosaic? The good people of NCSA don't seem to know where the code might be now... though I have it on good authority that the Win/Mac source were released briefly at one point, but I haven't seen it in the wild.

Probably won't compile with GCC 10 on Linux (`-fcommon` issue)

GCC 10 changed the default from -fcommon to -fno-common:

https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common

I haven't tested this with your version of Mosaic, only with another fork (https://github.com/yotann/ncsa-mosaic -- because it has been ported to a newer version of libpng, see #8). IMO, it's more than likely that it affects your version as well (I don't see any relevant differences between the two) and wanted to let you know.

One blunt workaround is to add -fcommon:

diff --git a/makefiles/Makefile.linux b/makefiles/Makefile.linux
index 2cea009..ad03902 100755
--- a/makefiles/Makefile.linux
+++ b/makefiles/Makefile.linux
@@ -225,7 +225,7 @@ customflags =
 
 # ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
 
-CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+CFLAGS = -fcommon -g $(sysconfigflags) $(prereleaseflags)
 
 # Don't worry about these -- for development purposes only.
 PURIFY = purify

As the Gentoo wiki points out, though, this is not an ideal solution. It also outlines nicely what should be done instead.

Additional packages needed to compile on Ubuntu

On a clean Ubuntu install, the following additional packages also need to be installed (together with the ones mentioned in the README: build-essential, libmotif3, libmotif-dev and libpng3)

  • x11-proto-print-dev
  • libxmu-headers
  • libxpm-dev
  • libxmu-dev

WTFont?

Built on Linux... just presents pages in fixed width, fixed height font. Ignores size changes for headings (i.e., <h1>) and any sort of text styles (i.e., <b>). I know these were supported at the time... but out of the box looks worse now on same pages than back in '93!

Changing fonts in the options menu does nothing... what am I missing?

Fails to compile (Debian 10)

readPNG.c: In function ‘ReadPNG’:
readPNG.c:179:26: error: dereferencing pointer to incomplete type ‘png_struct’ {aka ‘struct png_struct_def’}
     *width = (int)png_ptr->width;
                          ^~
readPNG.c:186:52: error: dereferencing pointer to incomplete type ‘png_info’ {aka ‘struct png_info_def’}
         fprintf(stderr,"bit depth = %d\n", info_ptr->bit_depth);
                                                    ^~
readPNG.c:242:13: warning: implicit declaration of function ‘png_set_dither’; did you mean ‘png_set_filter’? [-Wimplicit-function-declaration]
             png_set_dither(png_ptr, std_color_cube,
             ^~~~~~~~~~~~~~
             png_set_filter
readPNG.c:102:18: warning: unused variable ‘packets’ [-Wunused-variable]
     unsigned int packets;
                  ^~~~~~~
make[2]: *** [<builtin>: readPNG.o] Error 1
make[2]: Leaving directory '/home/user/Downloads/ncsa-mosaic/src'
make[1]: *** [makefiles/Makefile.linux:278: src] Error 2
make[1]: Leaving directory '/home/user/Downloads/ncsa-mosaic'
make: *** [Makefile:100: linux] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.