compiling hjælp newbie (LØST)

jenss
Antal: 203
Tilmeldt:
03-08-2007
User is offline
compiling hjælp newbie (LØST)

Hej!
Er der nogen der vil give mig et skub i den rigtige retning :)
Jeg er sådan en halvgammel fætter der er meget glad for nogle gamle dos-programmer, jeg kører i DosBox.
Problemet er at jeg har et enkelt program der kun kan udskrive til en parallel printerport, derfor er den ordinære version ikke hel optimal da der ikke er printerstøtte i den. Det har DosBox Megabuild men den skal man selv compile.
Jeg mener at jeg ren faktisk har prøvet at compile med held en gang før med en madwifi driver, men denne gang driller det.
Hvad der står her http://www.tuxfiles.org/linuxhelp/softinstall.html er stort set hvad jeg bl.a. også gjorde med madwifi driveren.
Forkortet mener jeg ind til nu at have gjort følgende:
Installeret build-essentiels på systemet
Hentet Dosbox Megabuild source code (Linux line endings) og udpakket den
I terminalen gået ind i den udpakkede mappe (med COPYING INSTALL etc. filerne)
Her går det så galt.
Jeg har bl.a. prøvet:
1) ./configure (som tuxfiles og andre siger) => "No such file or directory"
2) ./configure.in (da der ligger en fil der hedder sådan i mappen) => "Command not found"
3) I filen INSTALL, er der et afsnit "For building on unix systems":
If you are building from the cvs ./autogen,sh first before doing the following: 1. ./configure 2. make
Det har jeg prøvet med og uden sudo med følgende fejlmeddelelser:
./autogen.sh: 8 .autogen.sh aclocal: not found
./autogen.sh: 9 .autogen.sh autoheader: not found
./autogen.sh: 10 .autogen.sh automakel: not found
./autogen.sh: 11 .autogen.sh autoconf: not found

Jeg "leger" i en vituelt maskine med xubuntu 12.04 "Voyager.
Det synes som om folk ellers først får problemer når de kommer til make, men den mur når jeg altså ikke at ramme.

Jeg har også prøvet noget færdigt fra ham her: http://ykhwong.x-y.net/, men der mangler der en fil der hedder libphysfs.so.1. Dem har jeg fundet på noget der hedder rpmfind.net og lagt filer ind i lib og usr/lib. Det hjalp ikke.

Sorry hvis det er lidt langt og rodet - det skinner nok lidt igennem at jeg ikke fatter halvdelen af hvad jeg laver.

EDIT:
Du finder en udførlig gennemgang med hvordan jeg løste det her:
http://linuxin.dk/node/20258


mjjzf
mjjzf's picture
Antal: 1595
Tilmeldt:
25-12-2007
User is offline
Installer autotools og

Installer autotools og automake - så skulle du være på vej.


Tukanfan
Tukanfan's picture
Antal: 114
Tilmeldt:
29-09-2010
User is offline
Build-essentials

Jeg mener at kunne huske, at man i Ubuntu-baserede distributioner kan skrive følgende i terminalen:

apt-get install build-essentials

hvormed de værktøjer der er nødvendige for at kunne compile, installeres.


jenss
jenss's picture
Antal: 203
Tilmeldt:
03-08-2007
User is offline
Tak for svar, auto* var lige

Tak for svar, auto* var lige det jeg skulle kigge efter (build-essential brugte jeg sidste gang 4 timer på at opdage - så den havde jeg, men ellers tak :)
Må jeg bede om et råd mere?
Jeg har fundet ud af at tilføje et par manglende biblioteker og tilføje en linje der angiveligt manglede i nogle *.cpp filer. Nu er jeg kommet helt frem til at kunne køre make proceduren (vist nok) 50% igennem før den støder på noget rod og stopper. De sidste linjer ser sådan ud:

make[3]: Leaving directory `/home/skovgaard/Hentede filer/DosBox6/dosbox-mb6/src/platform'
make[3]: Entering directory `/home/skovgaard/Hentede filer/DosBox6/dosbox-mb6/src'
g++ -DHAVE_CONFIG_H -I. -I..  -I../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -g -O2  -I/usr/include/freetype2 -MT dosbox.o -MD -MP -MF .deps/dosbox.Tpo -c -o dosbox.o dosbox.cpp
mv -f .deps/dosbox.Tpo .deps/dosbox.Po
g++  -g -O2  -I/usr/include/freetype2   -o dosbox dosbox.o  cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a  hardware/libhardware.a gui/libgui.a ints/libints.a misc/libmisc.a shell/libshell.a hardware/serialport/libserial.a hardware/parport/libparallel.a libs/gui_tk/libgui_tk.a libs/porttalk/libporttalk.a  -lSDL_sound -lasound -lm -ldl -lpthread -L/usr/lib/x86_64-linux-gnu -lSDL -lpng -lz -L/usr/lib/x86_64-linux-gnu -lfreetype -lz -lSDL_net -lX11 -lGL
cpu/libcpu.a(core_dynrec.o): In function `MakeCodePage':
/home/skovgaard/Hentede filer/DosBox6/dosbox-mb6/src/cpu/core_dynrec/decoder_basic.h:144: undefined reference to `PAGING_ForcePageInit(unsigned long)'
collect2: ld returned 1 exit status
make[3]: *** [dosbox] Error 1
make[3]: Leaving directory `/home/skovgaard/Hentede filer/DosBox6/dosbox-mb6/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/skovgaard/Hentede filer/DosBox6/dosbox-mb6/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/skovgaard/Hentede filer/DosBox6/dosbox-mb6'
make: *** [all] Error 2
┌─( skovgaard ) - ( 3.2.0-23-generic ) - ( ~/Hentede filer/DosBox6/dosbox-mb6 )
└─>

Er det noget jeg vil brække halsen på eller er det fuldstændig logisk og let "lige" at rette til med et par aftener og nætter mere foran skærmen?


thorbjørntux
thorbjørntux's picture
Antal: 705
Tilmeldt:
30-04-2007
User is offline
Det er en (program) fejl ...

Den kan ikke linke. Du kan prøve at se her. Det påstås at det sker pga 64-bit.
De 'løser' det ved at undgå at kalde funktionen. Dette er naturligvis ikke en god løsning, men spørgsmålet er om du overhovedet kommer ud i kode, der rammer den pågældende funktion.
(Måske er det bedst bare at kompilere i 32-bit - evt ved at sætte en virtual maskine (f.eks. VirtualBox) op)

http://vogons.zetafleet.com/viewtopic.php?t=25007&...

Qt Approver - www.qt-project.org


mich
mich's picture
Antal: 1156
Tilmeldt:
13-10-2007
User is offline
Jeg er sådan en

#0: Jeg er sådan en halvgammel fætter der er meget glad for nogle gamle dos-programmer, jeg kører i DosBox.
Problemet er at jeg har et enkelt program der kun kan udskrive til en parallel printerport, derfor er den ordinære version ikke hel optimal da der ikke er printerstøtte i den.

Jeg har tidligere brugt Qemu med FreeDOS til et DOS-program, der krævede adgang til parallelporten, og det fungerede uden problemer. Programmet var hardcoded med de originale DOS portadresser, men fungerede fint selv om jeg benyttede en PC-Card printerportadapter.


jenss
jenss's picture
Antal: 203
Tilmeldt:
03-08-2007
User is offline
TAK!

@thorbjørntux
Tusind tak. Det er nu lykkes mig både at lave en 32-bit version og en 64-bit, der begge virker!

@mich
Jeg har faktisk også forsøgt det du foreslår, men FreeDos har ikke været særlig glad for mig, og egentlig har jeg mest været interesseret i at udskrifterne blev fanget ned i en fil jeg kunne smide over i LibreOffice. Jeg har ind til nu holdt liv i en pc med OS/2 (har jeg også forsøgt uden held at få ind i Qemu) hvor man alle dage har kunnet fange udskrifterne på vej til printeren. Hvis DosBox med printersupport er næste lige så stabil som den "originale" DosBox, så er kun kassen med OS/2 manualerne tilbage som nostalgisk pyntenibs :)

Jeg har sammenskrevet en vejledning, jeg lagde ind som Artiklel. Jeg ved ikke om den forsvandt eller om sådan noget skal godkendes? Nu venter jeg lige til i morgen med at lægge den ud som et indlæg, men indledningen kom ikke med:
Hej!
Jeg er et meget glad menneske der har fået min DosBox med printersupoort til at køre med hjælp fra hvad jeg formoder er nogle af de tunge herre herinde i denne tråd http://www.linuxin.dk/node/20257 :)
Jeg tænkte at der måske var et eller måske lidt heldigt to mennesker i vort sprog-område der har samme mærkelige tilknytningsforhold til nogle af sine gamle dos-programmer.
Hvis denne ene eller to mener at havde fundet en fejl, eller noget der kunne forbedres, må I meget gerne give lyd så retter jeg det - Eller sletter hele møget hvis de andre 99,9% mener at det er noget makværk. Jeg kan tag det - næsten...


mrbrown79
Antal: 470
Tilmeldt:
12-01-2010
User is offline
Sorry hvis det er lidt

#0: Sorry hvis det er lidt langt og rodet - det skinner nok lidt igennem at jeg ikke fatter halvdelen af hvad jeg laver.

Under alle omstændigheder er det herligt, at du opretholder et fornemt dokumentationsniveau - både overfor dem, som vil hjælpe og overfor dem, som måtte søge informationen fremover. Mange kunne lære noget af den tilgangsform.

Og vejledning oveni købet! Godt arbejde dér :-)