Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2010-10

libtinfo issue

23 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Felipe Monteiro de Carvalho

Hello,

About this bug tracker item:

http://bugs.freepascal.org/view.php?id=9734

It seams impossible to install the Free Pascal RPM and use the PCLinuxOS package manager (apt-get + Synaptic). FPC can only be installed with --nodeps because it depends on a libtinfo file which doesn't exist in this distro and Synaptic removes all broken packages when you update or install anything, a behavior which can't be avoided. So Synaptic removes FPC in *any* packages change.

thanks,

Felipe Monteiro de Carvalho

Reply by email

Marco van de Voort
to Felipe Monteiro de Carvalho

In our previous episode, Felipe Monteiro de Carvalho said:

Show quoted text 6 lines
It seams impossible to install the Free Pascal RPM and use the PCLinuxOS package manager (apt-get + Synaptic). FPC can only be installed with --nodeps because it depends on a libtinfo file which doesn't exist in this distro and Synaptic removes all broken packages when you update or install anything, a behavior which can't be avoided. So Synaptic removes FPC in *any* packages change.

I think package builders for non fedora rpms are welcome.

Reply by email

Joost van der Sluis
to Felipe Monteiro de Carvalho: Is there a no-brainer guide for building the rpms? Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote
Is there a no-brainer guide for building the rpms?

Here:

http://wiki.freepascal.org/Release_engineering#Linux

Basically: export the svn-source, add the libgdb archive and do 'make rpm'.

You need to have the rpm-buildtools for your system installed, though. The default spec-file (used for building the rpm, in fpcbuild/install/fpc.spec) comes without any dependencies, but some will be added by the rpmbuild system automatically. (Like on Fedora)

Joost.

Reply by email

Felipe Monteiro de Carvalho
to Joost van der Sluis

Hello,

Some issues with the instructions. So the commands should be:

svn export http://svn.freepascal.org/svn/fpcbuild/tags/release_2_4_2 fpc242 mkdir fpc242/fpcsrc
cd fpc242/fpcsrc
unzip gdb....zip

Change into fpcbuild/. Now become root, or use fakeroot, then execute

install/makepack

???

should this be:
make install
make makepack
?

Will it install the new compiler overriding my fpc 2.4.0 ?

Plus, which packages brings TeX in fedora? Here in Mandriva there are zillions of packages with TeX and I have no idea which one is the correct one.

thanks,

Felipe Monteiro de Carvalho

Reply by email

Joost van der Sluis
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote
Some issues with the instructions. So the commands should be:

?

No? It should be (as in the document):

svn export http://svn.freepascal.org/svn/fpcbuild/tags/release_2_4_2 fpcbuild

mkdir fpc242/fpcsrc

?!?HUH?!?! No, just follow the instructions. It will make a directory fpcbuild/fpcsrc

cd fpc242/fpcsrc

No: fpcbuild/fpcsrc

unzip gdb....zip

Yes. Don't forget the docs-pdf.tar.gz.

Show quoted text 8 lines
> Change into fpcbuild/. Now become root, or use fakeroot, then execute install/makepack ??? should this be: make install make makepack

No, just 'install/makepack'. What's so difficult following the instructions? It's really a no-brainer. So that's what you should not do: think. Just follow the instructions, don't think you know what to do better.

Will it install the new compiler overriding my fpc 2.4.0 ?

No. It will build a release, not install it.

Plus, which packages brings TeX in fedora? Here in Mandriva there are zillions of packages with TeX and I have no idea which one is the correct one.

You don't need these packages to build a .tar release. Only if you build a .rpm or .deb release. (Also mentioned in the document, at least for rpm, I don't do the .deb building)

And which packages you need depends on your distribution. On Fedora I need tetex, tetex-latex and tetex-fonts.

Joost.

Reply by email

Felipe Monteiro de Carvalho
to Joost van der Sluis
Joost van der Sluis wrote
> mkdir fpc242/fpcsrc ?!?HUH?!?! No, just follow the instructions. It will make a directory fpcbuild/fpcsrc

??? Why such a big deal? The directory name should be irrelevant.

Anyway, I changed to fpcbuild now.

No, just 'install/makepack'. What's so difficult following the instructions? It's really a no-brainer. So that's what you should not do: think. Just follow the instructions, don't think you know what to do better.

Some times people use the slash to abreviate the real command. It looked a very unusual bash command to me, so I didn't think it was an actual bash command.

But now I see that it will execute the executable makepack inside the folder install.

But this was the wrong command to do, since the subject is about building the RPMs.

By the way, where can I get the docs-pdf package for FPC 2.4.2?

And which packages you need depends on your distribution. On Fedora I need tetex, tetex-latex and tetex-fonts.

thanks, I installed tetex and friends, and tryed to use the docs-pdf from fpc 2.4.0 to test if "make rpm" works, but tetex gives all kinds of errors:

LaTeX Warning: Reference `rtl:oldlinux:pclose' on page 947 undefined on input l ine 65338.

(./olinuxex/ex37.pp
Overfull \hbox (10.05418pt too wide) in paragraph at lines 27--28 [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] ) [947]

LaTeX Warning: Reference `rtl:oldlinux:opendir' on page 948 undefined on input line 65356.

LaTeX Warning: Reference `rtl:oldlinux:closedir' on page 948 undefined on input line 65360.

LaTeX Warning: Reference `rtl:oldlinux:opendir' on page 948 undefined on input line 65361.

LaTeX Warning: Reference `rtl:oldlinux:seekdir' on page 948 undefined on input line 65362.

LaTeX Warning: Reference `rtl:oldlinux:telldir' on page 948 undefined on input line 65363.
Overfull \hbox (34.15001pt too wide) in paragraph at lines 65375--65375 []\T1/pcr/m/n/10 function ReadLink(name: pchar;linkname: pchar;maxlen: LongInt) : LongInt[]

Overfull \hbox (11.417pt too wide) in paragraph at lines 65384--65385 []\T1/ptm/m/n/10 On er-ror, the first form of the func-tion re-turns -1; the se c-ond one re-turns an empty string. \T1/pcr/m/n/10 LinuxError

LaTeX Warning: Reference `rtl:oldlinux:symlink' on page 948 undefined on input line 65407.

(./olinuxex/ex62.pp [948])

! LaTeX Error: Too deeply nested.

See the LaTeX manual or LaTeX Companion for explanation. Type H <return> for immediate help.
...

l.65466 \begin{FPCList}

^Cmake[1]: *** Deleting file `rtl.pdf'
! Interruption.
\GenericError ...
\endgroup
l.65466 \begin{FPCList}

? make: *** [rpmbuild] Interrupt

fpcbuild]$

Felipe Monteiro de Carvalho

Reply by email

Joost van der Sluis
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote 9 lines
On Mon, Nov 8, 2010 at 11:26 AM, Joost van der Sluis wrote: >> mkdir fpc242/fpcsrc > > ?!?HUH?!?! No, just follow the instructions. It will make a directory > fpcbuild/fpcsrc ??? Why such a big deal? The directory name should be irrelevant. Anyway, I changed to fpcbuild now.

That wasn't the only thing. You created some directory yourself. And stated that the directions were incorrect.

thanks, I installed tetex and friends, and tryed to use the docs-pdf from fpc 2.4.0 to test if "make rpm" works, but tetex gives all kinds of errors:

You don't need the docs-pdf for the rpm. But you can find them as soon as fpc 2.4.2 is actually released. ;)

Show quoted text 54 lines
LaTeX Warning: Reference `rtl:oldlinux:pclose' on page 947 undefined on input l ine 65338. (./olinuxex/ex37.pp Overfull \hbox (10.05418pt too wide) in paragraph at lines 27--28 [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] ) [947] LaTeX Warning: Reference `rtl:oldlinux:opendir' on page 948 undefined on input line 65356. LaTeX Warning: Reference `rtl:oldlinux:closedir' on page 948 undefined on input line 65360. LaTeX Warning: Reference `rtl:oldlinux:opendir' on page 948 undefined on input line 65361. LaTeX Warning: Reference `rtl:oldlinux:seekdir' on page 948 undefined on input line 65362. LaTeX Warning: Reference `rtl:oldlinux:telldir' on page 948 undefined on input line 65363. Overfull \hbox (34.15001pt too wide) in paragraph at lines 65375--65375 []\T1/pcr/m/n/10 function ReadLink(name: pchar;linkname: pchar;maxlen: LongInt) : LongInt[] Overfull \hbox (11.417pt too wide) in paragraph at lines 65384--65385 []\T1/ptm/m/n/10 On er-ror, the first form of the func-tion re-turns -1; the se c-ond one re-turns an empty string. \T1/pcr/m/n/10 LinuxError LaTeX Warning: Reference `rtl:oldlinux:symlink' on page 948 undefined on input line 65407. (./olinuxex/ex62.pp [948]) ! LaTeX Error: Too deeply nested. See the LaTeX manual or LaTeX Companion for explanation. Type H <return> for immediate help. ... l.65466 \begin{FPCList} ^Cmake[1]: *** Deleting file `rtl.pdf' ! Interruption. \GenericError ... \endgroup l.65466 \begin{FPCList} ? make: *** [rpmbuild] Interrupt

I think you used 2.4.2rc1? That won't work, you need 2.4.2. (didn't check, but Marco told me he did merge the relevant revision)

Joost.

Reply by email

Felipe Monteiro de Carvalho
to Joost van der Sluis
Joost van der Sluis wrote
That wasn't the only thing. You created some directory yourself. And stated that the directions were incorrect.

I didn't say they were wrong. I didn't understand the instructions and asked for clarification. As already mentioned that command was unusual for me.

You don't need the docs-pdf for the rpm. But you can find them as soon as fpc 2.4.2 is actually released. ;)

Yes, but I am building the release Mandriva RPMs (which maybe can also be used for SuSE, PCLinuxOS, etc). I suppose I can't build the release RPMs without docs.

And waiting for the fpc 2.4.2 to get the docs would make the Mandriva RPMs arrive with a delay in comparison to the rest of the files.

thanks,

Felipe Monteiro de Carvalho

Reply by email

Joost van der Sluis
to Felipe Monteiro de Carvalho: I didn't say they were wrong. I didn't understand the instructions and asked for…
Felipe Monteiro de Carvalho wrote 14 lines
On Mon, Nov 8, 2010 at 1:27 PM, Joost van der Sluis wrote: > That wasn't the only thing. You created some directory yourself. And > stated that the directions were incorrect. I didn't say they were wrong. I didn't understand the instructions and asked for clarification. As already mentioned that command was unusual for me. > You don't need the docs-pdf for the rpm. But you can find them as soon > as fpc 2.4.2 is actually released. ;) Yes, but I am building the release Mandriva RPMs (which maybe can also be used for SuSE, PCLinuxOS, etc). I suppose I can't build the release RPMs without docs.

I could send them to you, but you don't need them for the .rpm building.

Joost.

Reply by email

Felipe Monteiro de Carvalho
to Joost van der Sluis

Hello,

Joost van der Sluis wrote
I could send them to you, but you don't need them for the .rpm building.

Ok, so I have generated the rpm with:

make rpm NODOCS=1

=D \o/

where should I upload the rpms now? Should I upload both src.rpm and i386? Should they be renamed to something like fpc-mandriva ?

It installs fine, without the tinfo issue. Building Lazarus works perfectly. Generics seam to be working (although I didn't test extensively)

bye,

Felipe Monteiro de Carvalho

Reply by email

Joost van der Sluis
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote 6 lines
On Mon, Nov 8, 2010 at 1:54 PM, Joost van der Sluis wrote: > I could send them to you, but you don't need them for the .rpm building. Ok, so I have generated the rpm with: make rpm NODOCS=1

That was strictly not necessary. You can build a RPM with docs without the documentation-tarfile.

where should I upload the rpms now?

Ehm... If you have access to scenergy, upload them there. (/FPC/ftp/dist/2.4.2)

Should I upload both src.rpm and i386? Should they be renamed to something like fpc-mandriva ?

Ehm... I would say they should have the same name, but placed in another folder. But maybe it's indeed better to change the release-tag, so it includes mandriva.

To do that, edit install/fpc.spec, and replace %RELEASE% on top with "1.mandriva". (No quotes, the one and the dot are important, though)

Then try to rebuild the RPM. I hope that helps.

It installs fine, without the tinfo issue. Building Lazarus works perfectly. Generics seam to be working (although I didn't test extensively)

What you should also test is debugging using the text-mode ide.

Joost.

Reply by email

Joost van der Sluis
to Felipe Monteiro de Carvalho: ??? Why such a big deal? The directory name should be irrelevant. Anyway, I changed to…
Felipe Monteiro de Carvalho wrote 24 lines
On Mon, Nov 8, 2010 at 11:26 AM, Joost van der Sluis wrote: LaTeX Warning: Reference `rtl:oldlinux:symlink' on page 948 undefined on input line 65407. (./olinuxex/ex62.pp [948]) ! LaTeX Error: Too deeply nested. See the LaTeX manual or LaTeX Companion for explanation. Type H <return> for immediate help. ... l.65466 \begin{FPCList} ^Cmake[1]: *** Deleting file `rtl.pdf' ! Interruption. \GenericError ... \endgroup l.65466 \begin{FPCList} ? make: *** [rpmbuild] Interrupt fpcbuild]$

Hmm... r15671 which fixes this issue, is not merged to the release.

So to fix this, you have to apply r15671 from trunk to fpcsrc, before you build the rpm. (I did so for the Fedora rpm's)

Joost.

Reply by email

Joost van der Sluis
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote 11 lines
On Thu, Nov 18, 2010 at 10:39 AM, Felipe Monteiro de Carvalho wrote: > cd fpcbuild/fpcsrc > svn merge -r 15670:15671 http://svn.freepascal.org/svn/fpc/trunk/ > > Is this correct? No, that doesn't work because fpcsrc is not a working copy =( So I just applied the fix manually since it is very simple: http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/utils/fpdoc/dwlinear.pp?r1=15671&r2=15670&pathrev=15671

Indeed.

Joost.

Reply by email

Felipe Monteiro de Carvalho
to Felipe Monteiro de Carvalho: On Thu, Nov 18, 2010 at 10:39 AM, Felipe Monteiro de Carvalho No, that doesn't work…

Now it builds the docs, but then it fails to build the RPM =(

Processing files: fpc-2.4.2-1
Finding Provides: /usr/lib/rpm/mandriva/filter.sh ' ' ' ' '/home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386' /usr/lib/rpm/mandriva/find-provides
Finding Requires: /usr/lib/rpm/mandriva/filter.sh ' ' ' ' '/home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386' /usr/lib/rpm/mandriva/find-requires
/home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386 i586
Requires(interp): /bin/sh
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires(post): /bin/sh
Requires: bash libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2.3) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libm.so.6 libm.so.6(GLIBC_2.0) libncurses.so.5 Processing files: fpc-debug-2.4.2-1
Processing files: fpc-docs-2.4.2-1
error: File not found:
/home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386/usr/share/doc/fpc-2.4.2/examples error: File not found by glob:
/home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386/usr/share/doc/fpc-2.4.2/examples/*

RPM build errors:
File not found:
/home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386/usr/share/doc/fpc-2.4.2/examples File not found by glob:
/home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386/usr/share/doc/fpc-2.4.2/examples/*

I am thinking about giving up the docs and uploading only the basic RPM. The docs are in a separate RPM from what I understood and they should be compatible across distros.

Felipe Monteiro de Carvalho

Reply by email

Marco van de Voort
to Felipe Monteiro de Carvalho: On Thu, Nov 18, 2010 at 10:39 AM, Felipe Monteiro de Carvalho No, that doesn't work…

In our previous episode, Felipe Monteiro de Carvalho said:

Show quoted text 11 lines
> cd fpcbuild/fpcsrc > svn merge -r 15670:15671 http://svn.freepascal.org/svn/fpc/trunk/ > > Is this correct? No, that doesn't work because fpcsrc is not a working copy =( So I just applied the fix manually since it is very simple: http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/utils/fpdoc/dwlinear.pp?r1=15671&r2=15670&pathrev=15671 building now =)

I merged all fpdoc fixes to 2.4.3 yesterday.

Reply by email

Felipe Monteiro de Carvalho
to Felipe Monteiro de Carvalho

Ah, I forgot to add the requires list:

Requires: bash libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2.3) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libm.so.6 libm.so.6(GLIBC_2.0) libncurses.so.5

As one can see, no libtinfo =)

Felipe Monteiro de Carvalho

Reply by email

Joost van der Sluis
to Felipe Monteiro de Carvalho: Now it builds the docs, but then it fails to build the RPM =( Processing files:…
Felipe Monteiro de Carvalho wrote 36 lines
Now it builds the docs, but then it fails to build the RPM =( Processing files: fpc-2.4.2-1 Finding Provides: /usr/lib/rpm/mandriva/filter.sh ' ' ' ' '/home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386' /usr/lib/rpm/mandriva/find-provides Finding Requires: /usr/lib/rpm/mandriva/filter.sh ' ' ' ' '/home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386' /usr/lib/rpm/mandriva/find-requires /home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386 i586 Requires(interp): /bin/sh Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 Requires(post): /bin/sh Requires: bash libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2.3) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libm.so.6 libm.so.6(GLIBC_2.0) libncurses.so.5 Processing files: fpc-debug-2.4.2-1 Processing files: fpc-docs-2.4.2-1 error: File not found: /home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386/usr/share/doc/fpc-2.4.2/examples error: File not found by glob: /home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386/usr/share/doc/fpc-2.4.2/examples/* RPM build errors: File not found: /home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386/usr/share/doc/fpc-2.4.2/examples File not found by glob: /home/felipe/Programas/fpcbuild/build/rpm/BUILDROOT/fpc-2.4.2-1.i386/usr/share/doc/fpc-2.4.2/examples/* I am thinking about giving up the docs and uploading only the basic RPM. The docs are in a separate RPM from what I understood and they should be compatible across distros.

Yes, I know. Issue is that this is actually your fault. ;) I've tried to fix the building of an rpm with NODOC=1, which you used before. But at the same time I broke the building of the rpm with the docs...

I need someone with more bash/makefile/unix-scripting knowledge then me to fix this.

Issue is this:
I use "if [ -z ${NODOCS} ]; then" to detect if NODOCS=1 is specified. But now I also need the opposite. I tried this: "if [! -z ${NODOCS} ]; then" but that does not work. Also replacing -z with -n didn't do the trick. Anybody knows?

(It's in install/fpc.spec)

Joost

Reply by email