Compilation issues: can't find -lSM

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Daven_26d1
    Adept
    • Jun 2007
    • 211

    Compilation issues: can't find -lSM

    Trying to compile V 3.0.8 from rephial under linux; conf seems to run fine, when I get as far as running make I get:

    mk/objective.mk:267: .depend: no such file or directory

    followed by a linker failure ("cannot find -lSM")

    I'm obviously missing a lib or an argument somewhere, but I can't seem to figure out what!
    I updated autoconf & automake as per the suggestions on rephial.org, but to no avail.

    I successfully compiled V 3.0.3 some while ago on the same system and don't remember having this issue, but this is this first V I've tried since that version.
    Any help appreciated!
    You sold a Broken Sword (1d2) (-2,-4) {average} (j) for 1 gold.
    The shopkeeper howls in agony!
    You say "Dude, the clue is in the name...".
  • Fuchs
    Rookie
    • Jul 2007
    • 2

    #2
    Just install the libsm package(s). It depends on your distribution, on debian (so probably ubuntu as well) you'd have to install libsm-dev and libsm6. The SM library is part of X.org, so it might be enough to install the X.org development package and rely on a proper dependency system of your distribution.

    In case this doesn't help you, please post which distribution you are using.

    On the other hand, I noticed some minor glitches in the new configure based build process. So, using "the old way":
    Code:
    # cd src
    # make -f makefile.std
    might be the easier way to compile Angband at the moment.

    Comment

    • Daven_26d1
      Adept
      • Jun 2007
      • 211

      #3
      Yeah, I tried "make -f Makefile.std" already; get similar linker error.

      I'm certain its a dependency issue, and I suspect those packages are what I need.

      Cheers, mate.


      EDIT - up and running. Turns out I had the package (xorg-x11-libs-6.x.x for RHL/Fedora/SuSE users) but something got broken; fscking reiser!

      Also, (if any one else is running SuSE) you'll prolly need to add the following:
      "-L/usr/X11R86/lib"
      to the LIBS= part of Makefile.std; I remember now that this was also necessary with v3.0.3.

      That took far too long; I swear parenthood makes you lose all your geek skills. =[
      Last edited by Daven_26d1; July 11, 2007, 20:19.
      You sold a Broken Sword (1d2) (-2,-4) {average} (j) for 1 gold.
      The shopkeeper howls in agony!
      You say "Dude, the clue is in the name...".

      Comment

      • pav
        Administrator
        • Apr 2007
        • 793

        #4
        The 3.0.8 is broken, the configure script looks up your X libraries, but then the path is never used. You shouldn't have to manually add -L/usr/X11R6/lib!

        I filed a trac ticket for it yesterday.
        See the elves and everything! http://angband.oook.cz

        Comment

        • Daven_26d1
          Adept
          • Jun 2007
          • 211

          #5
          Originally posted by pav
          The 3.0.8 is broken, the configure script looks up your X libraries, but then the path is never used. You shouldn't have to manually add -L/usr/X11R6/lib!

          I filed a trac ticket for it yesterday.
          Yeah, I noticed some queer directory traversing when trying the ./configure; make; make install method, even after I reinstalled the RPM. It looked to me as if some $path var got used weirdly.

          Where you expect:
          /the/path/to/the/required/libs
          it was more like:
          /the/path/to/the/../../../../required/libs.

          Adding a path manually and then getting to play angband seemed like a much more fun idea than debugging a makefile!
          You sold a Broken Sword (1d2) (-2,-4) {average} (j) for 1 gold.
          The shopkeeper howls in agony!
          You say "Dude, the clue is in the name...".

          Comment

          • chrno
            Rookie
            • Jul 2007
            • 3

            #6
            Please excuse my threadjacking but I too have a problem with the rephial 3.0.8 version. Unlike the OP, I have no problem with the building proper -- it's the install step that's causing trouble. I'm running Debian ("etch").

            Ideally, I'd like to install to /usr/local/stow/angband-3.0.8 and have stow (actually xstow, but I digress) manage the installation, but for testing purposes, I install to $HOME. So, what I do is basically

            Code:
            ./configure --prefix=$HOME
            and this is what I get

            Code:
            checking for gcc... gcc
            checking for C compiler default output file name... a.out
            checking whether the C compiler works... yes
            checking whether we are cross compiling... no
            checking for suffix of executables...
            checking for suffix of object files... o
            checking whether we are using the GNU C compiler... yes
            checking whether gcc accepts -g... yes
            checking for gcc option to accept ISO C89... none needed
            checking for a BSD-compatible install... /usr/bin/install -c
            checking whether ln -s works... yes
            checking whether make sets $(MAKE)... yes
            checking for rm... /bin/rm
            checking for mv... /bin/mv
            checking for cp... /bin/cp
            checking for initscr in -lcurses  ... yes
            checking for initscr in -lncurses ... yes
            checking for initscr in -lpdcurses... no
            checking how to run the C preprocessor... gcc -E
            checking for X... libraries , headers
            checking for gethostbyname... yes
            checking for connect... yes
            checking for remove... yes
            checking for shmat... yes
            checking for IceConnectionNumber in -lICE... yes
            checking for Mix_OpenAudio in -lSDL_mixer... no
            checking for grep that handles long lines and -e... /bin/grep
            checking for egrep... /bin/grep -E
            checking for ANSI C header files... yes
            checking for sys/types.h... yes
            checking for sys/stat.h... yes
            checking for stdlib.h... yes
            checking for string.h... yes
            checking for memory.h... yes
            checking for strings.h... yes
            checking for inttypes.h... yes
            checking for stdint.h... yes
            checking for unistd.h... yes
            checking fcntl.h usability... yes
            checking fcntl.h presence... yes
            checking for fcntl.h... yes
            checking for stdint.h... (cached) yes
            checking dirent.h usability... yes
            checking dirent.h presence... yes
            checking for dirent.h... yes
            checking for stdbool.h that conforms to C99... yes
            checking for _Bool... yes
            checking for an ANSI C-conforming const... yes
            checking return type of signal handlers... void
            checking for mkstemp... yes
            checking for setresgid... yes
            checking for setegid... yes
            checking for can_change_color... yes
            configure: creating ./config.status
            config.status: creating mk/rules.mk
            config.status: creating src/autoconf.h
            
            Configuration:
            
              Install path:                           /home/chrno
            
            -- Frontends --
            - Curses                                  Yes
            - GTK 2.x                                 Disabled
            - X11                                     Yes
            - SDL                                     Disabled
            Looks relatively benign to me, so I do

            Code:
            make
            and the build proceeds without much of note happening, except for some

            Code:
            mk/objective.mk:267: .depend: No such file or directory
            and a warning

            Code:
            z-file.c: In function ‘safe_setuid_drop’:
            z-file.c:40: warning: implicit declaration of function ‘setresgid’
            Again, nothing to suggest a serious problem, so I do

            Code:
            make install
            and this is all I get

            Code:
            mk/objective.mk:267: .depend: No such file or directory
            mk/objective.mk:267: .depend: No such file or directory
            mk/objective.mk:267: .depend: No such file or directory
            mk/objective.mk:267: .depend: No such file or directory
               INSTALL     angband              (-> ..)
            mk/objective.mk:267: .depend: No such file or directory
            Nothing gets installed. However, if I do

            Code:
            ./configure --prefix=$HOME --with-setgid=games; make; make install
            (with me in the games group), then I get

            Code:
            mk/objective.mk:267: .depend: No such file or directory
            mk/objective.mk:267: .depend: No such file or directory
            mk/objective.mk:267: .depend: No such file or directory
            mk/objective.mk:267: .depend: No such file or directory
               INSTALL     angband              (-> /home/chrno/bin)
               INSTALL     delete.me            (-> /home/chrno/share/angband//apex)
                 TOUCH     /home/chrno/share/angband//apex/scores.raw
            chown: changing ownership of `/home/chrno/share/angband//apex/delete.me': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//apex/scores.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//apex': Operation not permitted
               INSTALL     delete.me            (-> /home/chrno/share/angband//bone)
            chown: changing ownership of `/home/chrno/share/angband//bone': Operation not permitted
               INSTALL     delete.me            (-> /home/chrno/share/angband//data)
                 TOUCH     /home/chrno/share/angband//data/*.raw
            chown: changing ownership of `/home/chrno/share/angband//data/shop_own.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/artifact.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/limits.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/monster.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/p_race.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/p_class.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/delete.me': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/object.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/cost_adj.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/prices.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/terrain.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/ego_item.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/flavor.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/p_hist.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data/vault.raw': Operation not permitted
            chown: changing ownership of `/home/chrno/share/angband//data': Operation not permitted
               INSTALL     artifact.txt         (-> /home/chrno/share/angband//edit)
               INSTALL     cost_adj.txt         (-> /home/chrno/share/angband//edit)
               INSTALL     ego_item.txt         (-> /home/chrno/share/angband//edit)
               INSTALL     flavor.txt           (-> /home/chrno/share/angband//edit)
               INSTALL     limits.txt           (-> /home/chrno/share/angband//edit)
               INSTALL     monster.txt          (-> /home/chrno/share/angband//edit)
               INSTALL     p_class.txt          (-> /home/chrno/share/angband//edit)
               INSTALL     p_hist.txt           (-> /home/chrno/share/angband//edit)
               INSTALL     p_race.txt           (-> /home/chrno/share/angband//edit)
               INSTALL     shop_own.txt         (-> /home/chrno/share/angband//edit)
               INSTALL     spell.txt            (-> /home/chrno/share/angband//edit)
               INSTALL     terrain.txt          (-> /home/chrno/share/angband//edit)
               INSTALL     vault.txt            (-> /home/chrno/share/angband//edit)
               INSTALL     dead.txt             (-> /home/chrno/share/angband//file)
               INSTALL     news.txt             (-> /home/chrno/share/angband//file)
               INSTALL     attack.txt           (-> /home/chrno/share/angband//help)
               INSTALL     birth.txt            (-> /home/chrno/share/angband//help)
               INSTALL     command.txt          (-> /home/chrno/share/angband//help)
               INSTALL     dungeon.txt          (-> /home/chrno/share/angband//help)
               INSTALL     general.txt          (-> /home/chrno/share/angband//help)
               INSTALL     option.txt           (-> /home/chrno/share/angband//help)
               INSTALL     playing.txt          (-> /home/chrno/share/angband//help)
               INSTALL     version.txt          (-> /home/chrno/share/angband//help)
               INSTALL     delete.me            (-> /home/chrno/share/angband//info)
               INSTALL     flvr-dvg.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     flvr-new.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     flvr-xxx.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     font.prf             (-> /home/chrno/share/angband//pref)
               INSTALL     font-dos.prf         (-> /home/chrno/share/angband//pref)
            /usr/bin/install: cannot stat `font-dos.prf': No such file or directory
               INSTALL     font-ibm.prf         (-> /home/chrno/share/angband//pref)
            /usr/bin/install: cannot stat `font-ibm.prf': No such file or directory
               INSTALL     font-mac.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     font-win.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     font-x11.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     font-xxx.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     graf.prf             (-> /home/chrno/share/angband//pref)
               INSTALL     graf-dvg.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     graf-gcu.prf         (-> /home/chrno/share/angband//pref)
            /usr/bin/install: cannot stat `graf-gcu.prf': No such file or directory
               INSTALL     graf-mac.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     graf-new.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     graf-win.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     graf-x11.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     graf-xxx.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     message.prf          (-> /home/chrno/share/angband//pref)
               INSTALL     pref.prf             (-> /home/chrno/share/angband//pref)
               INSTALL     pref-acn.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     pref-gcu.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     pref-mac.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     pref-sdl.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     pref-x11.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     user.prf             (-> /home/chrno/share/angband//pref)
               INSTALL     user-mac.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     xtra-dvg.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     xtra-new.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     xtra-xxx.prf         (-> /home/chrno/share/angband//pref)
               INSTALL     delete.me            (-> /home/chrno/share/angband//save)
            chown: changing ownership of `/home/chrno/share/angband//save': Operation not permitted
               INSTALL     delete.me            (-> /home/chrno/share/angband//user)
               INSTALL     copying.txt          (-> /home/chrno/share/angband//xtra/font)
               INSTALL     5x8.fon              (-> /home/chrno/share/angband//xtra/font)
               INSTALL     6x10.fon             (-> /home/chrno/share/angband//xtra/font)
               INSTALL     6x12.fon             (-> /home/chrno/share/angband//xtra/font)
               INSTALL     6x13b.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     6x13.fon             (-> /home/chrno/share/angband//xtra/font)
               INSTALL     7x13b.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     7x13.fon             (-> /home/chrno/share/angband//xtra/font)
               INSTALL     8x13b.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     8x13c.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     8x13.fon             (-> /home/chrno/share/angband//xtra/font)
               INSTALL     8x16b.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     8x16.fon             (-> /home/chrno/share/angband//xtra/font)
               INSTALL     9x15b.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     9x15.fon             (-> /home/chrno/share/angband//xtra/font)
               INSTALL     10x17b.fon           (-> /home/chrno/share/angband//xtra/font)
               INSTALL     10x17.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     10x20.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     12x20b.fon           (-> /home/chrno/share/angband//xtra/font)
               INSTALL     12x20.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     12x24.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     16x25b.fon           (-> /home/chrno/share/angband//xtra/font)
               INSTALL     16x25.fon            (-> /home/chrno/share/angband//xtra/font)
               INSTALL     16x16.bmp            (-> /home/chrno/share/angband//xtra/graf)
               INSTALL     16x16.png            (-> /home/chrno/share/angband//xtra/graf)
               INSTALL     32x32.png            (-> /home/chrno/share/angband//xtra/graf)
               INSTALL     8x13.bmp             (-> /home/chrno/share/angband//xtra/graf)
               INSTALL     8x8.bmp              (-> /home/chrno/share/angband//xtra/graf)
               INSTALL     8x8.png              (-> /home/chrno/share/angband//xtra/graf)
               INSTALL     backgrnd.bmp         (-> /home/chrno/share/angband//xtra/graf)
               INSTALL     mask.bmp             (-> /home/chrno/share/angband//xtra/graf)
               INSTALL     sound.cfg            (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     breath.wav           (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     clunk.wav            (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     death.wav            (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     destroy.wav          (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     drop.wav             (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     eat.wav              (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     flee.wav             (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     hallu.wav            (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     hit.wav              (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     hit1.wav             (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     kill.wav             (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     kill1.wav            (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     level.wav            (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     miss.wav             (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     miss1.wav            (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     money.wav            (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     opendoor.wav         (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     shutdoor.wav         (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     thump.wav            (-> /home/chrno/share/angband//xtra/sound)
               INSTALL     vomit.wav            (-> /home/chrno/share/angband//xtra/sound)
            mk/objective.mk:267: .depend: No such file or directory
            Clearly, some progress has been made. However, if I now try to run the game, I get

            Code:
            angband: Cannot access the '${prefix}/share/angband/file/news.txt' file!
            
            The 'lib' directory is probably missing or broken.
            Perhaps the archive was not extracted correctly.
            See the 'readme.txt' file for more information.
            Any ideas? The file in question does exist and is readable

            Code:
            -rw-r--r-- 1 chrno chrno 1052 2007-07-17 22:28 /home/chrno/share/angband/file/news.txt

            Comment

            • pav
              Administrator
              • Apr 2007
              • 793

              #7
              Several issues.

              First, I'd advise not to install into $HOME but $HOME/subdir. Now, you'll end up with $HOME/bin and $HOME/share and these are ugly looking in your home dir.

              Second, the setgid install requires root permissions, as it changes ownership of installed files. It's designed for system-wide installations.

              Third, if you want to play the game from your homedir, just unpack it somewhere, ./configure, make, and then move angband executable from src subdir up one level and play.

              Fourth, if you go for site-wide install anyway, there's a bug in the configure script. After configure, before make, edit src/autoconf.h and replace ${prefix} with your actual configured prefix. Also, you will need to add object.txt to lib/edit/Makefile.in ...

              We got a bit buggy release here ..
              See the elves and everything! http://angband.oook.cz

              Comment

              • chrno
                Rookie
                • Jul 2007
                • 3

                #8
                Fourth, if you go for site-wide install anyway, there's a bug in the configure script. After configure, before make, edit src/autoconf.h and replace ${prefix} with your actual configured prefix. Also, you will need to add object.txt to lib/edit/Makefile.in ...
                Thanks a lot! With these updates (there's no lib/edit/Makefile.in, so I assumed you meant lib/edit/Makefile), I can start the game. However, when I try to access the help feature, I just get a "Cannot open help.hlp" message. The file is present in the

                Code:
                /home/chrno/src/angband-3.0.8/lib/help/
                directory, but not in the

                Code:
                /usr/local/stow/angband-3.0.8/share/angband/help/
                directory (which also does not contain the 308.txt file, BTW), so I guess it's just an installer issue. What do I need to fix next? :-)

                Comment

                • pav
                  Administrator
                  • Apr 2007
                  • 793

                  #9
                  Ah bummer, I haven't tried accessing in-game help when I tried. You need to add all the missed files to Makefiles, just like you did with object.txt. Or just copy the files by hand.
                  See the elves and everything! http://angband.oook.cz

                  Comment

                  • chrno
                    Rookie
                    • Jul 2007
                    • 3

                    #10
                    Ah bummer, I haven't tried accessing in-game help when I tried. You need to add all the missed files to Makefiles, just like you did with object.txt. Or just copy the files by hand.
                    It was just a matter of adding the two files (308.txt and help.hlp) to the

                    Code:
                    /home/chrno/src/angband-3.0.8/lib/help/Makefile
                    file. No big problem. I just hope the next version will work slightly better "out of the box". :-)

                    Comment

                    • Daven_26d1
                      Adept
                      • Jun 2007
                      • 211

                      #11
                      Originally posted by chrno
                      It was just a matter of adding the two files (308.txt and help.hlp) to the

                      Code:
                      /home/chrno/src/angband-3.0.8/lib/help/Makefile
                      file. No big problem. I just hope the next version will work slightly better "out of the box". :-)
                      It doesn't like; I get all the same issues with 3.0.8pr2 as I had before.
                      You sold a Broken Sword (1d2) (-2,-4) {average} (j) for 1 gold.
                      The shopkeeper howls in agony!
                      You say "Dude, the clue is in the name...".

                      Comment

                      Working...
                      😀
                      😂
                      🥰
                      😘
                      🤢
                      😎
                      😞
                      😡
                      👍
                      👎