unRAID 6 DevPack - Dev tools (gc, gcc, glib, make, etc.)


Recommended Posts

 

 

 

 

unRAID 6 DevPack - Dev tools

  Assorted tools for unRAID development, mostly for compiling packages. For 6.3 and 6.4+   

 

 

https://raw.githubusercontent.com/dmacias72/unRAID-DevPack/master/plugin/DevPack.plg

 

Everything is set to install when toggled On and applied. Toggling Off and Apply will just toggle off and delete the package from the flash drive. There's no uninstall since some of these are default packages built in to unRAID. To remove: Toggle Off, Apply and reboot. Anything set to On will be installed at unRAID boot also.

 

 

 

Change Log

###2018.10.23

- fix only include headers for inherent unRAID packages

- add autov to css and js

- remove support link from readme

###2017.10.12

- plugin version still 2017.10.01b

- fix libunistring package, include symlink for libunistring.so.0

- added full glibc package

- removed everything but headers for all preinstalled unRAID packages

###2017.10.01b

- fix stickyheaders for new themes

- update tablesorter to 2.29.0

- add status for installed and not installed packages

###2017.07.02

- fork Nerdpack to create DevPack

- add all dev packages and descriptions

- rename all variables and file names to reflect fork

- remove all non relevant code

###2017.06.17

- combine delete and uninstall switch

- add cleanup of old packages

- add support for azure and gray themes

- change to separate repo

- update tablesorter

###2017.02.06

- fix support link

- add perl toggle for vim

###2017.01.31

- move local tablesorter to cdn

- add support link to readme

###2016.10.20

- fix: php7 compatibility

###2016.10.09

- fix: not creating package directory

###2016.10.08

- fix: false positive of installed packages

- fix: packagemanager bug if cookies are missing

###2016.09.18

- fix: packagemanager array errors

###2016.09.16

- fix: empty package list on new install or upgrade

- update tablesorter to 2.27.6

###2016.09.10

- add: popup for unRAID version change or empty downloads folder

- add: always compare package checksums

- fix: remove corrupted packages

- fix: remove failed downloads

- fix: add package desc and json to scandir filter

###2016.03.15

- enable apply button if update ready

- fix: remove old package settings from config after package update

- create separate package repos  for 6.1 and 6.2

- update plugin for unRAID 6.2 compatibility

- update packages for 6.2

###2016.02.23

- fix: search for a partial match of packages used in other plugins

###2016.02.17

- remove curl progress bar

- separate plugin depends by comma

- only show update status of selected packages when processing

###2016.02.15

- update tablesorter

- fix spacing of processing messages

- remove array start event package install

- move initial package install to plugin install

###2016.02.08

- fix permissions on event script

###2016.02.02

- add check for other plugin dependencies on uninstall

###2016.01.25

- Merge eschultz pull request

- tweaks to tablesorter to restore saved filters

- minor optimizations

###2016.01.24

- Merged eschultz's package repo and following fixes

- Fixed first time running warnings about missing packages.json / desc files

- Fixed bug preventing Select All from being toggle-able

- Fixed bug in Select All and dependent package checkboxes / race condition

- Eliminated vertical space gap between page header and table

###2016.01.16a

- add metric parser to sort units

###2016.01.16

- minor diplay changes

- add tablesorter as a separate package

###2016.01.15

- fix filter save

- add filter reset button

###2016.01.10a-c

- fix name of package description file

###2016.01.10

- added dynamic package description tootips

- updated tablesorter to v2.25.0

- add tablesorter widgets (filter, saveSort, stickyHeaders, hover-highlight)

- added cli options to packagemanager script

###2015.12.30

- create packages directory on install

###2015.12.15a

- remove command output

###2015.12.15

- minor fixes

###2015.12.14

- add update functions

- add delete package function

- fix some minor bugs

###2015.12.13

- initial commit of wrapper plugin for packages in repo

 

 

 

 

 

 

 

 

 

 

  • Upvote 4
Link to comment
Awesome!

 

Thank you. Will give it a try.

I couldn't find sqlite, glib2 and kernel headers to match. So the ones included are slightly different. The glib2 is only an incremental release and sqlite is newer. The kernel headers are older. I need to find the newer source. They will show as update in the table.

 

Link to comment

 

2 hours ago, dmacias said:

I couldn't find sqlite, glib2 and kernel headers to match. So the ones included are slightly different. The glib2 is only an incremental release and sqlite is newer. The kernel headers are older. I need to find the newer source. They will show as update in the table.

 

Here were the versions of the packages that I had, compared to the versions included in the devpack, compared to the versions I found at http://slackware.oregonstate.edu/slackware64-current/slackware64/.

 

package / myversion / devpack / oregon-state

gcc / 4.8.2 / 5.4.0 / 7.1
glibc / 2.24 / 2.17 / 2.25
binutils / 2.23 / 2.27 / 2.28
make / 3.82 / 4.2.1 / 4.2.1 (same)
kernel-headers / 3.10.17 / 4.4.38 / 4.9.35
cxxlibs / 6.0.18 / 6.0.18 / (not found)
libmpc / 0.8.2 / 1.0.3 / 1.0.3 (same)
attr / 2.4.47 / 2.4.47 / 2.4.47 (same)

glib2 / na / 2.46.2 / 2.52.3
sqllite / na / 3.12.2 / 3.19.3

 

I am not sure what happened to cxxlibs, or if it is even needed. It was part of the older package install.

 

The ones I bolded are the ones that are newer in the Oregon State "-current" version.

 

It looks like a fairly major version upgrade to gcc.

 

I only checked the packages above, looks like you have a bunch more in devpack. With that link above you might find newer versions. If you look in the PACAKGES.TXT file, it will provide the info and tell you what subdirectory the package file is located in.

 

Thanks again!!

Link to comment
 

Here were the versions of the packages that I had, compared to the versions included in the devpack, compared to the versions I found at http://slackware.oregonstate.edu/slackware64-current/slackware64/.

 

package / myversion / devpack / oregon-state

gcc / 4.8.2 / 5.4.0 / 7.1

glibc / 2.24 / 2.17 / 2.25

binutils / 2.23 / 2.27 / 2.28

make / 3.82 / 4.2.1 / 4.2.1 (same)

kernel-headers / 3.10.17 / 4.4.38 / 4.9.35

cxxlibs / 6.0.18 / 6.0.18 / (not found)

libmpc / 0.8.2 / 1.0.3 / 1.0.3 (same)

attr / 2.4.47 / 2.4.47 / 2.4.47 (same)

glib2 / na / 2.46.2 / 2.52.3

sqllite / na / 3.12.2 / 3.19.3

 

I am not sure what happened to cxxlibs, or if it is even needed. It was part of the older package install.

 

The ones I bolded are the ones that are newer in the Oregon State "-current" version.

 

It looks like a fairly major version upgrade to gcc.

 

I only checked the packages above, looks like you have a bunch more in devpack. With that link above you might find newer versions. If you look in the PACAKGES.TXT file, it will provide the info and tell you what subdirectory the package file is located in.

 

Thanks again!!

I usually use the Utah slack repo and the packages.txt. I think the packages you were looking at are for unRAID 6.3 which is more inline with Slackware64 14.2 and unRAID 6.4 is closer to Current. Devpack 6.4 does have gcc 7.1 not sure why I had 5.4 for devpack 6.3 but it was probably a dependency issue. E.g. to use gcc 7.1 you need newer versions of the other C packages but then that causes issues when you try and run what you compiled on 6.3. Same reason I don't have some of the newest packages in the devpack 6.4 repo. They match what is present in unRAID 6.4.

 

Another example is ncurses until recently unRAID 6.3 had version 5.9 and unRAID 6.4 had 6.0. Many of the pre compiled packages were compiled with ncurses 6.0 so they won't run on 6.3 unless you have 6.3.5 or which ever point release they added it. So that's why I haven't upgraded screen for 6.3 but did for 6.4.

 

I have 4 separate unRAID VM's (6.1, 6.2, 6.3.5 & 6.4.rc6) I can load up with the latest from each version of unRAID when I compile.

  • Upvote 1
Link to comment
3 hours ago, dmacias said:

I usually use the Utah slack repo and the packages.txt. I think the packages you were looking at are for unRAID 6.3 which is more inline with Slackware64 14.2 and unRAID 6.4 is closer to Current. Devpack 6.4 does have gcc 7.1 not sure why I had 5.4 for devpack 6.3 but it was probably a dependency issue. E.g. to use gcc 7.1 you need newer versions of the other C packages but then that causes issues when you try and run what you compiled on 6.3. Same reason I don't have some of the newest packages in the devpack 6.4 repo. They match what is present in unRAID 6.4.

 

Another example is ncurses until recently unRAID 6.3 had version 5.9 and unRAID 6.4 had 6.0. Many of the pre compiled packages were compiled with ncurses 6.0 so they won't run on 6.3 unless you have 6.3.5 or which ever point release they added it. So that's why I haven't upgraded screen for 6.3 but did for 6.4.

 

I have 4 separate unRAID VM's (6.1, 6.2, 6.3.5 & 6.4.rc6) I can load up with the latest from each version of unRAID when I compile.

 

Seems that the trial and error nature of figuring out what version of what would drive one insane! :)

Link to comment
  • 1 month later...
4 hours ago, brando56894 said:

I installed this on unRAID 6.4-RC7 and updated what was available, upon reboot the webGUI and libvirt were broken because php-fpm wouldn't start due to /usr/lib64/libunistring.so.2 missing. Removing this plugin resolved the issue.

Thanks. I updated several packages to be compatible with 6.4-rc7a

  • Upvote 2
Link to comment
  • 3 months later...

@dmacias

 

Hope this is not out of bounds for the devpack team, but I have been playing with Python and would like to install a python package.

 

I found it referenced in a pretty cool script that will create an IMDB category in a Plex DB for the top 250 movies of all time (any that you own). It scrapes an IMDB web page and parses it with a Python package called pyquery.

 

I would like to run that Python program and have some other uses as well.

 

Here is a link to the script https://gist.github.com/shariat/313795d59931c4d128d2

 

You'll notice it contains this line:

from pyquery import PyQuery as pq

 

And here is a link to info on pyQuery: https://pythonhosted.org/pyquery/#

 

And here is a link to SlackWare packages for Pyquery. (Notice it has dependencies that have dependencies ... probably need 5 or 6 packages to satisfy all those.)

 

https://slackbuilds.org/repository/14.2/python/pyquery/

 

Anyway - I am a bit clueless how to get this installed in unRAID. I DLed the packages and tried to figure out where to put them and how to make them do their thing. It all looked so easy! I unpacked them, tried pkginstall, and coping things here and there. But I didn't have the special sauce to make them dance! They just sort of stared and me and laughed ;-). Any help appreciated!! And if it could be added to the DevPack, that would be awesome!

 

Thanks!!

Link to comment
On 11/23/2017 at 5:45 AM, SSD said:

I am on unRaid 6.4rc6, and the python version is 2.7. Not sure what version comes stock on later RCs. I've had no reason so far to try to move to Python 3.

 

THANKS!

I wasn't sure if the script required python3.  It's the same version for all 6.4.  I updated NerdPack python-2.7 to include pkg_resources and added the Pip package also.  All you have to do is run "pip install pyquery".

  • Upvote 1
Link to comment

Thanks @dmacias!!

 

I didn't remember I had loaded Python through nerdtools - thought it was stock. :S Now I remember where it came from!

 

But I just installed "pip" and it installed the pyquery package like a champ!

 

Too late to play with it tonight, but will have a go soon and report back.

 

Thanks again!!

Link to comment
  • 2 months later...

Something in this prevents my server from booting on unraid 6.4.1 :(  

 

Took a couple hours for me to narrow it down to this plugin.  This was working fine with my setup on 6.3.5 and I didn't enable/disable any packs.  Here's what I've got in DevPack.cfg:

attr-2_4_47="no"
binutils-2_27="yes"
bzip2-1_0_6="yes"
cxxlibs-6_0_18="yes"
expat-2_2_0="no"
flex-2_6_0="no"
gc-7_4_2="yes"
gcc-5_4_0="yes"
gdbm-1_12="no"
gettext-0_19_8_1="no"
glib2-2_46_2="no"
glib-1_2_10="yes"
glibc-2_24="yes"
gnupg-1_4_21="no"
gnutls-3_5_8="yes"
gpgme-1_7_1="no"
guile-2_0_14="yes"
json-c-0_12="no"
json-glib-1_2_2="no"
kernel-headers-4_4_38="yes"
libelf-0_8_13="no"
libevent-2_1_8="no"
libgcrypt-1_7_5="no"
libgpg-error-1_23="no"
libjpeg-turbo-1_5_0="no"
libmpc-1_0_3="yes"
libnl-1_1_4="no"
libpcap-1_7_4="no"
libunistring-0_9_3="no"
libX11-1_6_4="yes"
make-4_2_1="yes"
ncurses-5_9="yes"
openssl-1_0_2k="no"
pcre-8_39="no"
pkg-config-0_29_1="yes"
sqlite-3_13_0="no"
tcl-8_6_5="yes"
tclx-8_4_1="no"
tk-8_6_5="no"
xproto-7_0_29="no"
xz-5_2_2="yes"
zlib-1_2_8="yes"

 

This caused a similar symptom as in 

 

 

Unfortunately, I wasn't able to capture a more complete log, since it completely locks up the system.  The files in /boot/config/plugins/DevPack/packages/6.4 that it managed to download before locking up are:

binutils-2.27-x86_64-2.txz*
bzip2-1.0.6-x86_64-1.txz*
cxxlibs-6.0.18-x86_64-1.txz*
gc-7.4.2-x86_64-3.txz*
gcc-5.4.0-x86_64-1.txz*
glib-1.2.10-x86_64-3.txz*
glibc-2.24-x86_64-2.txz*
gnutls-3.5.8-x86_64-1.txz*
guile-2.0.14-x86_64-1.txz*
kernel-headers-4.4.38-x86-1.txz*
libX11-1.6.4-x86_64-1.txz*
libmpc-1.0.3-x86_64-1.txz*
make-4.2.1-x86_64-1.txz*
ncurses-5.9-x86_64-4.txz*
packages-desc*
packages.json*
pkg-config-0.29.1-x86_64-2.txz*
tcl-8.6.5-x86_64-2.txz*
xz-5.2.2-x86_64-1.txz*
zlib-1.2.8-x86_64-1.txz*

Unfortunately, they're all timestamped in the same second, so I'm unable to determine processing order that way.

 

PS -- this is super handy! Hope you get it working again soon, and thanks :)

Edited by nick5429
Link to comment
Something in this prevents my server from booting on unraid 6.4.1   
 
Took a couple hours for me to narrow it down to this plugin.  This was working fine with my setup on 6.3.5 and I didn't enable/disable any packs.  Here's what I've got in DevPack.cfg:
attr-2_4_47="no"binutils-2_27="yes"bzip2-1_0_6="yes"cxxlibs-6_0_18="yes"expat-2_2_0="no"flex-2_6_0="no"gc-7_4_2="yes"gcc-5_4_0="yes"gdbm-1_12="no"gettext-0_19_8_1="no"glib2-2_46_2="no"glib-1_2_10="yes"glibc-2_24="yes"gnupg-1_4_21="no"gnutls-3_5_8="yes"gpgme-1_7_1="no"guile-2_0_14="yes"json-c-0_12="no"json-glib-1_2_2="no"kernel-headers-4_4_38="yes"libelf-0_8_13="no"libevent-2_1_8="no"libgcrypt-1_7_5="no"libgpg-error-1_23="no"libjpeg-turbo-1_5_0="no"libmpc-1_0_3="yes"libnl-1_1_4="no"libpcap-1_7_4="no"libunistring-0_9_3="no"libX11-1_6_4="yes"make-4_2_1="yes"ncurses-5_9="yes"openssl-1_0_2k="no"pcre-8_39="no"pkg-config-0_29_1="yes"sqlite-3_13_0="no"tcl-8_6_5="yes"tclx-8_4_1="no"tk-8_6_5="no"xproto-7_0_29="no"xz-5_2_2="yes"zlib-1_2_8="yes"

 
This caused a similar symptom as in 
 
 
Unfortunately, I wasn't able to capture a more complete log, since it completely locks up the system.  The files in /boot/config/plugins/DevPack/packages/6.4 that it managed to download before locking up are:

binutils-2.27-x86_64-2.txz*bzip2-1.0.6-x86_64-1.txz*cxxlibs-6.0.18-x86_64-1.txz*gc-7.4.2-x86_64-3.txz*gcc-5.4.0-x86_64-1.txz*glib-1.2.10-x86_64-3.txz*glibc-2.24-x86_64-2.txz*gnutls-3.5.8-x86_64-1.txz*guile-2.0.14-x86_64-1.txz*kernel-headers-4.4.38-x86-1.txz*libX11-1.6.4-x86_64-1.txz*libmpc-1.0.3-x86_64-1.txz*make-4.2.1-x86_64-1.txz*ncurses-5.9-x86_64-4.txz*packages-desc*packages.json*pkg-config-0.29.1-x86_64-2.txz*tcl-8.6.5-x86_64-2.txz*xz-5.2.2-x86_64-1.txz*zlib-1.2.8-x86_64-1.txz*

Unfortunately, they're all timestamped in the same second, so I'm unable to determine processing order that way.
 
PS -- this is super handy! Hope you get it working again soon, and thanks

Have you tried removing the plugin completely. Plugin folder and plg file. Then install under 6.4. Then reboot to see if it still hangs. There maybe some problem when moving between 6.3 and 6.4. None of the 6.3 packages would be installed but maybe some other error. There could also be some usb flash problem. I had something similar where my nut plugin would lock up on reboot. Turned out my flash was going bad. So maybe all the 6.4 packages being downloaded may expose this.
Link to comment

Hm. Well, I blew away the old installation, and re-selected the packages (being careful to only select things that weren't already installed by the underlying unraid system), and it seems fine.

 

Good for me, but doesn't fully solve the answer of whether it was a problem with my flash, or a problem with some built-in package system being replaced.  If I feel bold (and feel like dealing with another crashed system), maybe I'll re-enable having DevPack install all the old packages later :)

Link to comment
  • 2 months later...

Since the latest unRAID release I do have problems with DevPack modules.

 

make for instance shows the following error. According to the screenshot attached to this post, make and libunistring are installed and up-to-date. What's wrong with my installation?

 

Thanks in advance.

 

root@Tower:~# make
make: error while loading shared libraries: libunistring.so.0: cannot open shared object file: No such file or directory

 

libunistsring.jpg

Link to comment

 

 

 

Since the latest unRAID release I do have problems with DevPack modules.

 

make for instance shows the following error. According to the screenshot attached to this post, make and libunistring are installed and up-to-date. What's wrong with my installation?

 

Thanks in advance.

 

root@Tower:~# makemake: error while loading shared libraries: libunistring.so.0: cannot open shared object file: No such file or directory

 

libunistsring.thumb.jpg.8b22aea27d2d65d5cd86659c89464631.jpg

 

 

I encountered the same thing. The newer package of libunistring doesn't include that link anymore. I'm not sure if other packages need to be updated to not rely on that or what you're compiling relies on it. But you can add the link.

 

ln -sf /usr/lib64/libunistring.so /usr/lib64/libunistring.so.0

 

I'll check it out more and possibly just add that command to the libunistring package install

Link to comment
Since the latest unRAID release I do have problems with DevPack modules.
 
make for instance shows the following error. According to the screenshot attached to this post, make and libunistring are installed and up-to-date. What's wrong with my installation?
 
Thanks in advance.
 
root@Tower:~# makemake: error while loading shared libraries: libunistring.so.0: cannot open shared object file: No such file or directory

 
libunistsring.thumb.jpg.8b22aea27d2d65d5cd86659c89464631.jpg

Also what version are you on?
Link to comment

What version? unRAID? 6.5.1.

 

make throws that error simply when calling it without any parameters. I think make and unistring from the DevPack don't match. make needs something from unistring that unistring no longer supports. I'm a Linux noob but if I should guess I would bet that unistring is from a newer package/release/... than make.

 

Link to comment
33 minutes ago, hawihoney said:

What version? unRAID? 6.5.1.

 

make throws that error simply when calling it without any parameters. I think make and unistring from the DevPack don't match. make needs something from unistring that unistring no longer supports. I'm a Linux noob but if I should guess I would bet that unistring is from a newer package/release/... than make.

 

I downloaded and tested newer versions of some packages and the error was gone. Probably just make but I'll update some of the others.  It's just hard sometimes because unRAID is current on some packages but not others.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.