pdftk compiling problems on FreeBSD

Sid Steward ssteward at AccessPDF.com
Thu Mar 18 00:27:02 PST 2004


Patrick-

That will be an easy upstream change for me to make. I will update the
Makefiles and upload a new tarball for you. I see you need "CXX" instead
of hardcoded "g++". How about "GCJ" and "GCJH" instead of hardcoded
"gcj" and "gcjh"? That appears to be the common convetion. Are there any
other macros I should add?

I can also add a FreeBSD Makefile ("Makefile.FreeBSD") to my new
tarball, based on your notes and the new macros.

Thanks-

Sid

Patrick Dung wrote:
> Thank you.
>  
> I am now making the files the the ports.
> It can now fetch the tarball from the pdftk website.
> I am fighting with the Makefile.
>  
> Now I have encountered one problem. My machine is a FreeBSD 4.9.
> It does not have gcj and gcjh (gcc 3.x stuff). After installing the gcc33 port, gcc33, g++33, gcj33, gcjh33 are created.
> The problem is that the Makefiles in the pdftk tarball hardcoded to use the name of the binaries (e.g., g++, gcj, gcjh) instead of macros.
> The number of Makefiles is not small, I think I would be silly to make many patch files for them.
>  
> Regards
> Patrick
> 
> Oliver Eikemeier <eikemeier at fillmore-labs.com> wrote: Sid Steward wrote:
> 
> 
>>Patrick-
>>
>>Thank you for your work. I'll add your FreeBSD Makefile and notes to the
>>next release of pdftk.
>>
>>Thanks for the suggestions, too. I'll work them in.
>>
>>Sid
>>
>>Patrick Dung wrote:
>>
>>
>>>...
>>>
>>>FreeBSD 4.9 uses gcc 2.95.4 as system compiler.
>>>So I install the gcc33 inorder to use the gcj.
>>># pkgadd -r gcc33
>>># cd /usr/local/bin/gcj33
>>># ln -s gcj33 gcj
>>># ln -s gcjh33 gcjh
>>>
>>>Changes to Makefile.Base :
>>>Change g++ to g++33
>>>
>>>Create Makefile.FreeBSD :
>>># general-purpose options
>>>CC_OPTS= -lgcj -O2 -I/usr/local/include -L/usr/local/lib -pthread
>>
>>-liconv -lz
>>
>>
>>># Not related, only g++ is used?
>>>CC = gcc33
>>># Does not work as expected (I have to change g++ to g++33 in
>>
>>Makefile.Base)
>>
>>
>>>CXX = g++33
>>>#
>>>include Makefile.Base
>>>
>>>If -pthread is not added, it will have problem when compiling with the
>>
>>gcc3.3.x compiler.
>>
>>
>>>Do the 'gmake -f Makefile.FreeBSD' and it compiles cleanly.
>>>And the program works fine.
> 
> 
> For a port you would use
> 
> USE_GCC=3.3
> 
> which will install gcc and set CC=gcc33 CXX=g++33 automatically. Also
> 
> USE_GMAKE
> 
> tells the port to use gmake for building. If you you Makefile has a
> non-standard name, use MAKEFILE=Makefile.FreeBSD (actually a bug, it
> should be MAKE_FILE). -pthread should be PTHREAD_CFLAGS and PTHREAD_LIBS.
> 
> Some more variables can be found in /usr/ports/Mk/bsd.port.mk.
> 
> Regards
> Oliver
> 


More information about the freebsd-ports mailing list