# sysinstall



## mrmike19597 (May 9, 2014)

I read that sysinstall was removed and no longer a command. How do I go adding the ports package to FreeBSD 10? I need TCL in order to get libtc18.4.so


----------



## trh411 (May 9, 2014)

Suggested reading: Chapter 5. Installing Applications: Packages and Ports


----------



## mrmike19597 (May 9, 2014)

I was reading that but how do I find TCL package for libtc18.4 so and make it download to ports?


----------



## trh411 (May 9, 2014)

mrmike19597 said:
			
		

> I was reading that but how do I find TCL package for libtc18.4 so and make it download to ports?


`portsnap fetch extract` downloads and extracts all ports to /usr/ports on the local system.
`portsnap fetch update` downloads and applies all updates to all ports on the local system since the last update. It should always be run before installing or upgrading any ports to ensure you have the latest version.

Once you have a local copy of the ports tree at /usr/ports, you can search it for the desired port. I generally use find(1) for this. The TCL ports are in /usr/ports/lang. If you plan on working with ports, I highly recommend portmaster(8) as your tool of choice.

If you prefer to install binary packages, instead of build from source, you can use pkg(8), which uses a package repository instead of the /usr/ports.


----------



## mrmike19597 (May 9, 2014)

Thank you, I see where I got lost.


----------



## mrmike19597 (May 9, 2014)

Have to switch to FreeBSD 8, apparently eggdrop don't work on FreeBSD 10, I checked eggdrop forum and others have same issue.


----------



## trh411 (May 9, 2014)

mrmike19597 said:
			
		

> Have to switch to FreeBSD 8, apparently eggdrop don't work on FreeBSD 10, I checked eggdrop forum and others have same issue.


Before you do something that drastic, have you tried seeing if irc/eggdrop-devel resolves the issues. That gives version 1.8.0 versus version 1.6.21 in irc/eggdrop. It is a development version, however, which means it might come with its own set of [new] problems.


----------



## mrmike19597 (May 9, 2014)

Tried that and get more errors


----------



## mrmike19597 (May 10, 2014)

The other errors went away when I did that for irc/eggdrop , but this I what I get now http://i62.tinypic.com/25qri8w.jpg, Thanks for helping me.


----------



## kpa (May 10, 2014)

I can't help with the error but now that you have internet working on the machine you could use script(1) to capture output of commands. Pictures can be really hard to read sometimes. For example:


```
cd /usr/ports/irc/eggdrop
make clean
script /tmp/eggdrop.log make install clean
```

You could then post the whole /tmp/eggdrop.log at let's say http://www.pastebin.com and post the link here or a small part of it here directly inside code tags.


----------



## trh411 (May 10, 2014)

mrmike19597 said:
			
		

> The other errors went away when I did that for irc/eggdrop , but this I what I get now http://i62.tinypic.com/25qri8w.jpg, Thanks for helping me.


I was able to get a clean install of irc/eggdrop from ports on my FreeBSD-10.0-RELEASE amd64 VM. It looks like you are trying to build from third-party source. Try building with the FreeBSD port using `portmaster irc/eggdrop`.


----------



## mrmike19597 (May 10, 2014)

Like this one

```
cc -o ../eggdrop bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o dccutil.o dns.o flags.o language.o match.o main.o mem.o misc.o misc_file.o modules.o net.o rfc1459.o tcl.o tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o userrec.o users.o -L/usr/local/lib -ltcl85 -lm -lpthread md5/md5c.o compat/*.o `cat mod/mod.xlibs` 
 match.o: In function `cron_match': 
 /home/gh0st/eggdrop1.6.21/src/match.c:436: undefined reference to `cron_matchfld' 
 /home/gh0st/eggdrop1.6.21/src/match.c:437: undefined reference to `cron_matchfld' 
 main.o: In function `garbage_collect': 
 /home/gh0st/eggdrop1.6.21/src/./main.c:710: undefined reference to `garbage_collect_tclhash' 
 modules.o:(Sad.data+0x380): undefined reference to `open_listen' 
 tcldcc.o: In function `tcl_listen': 
 /home/gh0st/eggdrop1.6.21/src/tcldcc.c:942: undefined reference to `open_listen' 
 cc: error: linker command failed with exit code 1 (use -v to see invocation) 
 *** Error code 1 

 Stop. 
 make[1]: stopped in /home/gh0st/eggdrop1.6.21/src 
 *** Error code 1
```


----------



## trh411 (May 10, 2014)

Yes, but that is building from third-party source. You need to build irc/eggdrop from the FreeBSD ports collection. I was able to install it with no reported problems.


----------



## mrmike19597 (May 10, 2014)

trh411 said:
			
		

> Yes, but that is building from third-party source. You need to build irc/eggdrop from the FreeBSD ports collection. I was able to install it with no reported problems.



Yes the pkg install irc/eggdrop installs just fine.... but when I go to eggdrop folder and type `./configure`, `make config` , those all work with no problems but then I type `make` and get the error I pasted above, same error egghelp forum talks about with no solution found yet for FreeBSD 10.


----------



## mrmike19597 (May 10, 2014)

Doing that in eggdrop1.6.21 folder after irc/eggdrop is Installed in ports I mean.


----------



## trh411 (May 10, 2014)

mrmike19597 said:
			
		

> trh411 said:
> 
> 
> 
> ...


If you install the package, you do not need to also install the port. They give you the same thing. If `pkg install irc/eggdrop` completed successfully, you're done ... except maybe for some local configuration.


----------



## mrmike19597 (May 10, 2014)

So I should deinstall the port packages like tcl85, tcl84? Then try again?


----------



## trh411 (May 10, 2014)

mrmike19597 said:
			
		

> So I should deinstall the port packages like tcl85, tcl84? Then try again?


If you installed irc/eggdrop successfully as a binary package using `pkg install eggdrop`, that should have also installed the lang/tcl86 dependency. There is nothing to "try again". Why do you think there is?

Technically you do not also need lang/tcl84 or lang/tcl85, and you might want to remove them just to avoid confusion..


----------



## mrmike19597 (May 10, 2014)

Can you please explain how to run ./configure with a path/to/file?  Two files libtcl.so and tcl.h


----------



## trh411 (May 10, 2014)

mrmike19597 said:
			
		

> Can you please explain how to run ./configure with a path/to/file?  Two files libtcl.so and tcl.h


Not until you tell me why you think you need to do that. That is part of the third-party build from source process, which you don't need. Why are you insisting on messing with that when it is not required?

You have already stated that you successfully installed irc/eggdrop using `pkg install eggdrop`. That installed everything you need to run irc/eggdrop on your system. Have you tried to run it?


----------



## mrmike19597 (May 10, 2014)

I'm sorry, let me explain better... 
I successfully installed `irc/eggdrop`.

Then I went to my /usr/home/folder/eggdrop1.6.21

That is where I have the eggdrop1.6.21.tar.gz extracted and installed 
I type `./configure` it is successful
I type `make install` it is successful
I type `make` and get this error: 


```
cc -o ../eggdrop bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o dccutil.o dns.o flags.o language.o match.o main.o mem.o misc.o misc_file.o modules.o net.o rfc1459.o tcl.o tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o userrec.o users.o -L/usr/local/lib -ltcl85 -lm -lpthread md5/md5c.o compat/*.o `cat mod/mod.xlibs` 
 match.o: In function `cron_match': 
 /home/gh0st/eggdrop1.6.21/src/match.c:436: undefined reference to `cron_matchfld' 
 /home/gh0st/eggdrop1.6.21/src/match.c:437: undefined reference to `cron_matchfld' 
 main.o: In function `garbage_collect': 
 /home/gh0st/eggdrop1.6.21/src/./main.c:710: undefined reference to `garbage_collect_tclhash' 
 modules.o:(Sad.data+0x380): undefined reference to `open_listen' 
 tcldcc.o: In function `tcl_listen': 
 /home/gh0st/eggdrop1.6.21/src/tcldcc.c:942: undefined reference to `open_listen' 
 cc: error: linker command failed with exit code 1 (use -v to see invocation) 
 *** Error code 1 

 Stop. 
 make[1]: stopped in /home/gh0st/eggdrop1.6.21/src 
 *** Error code 1
```

So what I am trying to say is I have irc/eggdrop installed successfully ..... I just can't get the program I downloaded from egghelp.org to successfully make after I do all I done above.


----------



## kpa (May 10, 2014)

What program is it? There could be a FreeBSD port for it as well. Search for it at http://www.freshports.org/.


----------



## mrmike19597 (May 10, 2014)

kpa said:
			
		

> What program is it? There could be a FreeBSD port for it as well. Search for it at http://www.freshports.org/.


 It is http://www.egghelp.org/setup.htm


----------



## trh411 (May 10, 2014)

mrmike19597 said:
			
		

> So what I am trying to say is I have irc/eggdrop installed successfully .....


Then you are done. STOP!


			
				mrmike19597 said:
			
		

> I just can't get the program I downloaded from egghelp.org to successfully make after I do all I done above.


You don't need it. Remove it from your system. You have already installed irc/eggdrop as a binary package. Third-party source is irrelevant.


----------



## trh411 (May 10, 2014)

I'm thinking you're confused about the whole packages, ports, third-party source thing, so let me try to explain this differently.

There are three ways to install tools (e.g. irc/eggdrop) on FreeBSD:

 Install the pre-packaged binary from the FreeBSD Package Repository
 Build (install) the port from source from the FreeBSD Ports Collection
 Build (install) the application directly from third-party source (e.g. from egghelp.org)
All of these are mutually exclusive, in that if you install using any one of the three methods, you are done. You have already installed irc/eggdrop using pkg(8). Thus, you are done.

Methods #1 and #2 are always preferred on FreeBSD because they have been especially "ported" to FreeBSD. You can use method #3 if you insist, but if you run into problems you will always be advised to use the FreeBSD port instead.

Does this help?


----------



## mrmike19597 (May 10, 2014)

trh411 said:
			
		

> mrmike19597 said:
> 
> 
> 
> ...



I get what you are saying now but I want to use the one on egghelp.org, it is what I am used to using for years. If I use irc/eggdrop I don't see where I am suppose to type `make install DEST=/usr/home/folder/bot-id` so it will create it like other way it used to be, if you can give me a sample it will help, I learn pretty fast.


----------



## kpa (May 10, 2014)

Nm.


----------



## trh411 (May 10, 2014)

mrmike19597 said:
			
		

> I get what you are saying now but I want to use the one on egghelp.org, it is what I am used to using for years. If I use irc/eggdrop I don't see where I am suppose to type `make install DEST=/usr/home/folder/bot-id` so it will create it like other way it used to be, if you can give me a sample it will help, I learn pretty fast.


Is the issue here about where irc/eggdrop installs its files? You want the files to be installed relative to /usr/home rather than /usr/local, which is the default location for all FreeBSD package/port installations?


----------



## kpa (May 10, 2014)

Read again the pkg-message of the installed package, it should have pointers to the documentation of the port that explain how to use it:

`pkg info -D eggdrop`

I understand what you mean by installing it the way you are used to but FreeBSD ports doesn't support such set ups easily, everything goes under the same PREFIX /usr/local by default. It is possible to use a custom PREFIX but that's a very very advanced concept and you really have to know what you're doing.


----------



## mrmike19597 (May 10, 2014)

trh411 said:
			
		

> mrmike19597 said:
> 
> 
> 
> ...



What I am trying to do is make several eggdrop bots in their own folders, I went in irc/eggdrop and typed `make install DEST=/usr/home/folder/mybot` and it created a bot there with eggdrop.conf, I am just stuck on connecting it since ./eggdrop eggdrop.conf is not a command anymore I guess. I'll try to learn how to use it this way.


----------



## trh411 (May 10, 2014)

Okay, unfortunately you have already gone beyond my knowledge of irc/eggdrop with the mention of bots. I took a look at the egghelp.org page and at least have a rudimentary understanding of what you are trying to do. I checked the pkg-plist for irc/eggdrop and it does not appear to create a default bot directory during installation. Does eggdrop(1) (i.e. `man eggdrop`) offer any help?


----------



## mrmike19597 (May 10, 2014)

trh411 said:
			
		

> Okay, unfortunately you have already gone beyond my knowledge of irc/eggdrop with the mention of bots. I took a look at the egghelp.org page and at least have a rudimentary understanding of what you are trying to do. I checked the pkg-plist for irc/eggdrop and it does not appear to create a default bot directory during installation. Does eggdrop(1) (i.e. `man eggdrop`) offer any help?



Yeah egghelp.org is a totally different program. It runs bots in IRCd. I'll keep reading around and figure it out.


----------



## Gerg83 (Feb 9, 2015)

If you want to compile eggdrop on FreeBSD 10, the solution is to use eggdrop 1.8 and apply some patches.  A better explanation can be found HERE.  I've tested it on FreeBSD 10.1-RELEASE with a nightly build of eggdrop 1.8, seems to work perfectly, even detects tcl unlike 1.6.21.


----------

