Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

devX missing (some?) Multiarch Packages #2064

Closed
s243a opened this issue Feb 28, 2021 · 4 comments
Closed

devX missing (some?) Multiarch Packages #2064

s243a opened this issue Feb 28, 2021 · 4 comments

Comments

@s243a
Copy link
Contributor

s243a commented Feb 28, 2021

I was trying to compile empty on upupGG+D and I got the following error:

# make all
cc  -Wall -lutil -o empty empty.c
empty.c: In function ‘main’:
empty.c:585:4: warning: ‘strncat’ specified bound 1 equals source length [-Wstringop-overflow=]
  585 |    strncat(buf, " ", 1);
      |    ^~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/cch4HREv.o: in function `.L3':
empty.c:(.text+0x1163): undefined reference to `openpty'
/usr/bin/ld: empty.c:(.text+0x1216): undefined reference to `login_tty'
collect2: error: ld returned 1 exit status
make: *** [Makefile:19: all] Error 1

Searching for openpty lead me to the following package:
https://packages.debian.org/buster/all/gnulib/filelist

this is a multiarch package. This isn't the first missing multiarch package (i.e. architecture=ALL) that has caused issues for me. For instance readelf, requires
https://packages.debian.org/bullseye/i386/binutils-multiarch
** see post
https://forum.puppylinux.com/viewtopic.php?p=10598#p10598

So there are at least two multiarch packages missing from devX but I bet there are more.

Edit: I was able to compile empty by doing the following:
""Try moving '-lutil' after 'empty.c' on the gcc command line"
https://ubuntuforums.org/showthread.php?t=2131632"
https://forum.puppylinux.com/viewtopic.php?p=18679#p18679

That said, while in this case I likely didn't need gnulib this doesn't negate the fact that devX might be missing many multi-arch packages.

@s243a
Copy link
Contributor Author

s243a commented Feb 28, 2021

I should probably open a new issue to this but I noticed that libc6-dev is missing some dependencies (at least it is in upupGG+D). I descovered this by looking at the sourcecode for empty. In empty.c I saw an include for pty.h and I thought that might be related to the openpty error above. I searched for this package and found it is included in :
https://packages.debian.org/bullseye/libc6-dev

I then looked in devx-only-installed-packages to see which dependencies of libc6-dev were included. I found that most of the dependencies were missing. I then looked in /var/packages/DISTRO_PKGS_SPECS and found the relevent two lines:

yes|glibc|libc-bin,libc6,libcrypt1,libc6-dev,tzdata|exe,dev,doc,nls
yes|linux-header|linux-libc-dev|exe>dev,dev,doc,nls

The following dependencies apear to be missing:
libc-dev-bin, libcrypt-dev, libnsl-dev

I decided to install the missing dependencies as follows:
HIDE_BUILTINS=false pkg --get libc6-dev_2.31-9 -f

Note that pkg isn't included in upupGG+D by default. For info to install pkg on upupGG+D (AKA GroovyPup32 GroovyGorilla+Debian) see:
https://forum.puppylinux.com/viewtopic.php?f=85&t=1406&p=10313#p10313

I don't know if these missing dependencies might be included in other packages which are included in devX for upupGG+D.

@01micko
Copy link
Contributor

01micko commented Mar 1, 2021

Upup GG+D is hardly mainstream woof. Please take this to the forum.

@01micko 01micko closed this as completed Mar 1, 2021
@dimkr
Copy link
Contributor

dimkr commented Mar 1, 2021

@peabee what do you think about "mainlining" upup-* by putting the DISTRO_* files in woof-CE and setting up automated releases from GitHub? That will save you most of the manual labour involved in those periodic releases you do.

Puplets that don't get updates that fix bugs or add stuff like missing firmware are really common complaints, and all major Puppy family distros have this problem: there's a 1.0 release without a 1.1 branch with minor features, or a 1.0.1 bugfix release that fixes some critical bug.

@peabee
Copy link
Contributor

peabee commented Mar 2, 2021

Hi @dimkr
I have to admit that this would not be high on my list of priorities I'm afraid......
A number of reasons:

  • although I seem to have got into the habit of producing 32-bit Ubuntu based pups, I don't actually like Ubuntu much as a base
  • Ubuntu no longer produces a full set of 32-bit components and therefore the latest UPups actually use a combination of Ubuntu and Debian components
  • most of the UPup builds are STR = Short Term Releases. The only feasible build for elevation to Woof-CE officialdom would be LTR 20.04 FocalPup32 = UPupFF+D (i.e. the successor to BionicPup32 = UPupBB)
  • etc. etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants