Subj : HPT Compile Error To : Dan Richter From : mark lewis Date : Wed Jun 26 2019 13:39:54 WARNING: this is long, detailed, and maybe in left field... On 2019 Jun 26 00:03:24, you wrote to All: DR> I've been playing around with trying to get HPT compiled under Ubuntu 18.04 DR> here, and I keep getting errors. Just about everything else will compile DR> with no problems, but not HPT. because of your message, i just tried this on my ubuntu server 18.04 LTS... DR> When I try 'make all install' in /hpt, I get a bunch of warnings that DR> look like: what method in the huskybse/INSTALL file did you choose to go with? i've used the II.1.* format where you copy huskybse/huskymak.cfg to your husky-dev root and edit it if needed... i do all of my stuff as individual account installations and not system-wide installations... the only gotcha that i cannot remember how i fixed was creating a file in /etc/ld.so.conf.d for my user... i'll explain how to do this below after we get the husky stuff built... cd ~ mkdir -p fido-dev/husky cd ~/fido-dev/husky # # here i get the husky modules i need either by pulling them # from CVS or by tarball. i did it with CVS but don't recall # exactly how... either way, i end up with a tree like this # # /home/myuser/fido-dev # /home/myuser/fido-dev/husky # /home/myuser/fido-dev/husky/areafix # /home/myuser/fido-dev/husky/fidoconf # /home/myuser/fido-dev/husky/hpt # /home/myuser/fido-dev/husky/htick # /home/myuser/fido-dev/husky/huskybse # /home/myuser/fido-dev/husky/huskylib # /home/myuser/fido-dev/husky/smapi # /home/myuser/fido-dev/husky/sqpack # # at this point, we find and start following the huskybse/INSTALL file # and we chose to follow section II.1 for building and installing... # # so after we read a little but, we start with II.1.2 Configuring # # we copy the huskymak.cfg file to our ~/fido-dev directory # cp huskybse/huskymak.cfg . # # and edit huskymak.cfg # the only thing i do is set the PREFIX to home/myuser/fido # everything else i leave alone # gedit huskymak.cfg # # now we move to II.1.3 Compiling and Installing... # # there's a missed step in the INSTALL FILE, huskybse/README.Makefiles # says # # "Please first do "make install" in huskylib before you try to # compile smapi or fidoconfig, and do "make install" in fidoconfig # and/or smapi before you try to compile any of the other programs." # # so here we go with the tasks... # # do huskylib 1st # cd ~/fido-dev/huskylib make clean sudo make install # # now we can go back to the huskybse/INSTALL file and pick up II.1.3 # where we left off... # # do smapi 2nd # cd ~/fido-dev/smapi make clean make all sudo make install # # do fidoconf 3rd # cd ~/fido-dev/fidoconf make clean make all sudo make install # # the rest can probably be done in any order but check the docs # i did them in this order... # # areafix 4th because others need its lib file # cd ~/fido-dev/areafix make clean make all sudo make install # cd ~/fido-dev/sqpack make clean make all sudo make install # cd ~/fido-dev/htick make clean make all sudo make install # cd ~/fido-dev/hpt make clean make all sudo make install i split the "make all install" commands because i didn't want the binaries to be root:root... but the install part complains about Can't create temporary cache file /etc/ld.so.cache~: Permission denied so i "sudo make install" to handle that problem as we carry on with each step until we reach the end ;) now about that file in /etc/ld.so.conf.d that i mentioned before we started the above process... i do not recall how or when i created it but it does exist and it points to my ~/fido/lib directory so the husky stuff, at least, can find the lib files we compiled above... the file is named /etc/ld.so.conf.d/myuser.conf and contains the following ----- snip ----- # libc configuration for myuser /home/myuser/fido/lib ----- snip ----- on my system, the above file is chmod 644 and chown root:root after you create the file and place it in /etc/ld.so.conf.d, run sudo ldconfig to get it registered... after that you can test by running one of the small tools that was built... ~/fido/bin/pktinfo --version and it should run... you could also ldd ~/fido/bin/pktinfo if you wanted to make sure none of the libs are "=> not found"... if they are, then the we missed something above... see below for example ldd output showing that the husky libs are now find in our ~/fido/lib directory... so if you've made it this far, you can now jump to section III in the INSTALL file and figure out how to configure the thing... i found a tool called "fidoinst for bash" which set up my initial configuration which i then went digging through and adjusting... i don't remember where i found "fidoinst" or how i ran it... i just know that i came up with a working setup that the tparser liked and passed... DR> src/perl.c: In function 'perl_robotmsg': DR> /usr/lib/x86_64-linux-gnu/perl/5.26/CORE/perl.h:529:29: warning: ISO C DR> forbids braced-groups within expressions [-Wpedantic] # define STMT_START DR> (void)( /* gcc supports "({ STATEMENTS; })" */ yeah, even with my method there are a lot of warnings and even a bunch of errors but they're ignored... mostly the errors seem to be for installing man pages but they're not where man can find them anyway... DR> Then it will exit with error 1: DR> makefile.inc:28: recipe for target 'perl.o' failed DR> make: *** [perl.o] Error 1 the method i describe above doesn't add perl into hpt... in fact, the huskymak.cfg file specifically has PERL=0 in it and perl is not included in the build AFAICT... ~/fido-dev/husky/hpt$ ldd ~/fido/bin/hpt linux-vdso.so.1 (0x00007ffe00fc0000) libareafix.so.1.9 => /home/myuser/fido/lib/libareafix.so.1.9 (0x00007f96f80b2000) libfidoconfig.so.1.9 => /home/myuser/fido/lib/libfidoconfig.so.1.9 (0x00007f96f7e87000) libsmapi.so.2.5 => /home/myuser/fido/lib/libsmapi.so.2.5 (0x00007f96f7c6d000) libhusky.so.1.9 => /home/myuser/fido/lib/libhusky.so.1.9 (0x00007f96f7a5b000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f96f766a000) /lib64/ld-linux-x86-64.so.2 (0x00007f96f84ee000) DR> I know I have perl installed on that computer. When I run perl DR> --version I get: that's the manually run stuff... not the -dev stuff for embedded... DR> I'm not sure what I'm missing. Is there another dependency for perl DR> that I've missed? perl-dev maybe? but you don't need really need perl embedded in hpt, do you? i've never found a use for it, TBH... )\/(ark Always Mount a Scratch Monkey Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong... .... I'm not as stupid as I look, but I hope to be some day. --- * Origin: (1:3634/12.73) .