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

Required dependencies for 0.6.36 #106

Closed
0323pin opened this issue Jan 2, 2023 · 42 comments
Closed

Required dependencies for 0.6.36 #106

0323pin opened this issue Jan 2, 2023 · 42 comments

Comments

@0323pin
Copy link
Collaborator

0323pin commented Jan 2, 2023

Hi,

Hope you don't take this the wrong way but, updating oculante to 0.6.36 has been a bumpy ride.

error: failed to run custom build command for `glib-sys v0.15.10`

Caused by:
  process didn't exit successfully: `/usr/pkgsrc/wip/oculante/work/oculante-0.6.36/target/release/build/glib-sys-666424b86dd08577/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=GLIB_2.0_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-netbsd
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_netbsd
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-netbsd
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_netbsd
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-netbsd
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_netbsd
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-netbsd
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_netbsd
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  cargo:warning=`"/usr/pkgsrc/wip/oculante/work/.tools/bin/pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.48"` did not exit successfully: exit status: 1
  error: could not find system library 'glib-2.0' required by the 'glib-sys' crate

  --- stderr
  Package glib-2.0 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `glib-2.0.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'glib-2.0', required by 'virtual:world', not found
  Package 'glib-2.0', required by 'virtual:world', not found

warning: build failed, waiting for other jobs to finish...
*** Error code 101

Stop.

Adding glib2 as external dependency to the build resulted in

  --- stderr
  `"/usr/pkgsrc/wip/oculante/work/.tools/bin/pkg-config" "--libs" "--cflags" "gdk-3.0" "gdk-3.0 >= 3.18"` did not exit successfully: exit status: 1
  error: could not find system library 'gdk-3.0' required by the 'gdk-sys' crate

  --- stderr
  Package gdk-3.0 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `gdk-3.0.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'gdk-3.0', required by 'virtual:world', not found
  Package 'gdk-3.0', required by 'virtual:world', not found

warning: build failed, waiting for other jobs to finish...
*** Error code 101

Stop.

Now, adding gtk3, gdk-pixbuf2, cairo, pango and atk made the build finish successfully.

Would it be possible to get an heads-up when such large changes take place?
TIA.

Regards,
pin

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 2, 2023

@woelper Sorry for opening an issue, please feel free to move this to discussions instead.

@woelper
Copy link
Owner

woelper commented Jan 2, 2023

Hey, no worries! This is very valid criticism and highly appreciated. This was a result of a PR adding a filebrowser, which brought in external dependencies. On Linux I had to install libgtk-3-dev, which I added to the Readme. I should have been more proactive in specifying it in the Changelog.

Going forward, one way to make this easier for us is to have a github action running a test on NetBSD on every commit, as is set up for OSX, Win and Linux. That way we would spot missing dependencies - provided they are not part of the Github VM. I will open a ticket for that, and maybe we should add a NetBSD build instruction section?

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 2, 2023

I've been looking for a NetBSD CI for ages. The sysinfo dev and libc contributor has shown willingness to collaborate in improving support, provided that he could use a NetBSD CI.

Anyway, this turned out to be rather straightforward fix, just adding the missing dependencies.
0.6.36 has been merged already, http://mail-index.netbsd.org/pkgsrc-changes/2023/01/02/msg266286.html

@woelper
Copy link
Owner

woelper commented Jan 2, 2023

I have actually found something and will start to configure a run here:
https://github.com/woelper/oculante/blob/master/.github/workflows/netbsd.yml
If you have any info on what I have to install, I'd be delighted to hear that!

I just have pkg_add rust in there and am pretty clueless! :)

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 2, 2023

I have actually found something and will start to configure a run here: https://github.com/woelper/oculante/blob/master/.github/workflows/netbsd.yml If you have any info on what I have to install, I'd be delighted to hear that!

I just have pkg_add rust in there and am pretty clueless! :)

If you mean to build oculante, then you currently need the following (copied from the package-makefile I've pushed earlier today):

.include "../../x11/gtk3/buildlink3.mk"
.include "../../devel/glib2/buildlink3.mk"
.include "../../graphics/cairo/buildlink3.mk"
.include "../../graphics/cairo-gobject/buildlink3.mk"
.include "../../devel/pango/buildlink3.mk"
.include "../../devel/atk/buildlink3.mk"
.include "../../graphics/gdk-pixbuf2/buildlink3.mk"

Apart from these you need pkg-config and there's a build-dependency on cmake.

openssl, libX11 and fontconfig are included in the NetBSD base system.

Be aware that things that are not in the base system are located in /usr/pkg/....
So you need some linking at compile time to different paths. I have this section in the package makefile:

MAKE_ENV+=	OPENSSL_DIR=${BUILDLINK_PREFIX.openssl:Q}
RUSTFLAGS+=	-C link-arg=${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.openssl}/lib
RUSTFLAGS+=	-C link-arg=${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.libX11}/lib
RUSTFLAGS+=	-C link-arg=-L${BUILDLINK_PREFIX.libX11}/lib
RUSTFLAGS+=	-C link-arg=${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.gtk3}/lib

I only need to tell rustc where to find one of the non-base packages (above gtk3), it will then find all the others, glib2, cairo, etc.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 2, 2023

For oculante < 0.6.36 only the following where needed pkg-config, cmake, openssl, libX11 and fontconfig.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 2, 2023

@woelper Usually, the required dependencies on NetBSD are the same as on Linux. I don't know if the distro you are using splits packages, like Debian does or not, e.g. Arch. I use Void myself and usually I'm able to kick a cargo build on Void and list all the dependencies needed.

@woelper
Copy link
Owner

woelper commented Jan 2, 2023

Is there an option to install rust-bin-1.64.0 or newer? I keep getting rust-bin-1.64.0 is not available in the repository, although it looks like it is: https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/index-all.html

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 2, 2023

I'm guessing you're running NetBSD release 9.3, stable binaries are released 4 times/year and 2022Q4, which has rust-1.64 was branched on the 27th December. Binaries for this are not yet available, so I guess you only have access to the binaries from 2022Q3 and rust-1.62.1 😞

What's the URL inside /usr/pkg/etc/pkgin/repositories.conf and the output of uname -a?

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 2, 2023

@woelper You can query the database, pkgin search rust to check the available version. I've stopped running stable a long time ago. I run NetBSD current (development branch) + pkgsrc-current and I build rust locally, right now I have 1.66 on my machine, which is still not available on NetBSD.

Really, I didn't want to give you trouble. I always run the builds myself before merging updates and it's not a problem for me to check oculante on every release.

@woelper
Copy link
Owner

woelper commented Jan 2, 2023

Thanks! I'll try rustup and then get back to you if that fails.

Really, I didn't want to give you trouble.

You don't, I enjoy this kind of stuff!

@woelper
Copy link
Owner

woelper commented Jan 2, 2023

pkgin search rust gives me rust-1.60.0 Safe, concurrent, practical language
That's a bit old!

The system seems to be NetBSD localhost 9.3 NetBSD 9.3 (GENERIC) #0: Thu Aug 4 15:30:37 UTC 2022 , NetBSD/x86_64 9.3 (this host).

the repositories.conf:

#
  # Pkgin repositories list
  #
  # Simply add repositories URIs one below the other
  #
  # WARNING: order matters, duplicates will not be added, if two
  # repositories hold the same package, it will be fetched from 
  # the first one listed in this file.
  #
  # This file format supports the following macros:
  # $arch to define the machine hardware platform
  # $osrelease to define the release version for the operating system
  #
  # Remote ftp repository
  #
  # ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/$arch/5.1/All
  #
  # Remote http repository
  #
  # http://mirror-master.dragonflybsd.org/packages/$arch/DragonFly-$osrelease/stable/All
  #
  # Local repository (must contain a pkg_summary.gz or bz2)
  #
  # file:///usr/pkgsrc/packages/All
  # NetBSD OS release can look like 6.0_STABLE, do not use it as-is
  https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$arch/9.0/All

I also tried installing rust manually with curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly, which looked promising:

info: downloading installer
  info: profile set to 'default'
  info: default host triple is x86_64-unknown-netbsd
  info: syncing channel updates for 'nightly-x86_64-unknown-netbsd'
  info: latest update on 2023-01-02, rust version 1.68.0-nightly (77429957a 2023-01-01)
  info: downloading component 'cargo'
  info: downloading component 'clippy'
  info: downloading component 'rust-docs'
  info: downloading component 'rust-std'
  info: downloading component 'rustc'
  info: downloading component 'rustfmt'
  info: installing component 'cargo'
  error: error: 'no system information on this platform'
  info: installing component 'clippy'
  error: error: 'no system information on this platform'
  info: installing component 'rust-docs'
  error: error: 'no system information on this platform'
  info: installing component 'rust-std'
  error: error: 'no system information on this platform'
  info: installing component 'rustc'
  error: error: 'no system information on this platform'
  info: installing component 'rustfmt'
  error: error: 'no system information on this platform'
  
  info: default toolchain set to 'nightly-x86_64-unknown-netbsd'
    nightly-x86_64-unknown-netbsd installed - rustc 1.68.0-nightly (77429957a 2023-01-01)
  
  
  Rust is installed now. Great!
  
  To get started you may need to restart your current shell.
  This would reload your PATH environment variable to include
  Cargo's bin directory ($HOME/.cargo/bin).
  
  To configure your current shell, run:
  source "$HOME/.cargo/env"

However, cargo can't be found afterwards. source was not found on NetBSD, so I tried eval, with no effect. Maybe you have any idea how I can update the environment after installation?

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 2, 2023

I wouldn't expect rustup to work to be honest. We have 48 patches to make it build locally :(

Ok, try this, remove rustand change the URL in /usr/pkg/etc/pkgin/repositories.conf from what you have now "https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$arch/9.0/All" to https://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/9.0_2022Q3/All (these were built on the 14th of December for amd64, a.k.a. x86_64).

After changing that line run as root, pkgin update and pkgin full-upgrade. Now install rust, it should be 1.62.1, I've just checked what's available on that repository.

@woelper
Copy link
Owner

woelper commented Jan 2, 2023

I actually got quite far with the default rustup script. The last (?) thing missing is gtk3, which I can't seem to install, and I am getting an error similar to yours above.

The error message was:

  `"pkg-config" "--libs" "--cflags" "gdk-3.0" "gdk-3.0 >= 3.18"` did not exit successfully: exit status: 1
  error: could not find system library 'gdk-3.0' required by the 'gdk-sys' crate

I saw you had the same error and installed gtk3 - which was not possible for me (pkg_add: no pkg found for 'gtk3', sorry.) I did find gtk3+-3.24.33, but I still fail to build with the above error. Did you install it from some other source?

If you are curious, the whole setup stuff can be found here:
https://github.com/woelper/oculante/blob/master/.github/workflows/netbsd.yml#L20

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 3, 2023

If you are curious, the whole setup stuff can be found here:

Thanks, yes I'm curious. Even more so, to get this working and see how well a VM CI will work.

I should have called the packages by they install names, Gtk3 is called gtk3+ and libx11 should be libX11.

As for the error, you need to tell the compiler where to find gtk3+. In our package Makefile I have RUSTFLAGS+= -C link-arg=${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.gtk3}/lib.

For a cargo build, you need to place these in .cargo/config.toml but, I don't remember the syntax for these definitions 😞

Gtk, gdk, glib-2.0 can be found in /usr/pkg/lib.

@woelper
Copy link
Owner

woelper commented Jan 3, 2023

Hmm, I am stuck here now:

error: failed to run custom build command for `gdk-sys v0.15.1`
  
  Caused by:
    process didn't exit successfully: `/Users/runner/work/oculante/oculante/target/debug/build/gdk-sys-71339c99999477ed/build-script-build` (exit status: 1)
    --- stdout
    cargo:rerun-if-env-changed=GDK_3.0_NO_PKG_CONFIG
    cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-netbsd
    cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_netbsd
    cargo:rerun-if-env-changed=HOST_PKG_CONFIG
    cargo:rerun-if-env-changed=PKG_CONFIG
    cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-netbsd
    cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_netbsd
    cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
    cargo:rerun-if-env-changed=PKG_CONFIG_PATH
    cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-netbsd
    cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_netbsd
    cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
    cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
    cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-netbsd
    cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_netbsd
    cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
    cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  
    --- stderr
    `"pkg-config" "--libs" "--cflags" "gdk-3.0" "gdk-3.0 >= 3.18"` did not exit successfully: exit status: 1
    error: could not find system library 'gdk-3.0' required by the 'gdk-sys' crate
  
    --- stderr
    Package xproto was not found in the pkg-config search path.
    Perhaps you should add the directory containing `xproto.pc'
    to the PKG_CONFIG_PATH environment variable
    Package 'xproto', required by 'xrender', not found
  
  warning: build failed, waiting for other jobs to finish...

There was no xproto to be found anywhere. Maybe the naming is different, or there is a newer package named differently?

installing gtk3+ worked, thanks! For libX11 I still get pkg_add: no pkg found for 'libX11', sorry. - Which seems strange to me.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 3, 2023

@woelper I wounder how stripped down this VM image is!? libX11 is part of the base system,

/usr/X11R7/lib > ls | grep X11
.r--r--r-- root wheel 1.5 KB Fri Dec 16 01:05:01 2022 libX11-xcb.a
lrwxr-xr-x root wheel  17 B  Fri Dec 16 01:05:01 2022 libX11-xcb.so ⇒ libX11-xcb.so.1.0
lrwxr-xr-x root wheel  17 B  Fri Dec 16 01:05:01 2022 libX11-xcb.so.1 ⇒ libX11-xcb.so.1.0
.r--r--r-- root wheel 7.6 KB Fri Dec 16 01:05:01 2022 libX11-xcb.so.1.0
.r--r--r-- root wheel 1.8 KB Fri Dec 16 01:05:01 2022 libX11-xcb_p.a
.r--r--r-- root wheel 2.1 MB Fri Dec 16 01:05:01 2022 libX11.a
lrwxr-xr-x root wheel  13 B  Fri Dec 16 01:05:01 2022 libX11.so ⇒ libX11.so.7.1
lrwxr-xr-x root wheel  13 B  Fri Dec 16 01:05:01 2022 libX11.so.7 ⇒ libX11.so.7.1
.r--r--r-- root wheel 1.3 MB Fri Dec 16 01:05:01 2022 libX11.so.7.1
.r--r--r-- root wheel 2.2 MB Fri Dec 16 01:05:01 2022 libX11_p.a
drwxr-xr-x root wheel 512 B  Sun Dec 18 12:26:39 2022 X11

--- stderr
Package xproto was not found in the pkg-config search path.

Install the x11-links package.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 3, 2023

@woelper a607ce0 good idea :)

@woelper
Copy link
Owner

woelper commented Jan 3, 2023

@woelper a607ce0 good idea :)

I should have done that from the start...

At least it compiles now with - - no-default-features, which is nice. This means that I can now test this automatically. I'll try to get it to compile with file_browse as well. If I get that working I'd be very keen to see if the resulting binary works on a vanilla system provided everything is statically linked.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 3, 2023

How are the compiling times?

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 3, 2023

Btw, do you have the X11R7 directory in your VM?

/usr > ls
...
drwxr-xr-x root wheel 512 B  Fri Dec 16 01:05:01 2022  X11R7

If so, x11-links should have all you need. You shouldn't need to install libX11, fontconfig, freetype2, libXrender and libxcb, these should be in the base system.

Also, check this:

/usr/bin > ls | grep ssl
.r-xr-xr-x root wheel  832 KB Fri Dec 16 01:05:01 2022 openssl

so, you shouldn't need to install openssl, it too is in base.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 3, 2023

I'll try to get it to compile with file_browse as well. If I get that working I'd be very keen to see if the resulting binary works on a vanilla system provided everything is statically linked.

I can help with the testing.

@woelper
Copy link
Owner

woelper commented Jan 3, 2023

How are the compiling times?

Around 15 mins (including VM setup). It's not fast, but it's free, nicely integrated and just one yaml file so this would work for me.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 3, 2023

@woelper 15 mins is not bad. Compiling 0.6.37 today on my machine took 14 mins.

Btw, thanks for the invitation.

@woelper
Copy link
Owner

woelper commented Jan 3, 2023

This does not look good with x11-links and fails too on build with missing xproto:

/usr/X11R7/lib/libxshmfence.so.1, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libxkbfile.so.2, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libxcb.so.2, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libxcb-xfixes.so.0, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libxcb-sync.so.1, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libxcb-glx.so.0, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libxcb-dri2.so.0, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libpciaccess.so.0, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libglapi.so.1, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libgbm.so.1, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libfreetype.so.19, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libfontenc.so.2, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libfontconfig.so.2, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libdrm.so.3, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXxf86vm.so.2, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXt.so.7, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXrender.so.2, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXrandr.so.3, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXpm.so.5, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXmu.so.7, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXfixes.so.4, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXext.so.7, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXdmcp.so.7, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXdamage.so.2, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libXau.so.7, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libX11.so.7, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libX11-xcb.so.1, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libSM.so.7, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libICE.so.7, needed by x11-links-1.35 is not present in this system.
  /usr/X11R7/lib/libGL.so.3, needed by x11-links-1.35 is not present in this system.

Full log here, don't know if you can see it, added you as collaborator just in case:
https://github.com/woelper/oculante/actions/runs/3831071210/jobs/6519741744

ls /usr:

  bin
  games
  include
  lib
  libdata
  libexec
  mdec
  pkg
  sbin
  share
  tests

ls /usr/bin | grep ssl

openssl

Reading this again, it seems I am missing X11 completely :)

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 3, 2023

Nope, it looks really bad to be honest 😞

As you can see from the output of ls /usr, there's no X11R7 directory. Which means your VM doesn't contain any Xorg packages. I wonder if we can add the xsets to the image? Do you have a clue how the image is being generated?

I saw you have added me as collaborator, I said thanks above.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 3, 2023

Btw, the xsets can be found here, http://ftp.netbsd.org/pub/NetBSD/NetBSD-9.3/amd64/binary/sets/

But, it would be nice to modify the image to include them.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 4, 2023

Is it working after adding modular-xorg?

@woelper
Copy link
Owner

woelper commented Jan 4, 2023

No, there was no package found when installing pkg_add modular-xorg.
What do I do the the xsets? Just extract to / ? Do I need everything starting with x? Sorry, but I am a NetBSD noob!

If you like and have time, feel free to modify https://github.com/woelper/oculante/blob/master/.github/workflows/netbsd_full.yml as you like if you have any ideas.

And yes, I agree, the image should contain X11. I guess the author left them out for size/performance reasons. You can see the repo here:
https://github.com/vmactions/netbsd-vm
Maybe it would be good to open a PR there?

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 4, 2023

What do I do the the xsets? Just extract to / ? Do I need everything starting with x? Sorry, but I am a NetBSD noob!

I must say you have been doing very well :)
Joke aside, you've figured out stuff that many users don't know after years of using the system.

I haven't extracted the xsets myself as the installer has an option for which sets to install. I've fetched the kernel before and, yes it just unpacking and moving it into place. Usually, tar -xzf $file -C / but, I don't know if it overwrites existing directories :(
Sorry! Very likely, you won't need xdebug, that's the largest one. Should be enough with xbase, xcomp, xetc, xfont and xserver.

And yes, I agree, the image should contain X11. I guess the author left them out for size/performance reasons.

vmactions/netbsd-vm#2

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 5, 2023

@woelper 0.6.38 is ready to be merged here. I have a question, though.
Do you prefer if we provide the package with the file_open feature enabled or disabled?

Do you happen to know if this builds with Rust-1.64? I've already reverted three other packages because they no longer build with the current default on NetBSD (1.64). They all build on my machine but, I'm running 1.66.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 6, 2023

Ok, updated, with file-open enabled. Hopefully, it builds with 1.64.

@woelper
Copy link
Owner

woelper commented Jan 6, 2023

Thanks so much!
If we can use it, file_open offers most convenience to users. For NetBSD (for the time being) I am going to use --no-default-features for build tests because I am just too lazy to figure out how to build the full thing in a VM.
(I will be trying to get the full thing to compile eventually of course)

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 6, 2023

Oh, and you're not lazy, thanks for going the extra mile and trying. I would have done the same and stopped at this point. It would be good if the VM image came with the xsets.

@woelper
Copy link
Owner

woelper commented Jan 6, 2023

I must say you have been doing very well :)
Joke aside, you've figured out stuff that many users don't know after years of using the system.

You are too kind! I do have a passion for obscure operating systems (I've had SGI hardware for a long time and enjoy old-school UNIX), but I've just not used NetBSD for some reason. I do have to say that I might have to change that in the future, as it looks super nice.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 6, 2023

Is this the one? http://wiki.netbsd.org/ports/sgimips/

@woelper
Copy link
Owner

woelper commented Jan 6, 2023

I never had the O2, but an Octane2 (https://en.wikipedia.org/wiki/SGI_Octane). I was running IRIX on it, not sure BSD would run on it. It had very custom graphics hardware, so there was not really any point using any other OS on it I guess...

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 6, 2023

I'm a boring guy and only have x86_64 hardware :)
Unfortunately, it doesn't look like it's available for your hardware, http://wiki.netbsd.org/projects/project/sgimips/
But, I'm not an expert. Would you like me to ask? Else, you can ask on the mailing lists, http://mail-index.netbsd.org/

My quest a few years ago was to run NetBSD as my main OS and port whatever I needed to be able to do so.

@woelper
Copy link
Owner

woelper commented Jan 7, 2023

No worries, I've sold it some time ago (with tears in my eyes) and switched to boring x86_64 too. It's fun, but also time consuming... just running boring PopOS now, where most stuff just works (tm) :)

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 7, 2023

just running boring PopOS now, where most stuff just work

I also have a machine that I boot into a few times/month. I also need to pay my biils, store documents, save pictures from my phone, ... etc.

It runs on Void Linux with musllibc and a minimal Xorg config. It's my stable machine and it has been rolling (rolling release) since the original install from the Oct. 2017 image. The SSD has moved to a newer laptop in 2019 with minor adjustments to the EFI boot and wireless config.

@0323pin
Copy link
Collaborator Author

0323pin commented Jan 16, 2023

Should we close this?

@woelper
Copy link
Owner

woelper commented Jan 18, 2023

yes!

@woelper woelper closed this as completed Jan 18, 2023
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

2 participants