Package Details: dosemu2-git

Git Clone URL: (read-only, click to copy)
Package Base: dosemu2-git
Description: Virtual machine that allows you to run DOS programs under Linux
Upstream URL:
Keywords: DOS emulator machine virtual
Licenses: GPL, custom
Conflicts: dosemu, dosemu2
Provides: dosemu, dosemu2
Submitter: felix.s
Maintainer: severach
Last Packager: severach
Votes: 6
Popularity: 0.78
First Submitted: 2016-05-22 20:11 (UTC)
Last Updated: 2023-09-22 19:14 (UTC)

Latest Comments

1 2 3 4 Next › Last »

dreieck commented on 2023-09-23 09:46 (UTC) (edited on 2023-09-23 12:12 (UTC) by dreieck)

That bash error …

Sorry, echo "${}", which is literally in the PKGBUILD, is invalid bash code. That needs to be adapted anyway -- if you want package() to exit cleanly with an error then use return n with n>0, and print an error message before.

For example, replace
test -d "${pkgdir}/usr/local" && echo "${}"

if [ -d "${pkgdir}/usr/local" ]; then
  error "\${pkgdir}/usr/local is present. Try rebuilding with 'makepkg -cC'. Aborting."
  return 22

If you just wanted to print something and not to abort, you need to replace "${}" with some valid content.

That error is detecting that /usr/local is present.

More specifically, it is detecting that ${pkgdir}/usr/local/ is present.

By the way, why is this needed? Do the dosemu2 install routines sometimes install stuff into $DESTDIR/usr/local/, and it is not easy to handle it cleanly, so an abort and clean rebuild is the better way?

Try makepkg -scCfi.

Have deleted complete content of $BUILDDIR/ and $SRCDEST/ and $PKGDEST/ before.
Thanks :-).

severach commented on 2023-09-22 19:13 (UTC)

That bash error is one of the few that shows the line number so I know right away where the error is from your post. That error is detecting that /usr/local is present. Try makepkg -scCfi.

dreieck commented on 2023-09-22 18:03 (UTC) (edited on 2023-09-23 12:13 (UTC) by dreieck)

package() (run with makepkg -sfi) fails with a bash bad substitution error:

==> Starting package()...
---------------------------------DONE Installing-------------------------------

  - You can type 'dosemu' to run DOSEMU2.
make[1]: Leaving directory '/tmp/makepkg/build/dosemu2-git/src/dosemu2/src'
/tmp/makepkg/yay/dosemu2-git/PKGBUILD: line 497: ${}: bad substitution

In line 497 of the PKGBUILD there is echo "${}", which makes bash fail.


dreieck commented on 2023-09-22 17:58 (UTC)

Actually, you now have fdpp>=1.6 as versioned dependency, but that does not suffice:

configure: error: fdpp not available!

fdpp>=1.6+170 does suffice. (fdpp-git is currently at version 1.7.r1443.)


dreieck commented on 2023-07-25 16:54 (UTC)

This and this issue resolve by having fdpp-git installed.

Maybe you change the dependency on fdpp to a versioned dependency (fdpp>=1.6+170 currently)?


dreieck commented on 2023-07-24 14:18 (UTC)

Fails to build for me with #error wrong fdpp version and subsequent errors:

==> Starting build()...
fdpp.c:26:2: error: #error wrong fdpp version
   26 | #error wrong fdpp version
      |  ^~~~~
boot.c:28:2: error: #error wrong bprm version
   28 | #error wrong bprm version
      |  ^~~~~
boot.c: In function ‘fdpp_boot’:
boot.c:50:9: error: ‘struct _bprm’ has no member named ‘BprmVersion’
   50 |     bprm.BprmVersion = BPRM_SUPP_VER;
      |         ^
boot.c:53:9: error: ‘struct _bprm’ has no member named ‘XtraSeg’
   53 |     bprm.XtraSeg = bpseg;
      |         ^
fdpp.c:190:18: warning: initialization of ‘void (*)(void)’ from incompatible pointer type ‘int (*)(void)’ [-Wincompatible-pointer-types]
  190 |     .cpu_relax = fdpp_relax,
      |                  ^~~~~~~~~~
boot.c:62:23: error: ‘FDPP_FL_HEAP_HMA’ undeclared (first use in this function); did you mean ‘FDPP_FL_HEAP_HIGH’?
   62 |         bprm.Flags |= FDPP_FL_HEAP_HMA;
      |                       ^~~~~~~~~~~~~~~~
      |                       FDPP_FL_HEAP_HIGH
boot.c:62:23: note: each undeclared identifier is reported only once for each function it appears in
fdpp.c:190:18: note: (near initialization for ‘api.cpu_relax’)
boot.c:72:13: error: invalid use of undefined type ‘struct _bprm_xtra’
   72 |         xtra->BootDrvNum = (config.drive_c_num & 0x7f) + 2;
      |             ^~
boot.c:75:13: error: invalid use of undefined type ‘struct _bprm_xtra’
   75 |         xtra->BootDrvNum = 2;
      |             ^~
make[2]: *** [/home/[...]/.cache/yay/dosemu2-git/src/dosemu2/src/ fdpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
boot.c:190:26: error: invalid use of undefined type ‘struct _bprm_xtra’
  190 |     add_syscom_user(&xtra->BootDrvNum);
      |                          ^~
boot.c: In function ‘fdpp_boot_xtra_space’:
boot.c:205:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct _bprm_xtra’
  205 |     return sizeof(struct _bprm_xtra);
      |                   ^~~~~~
boot.c:206:1: warning: control reaches end of non-void function [-Wreturn-type]
  206 | }
      | ^
hooks.c: In function ‘fdpp_ctrl’:
hooks.c:70:11: warning: implicit declaration of function ‘FdppCtrl’; did you mean ‘fdpp_ctrl’? [-Wimplicit-function-declaration]
   70 |     err = FdppCtrl(idx, &REGS);
      |           ^~~~~~~~
      |           fdpp_ctrl
hooks.c:70:11: warning: nested extern declaration of ‘FdppCtrl’ [-Wnested-externs]
make[2]: *** [/home/[...]/.cache/yay/dosemu2-git/src/dosemu2/src/ boot.o] Error 1
hooks.c: In function ‘fdpp_pre_boot’:
hooks.c:165:5: warning: implicit declaration of function ‘FdppKernelFree’; did you mean ‘FdppKernelLoad’? [-Wimplicit-function-declaration]
  165 |     FdppKernelFree(hndl);
      |     ^~~~~~~~~~~~~~
      |     FdppKernelLoad
hooks.c:165:5: warning: nested extern declaration of ‘FdppKernelFree’ [-Wnested-externs]
vde.c: In function ‘open_thread’:
vde.c:201:11: warning: passing argument 1 of ‘vde_open_real’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  201 |     vde = vde_open(name, name2, NULL);
      |           ^~~~~~~~
In file included from vde.c:31:
/usr/include/libvdeplug.h:48:30: note: expected ‘char *’ but argument is of type ‘const char *’
   48 | VDECONN *vde_open_real(char *vde_switch,char *descr,int interface_version,
      |                        ~~~~~~^~~~~~~~~~
vde.c: In function ‘CloseNetworkLinkVde’:
vde.c:227:5: warning: implicit declaration of function ‘remove_from_io_select’ [-Wimplicit-function-declaration]
  227 |     remove_from_io_select(pkt_fd);
      |     ^~~~~~~~~~~~~~~~~~~~~
vde.c:227:5: warning: nested extern declaration of ‘remove_from_io_select’ [-Wnested-externs]
make[1]: *** [/home/[...]/.cache/yay/dosemu2-git/src/dosemu2/src/arch/linux/Makefile.main:115: plugin/fdpp] Error 2
make[1]: *** Waiting for unfinished jobs....
/usr/bin/ld: vde.o: in function `start_vde':
/home/[...]/.cache/yay/dosemu2-git/src/dosemu2/src/plugin/vde/vde.c:59: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
make: *** [Makefile:30: default] Error 2
==> ERROR: A failure occurred in build().


severach commented on 2022-12-08 17:25 (UTC)

Build the git version in fdpp/PKGBUILD. You can also disable fdpp and use freedos.

mikearch commented on 2022-12-07 21:04 (UTC)

It fails on the build now. Seems to expect another fdpp version?

mikearch commented on 2022-12-05 12:30 (UTC) (edited on 2022-12-05 13:35 (UTC) by mikearch)

I can't find any other download links for dosemu-freedos-1.1-bin.tgz. Does anybody have a backup they can upload?